zanndr
24.02.2011, 04:46
Пытался сделать калькулятор , для начала делал основные действия такие как плюс минус делить умножить , он работает , но вылетает с ошибкой если делить на 0. Хотел исправить , сделал так:
procedure Tkalkul.bravnoClick(Sender: TObject);
begin
case mode of
1: begin
y:= StrToFloat(Edit1.Text);
z:= x+y;
Edit1.Text:= FloatToStr(z);
end;
2: begin
y:= StrToFloat(Edit1.Text);
z:= x-y;
Edit1.Text:= FloatToStr(z);
end;
3: begin
y:= StrToFloat(Edit1.Text);
If y:= '0' then
Edit1.Text:= ('На ноль не делица');
else
z:= x/y;
Edit1.Text:= FloatToStr(z);
end;
4: begin
y:= StrToFloat(Edit1.Text);
z:= x*y;
Edit1.Text:= FloatToStr(z);
end;
end;
end;
end.
Но показывает на эту строчку:
If y:= '0' then
И пишет такую ошибку:
[Ошибка] Unit1.pas(184): Type of expression must be BOOLEAN
В чем проблема? Вроде по идее , если y (второе число) равно 0 , то в едите пишется на ноль не делится , а если не ноль , то считает...
Заранее спасибо.
procedure Tkalkul.bravnoClick(Sender: TObject);
begin
case mode of
1: begin
y:= StrToFloat(Edit1.Text);
z:= x+y;
Edit1.Text:= FloatToStr(z);
end;
2: begin
y:= StrToFloat(Edit1.Text);
z:= x-y;
Edit1.Text:= FloatToStr(z);
end;
3: begin
y:= StrToFloat(Edit1.Text);
If y:= '0' then
Edit1.Text:= ('На ноль не делица');
else
z:= x/y;
Edit1.Text:= FloatToStr(z);
end;
4: begin
y:= StrToFloat(Edit1.Text);
z:= x*y;
Edit1.Text:= FloatToStr(z);
end;
end;
end;
end.
Но показывает на эту строчку:
If y:= '0' then
И пишет такую ошибку:
[Ошибка] Unit1.pas(184): Type of expression must be BOOLEAN
В чем проблема? Вроде по идее , если y (второе число) равно 0 , то в едите пишется на ноль не делится , а если не ноль , то считает...
Заранее спасибо.