Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2012, 15:52   #1
Dixion
Заблокирован
 
Регистрация: 29.05.2012
Сообщений: 9
Печаль использование VAL в Delphi. В чем ошибка ?

Не могу понять в чем ошибка
Код:
var
  Form1: TForm1;
  kol, cena, Itog: string;
  er_cena, er_kol: integer;
procedure TForm1.Proverka(Sender: TObject);
begin
cena:=Val(Edt_Price.Text);
kol:=Val(edt_count.Text);
if (cena>0) and (er_cena=0) and (kol>0) and (er_kol=0) then (btn_calc.Enabled:=True);
end;
Я еще маленький нубик просьба объяснить доступным языком)




___________
1) Название темы должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил.
В дальнейшем темы с подобным названием будут закрываться/удаляться,
а автор такой темы получать штрафы.

2) для начинающих лучше пользоваться разделом "Помощь студентам"

3) Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)

Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 29.05.2012 в 16:01.
Dixion вне форума Ответить с цитированием
Старый 29.05.2012, 15:59   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Val - это ПРОЦЕДУРА, а не функция (как Вы её пытаетесь использовать)!

кроме того, в Delphi есть удобные функции перевода (наверченные на том же val, но это скрыто от программиста:
Код:
  cena := StrToInt(Edt_Price.Text);

А Вы, вероятно, хотели написать так:
Код:

var
  Form1: TForm1;
  kol, cena, Itog: real; - тип данных поставьте сами, какой нужен - целый или вещественный!
  er_cena, er_kol: integer;
procedure TForm1.Proverka(Sender: TObject);
begin
  Val(Edt_Price.Text, cena, er_cena );
  Val(edt_count.Text, kol, er_kol);
  if (cena>0) and (er_cena=0) and (kol>0) and (er_kol=0) 
        then btn_calc.Enabled:=True;
end;

Последний раз редактировалось Serge_Bliznykov; 29.05.2012 в 16:06.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.05.2012, 16:01   #3
Dixion
Заблокирован
 
Регистрация: 29.05.2012
Сообщений: 9
По умолчанию

это я знаю мне по заданию надо место Strtoint использовать val но я не понимаю как(

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Val
Код:
var
  Form1: TForm1;
  kol, cena, Itog: real;
  er_cena, er_kol: integer;
procedure TForm1.Proverka(Sender: TObject);
begin
  Val(Edt_Price.Text, cena, er_cena )
  Val(edt_count.Text, kol, er_kol);
  if (cena>0) and (er_cena=0) and (kol>0) and (er_kol=0) 
        then btn_calc.Enabled:=True;
end;
Пишет опять типо ошибка

Последний раз редактировалось Stilet; 29.05.2012 в 16:17.
Dixion вне форума Ответить с цитированием
Старый 29.05.2012, 16:12   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ага. точка с запятой в конце строки с первым VAL отсутствует!

а так, вроде бы всё нормуль:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Edt_Price: TEdit;
    edt_count: TEdit;
    btn_calc: TButton;
    Button_ToCheck: TButton;
    procedure Proverka(Sender: TObject);
    procedure Button_ToCheckClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  kol, cena, Itog: real;
  er_cena, er_kol: integer;


implementation

{$R *.DFM}

procedure TForm1.Proverka(Sender: TObject);
begin
  Val(Edt_Price.Text, cena, er_cena );
  Val(edt_count.Text, kol, er_kol);
  if (cena>0) and (er_cena=0) and (kol>0) and (er_kol=0)
        then btn_calc.Enabled:=True;
end;


procedure TForm1.Button_ToCheckClick(Sender: TObject);
begin
  Proverka( Sender );
end;

end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.05.2012, 16:26   #5
Dixion
Заблокирован
 
Регистрация: 29.05.2012
Сообщений: 9
По умолчанию

Спасибо!!!
Dixion вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В чем ошибка? (БД Delphi) SL1M_DOGG Помощь студентам 1 18.12.2011 20:50
отправка на емейл (в чем ошибка?)Delphi Fawas Помощь студентам 2 10.11.2011 14:10
Использование val для Stringgrid. Человек Панда Общие вопросы Delphi 4 04.07.2011 15:24
В чем ошибка? (Файлы, записи) (Delphi/Pascal) Wild_klas Помощь студентам 0 21.11.2010 16:04
Chart (Delphi). В чем ошибка? Chudo4258 Помощь студентам 2 27.03.2009 05:28