Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите разобраться


ser35 ©   (2005-02-25 16:26:00) 

Делаю выбор необходимых значений,  в соответствии с чем произвожу расчет. Не компилирует после слова then. Подскажите, в чем ошибка?
procedure TForm6.Button5Click(Sender: TObject);
var
a: real;
b: real;
c: real;
d: real;
e: real;
V: real;
begin
a:=StrToFloat(Form8.DBEdit1.Text);
B:=StrToFloat(Form8.DBEdit2.Text);
c:=StrToFloat(Form8.DBEdit3.Text);
d:=StrToFloat(Form8.DBEdit4.Text);
e:=StrToFloat(Edit2.Text);
if  DBRadioGroup1.Items:=0 and DBComboBox1.Items:=0
  then
V:= a*e;

Edit1.Text:=FloatToStr(v);

end;


DiamondShark   (2005-02-25 17:28:00) [1]

if  DBRadioGroup1.Items :=0 and DBComboBox1.Items :=0

Я ещё понимаю, когда сишники = и == путают. Но такое...

Ну и скобки, конечно. Приоритет булевых операций выше, чем операций сравнения.


Arm79   (2005-02-25 17:07:00) [2]

Может так?

procedure TForm6.Button5Click(Sender: TObject);
var
a: Double;
b: Double;
c: Double;
d: Double;
e: Double;
V: Extended;
begin
with Form8 do
begin
 a:=StrToFloat(DBEdit1.Text);
 b:=StrToFloat(DBEdit2.Text);
 c:=StrToFloat(DBEdit3.Text);
 d:=StrToFloat(DBEdit4.Text);
end;
e:=StrToFloat(Edit2.Text);
if (DBRadioGroup1.ItemIndex=0) and (DBComboBox1.ItemIndex=0)
  //или может имелось в ввиду DBRadioGroup1.Items.Count?
 then
  V := a*e
 else
  V := 0;

Edit1.Text:=FloatToStr(V);
end;


MBo   (2005-02-25 16:45:00) [3]

>begin...end ©   (25.02.05 16:32) [4]
>Мда... Ну я и хреновину иногда пишу...
Ты стандартную ошибку попытался исправить, а здесь экстраординарная ;)


Anatoly Podgoretsky   (2005-02-25 16:41:00) [4]

Это ты исправил одну ошибку, а еще остались и другие.

ser35   (25.02.05 16:30) [2]
Нельзя проводить логические операции над TStrings и Integer, они не совместимы, для этого надо использовать скобки для смены приоритета. Приоритет логических операций выше приоритета операций отношения.

Но это только одна из трех или более ошибок.


begin...end   (2005-02-25 16:32:00) [5]

> begin...end ©   (25.02.05 16:31) [3]

Мда... Ну я и хреновину иногда пишу...


begin...end   (2005-02-25 16:31:00) [6]

> ser35   (25.02.05 16:26)

> if DBRadioGroup1.Items:=0 and DBComboBox1.Items:=0 then

if (DBRadioGroup1.Items =0 )and (DBComboBox1.Items =0 )then


ser35   (2005-02-25 16:30:00) [7]

[Error] Unit6.pas(430): Incompatible types: 'TStrings' and 'Integer'


Anatoly Podgoretsky   (2005-02-25 16:29:00) [8]

До тех пор пока не скажешь об ошибке не жди ответа.


Наверх

Титульная страница Поиск, карта сайта Написать письмо