Ясно. А с числом у тебя не проблема, а обычная ситуация. Ты не можешь в поллитровую бутылку налить литр сока. Тут то же самое. Я ж советовал проверять Overflow/Underflow. Вот оно и аукнулось. Ладно, я уже полторы суток за компом, да и день суматошный выпал. Я спатеньки, завтра помогу...
А, блин, у тебя ж завтра этот НОУ, который хау. Ладно, будем посмотреть за твою поллитровую бутылку
Вот тебе про бутылку, когда сок переливается:
Кнопка '='(тоже лучше скопировать только мои добавления):
Код:
procedure TForm1.BitBtn18Click(Sender: TObject);
begin
try // добавил
if edit1.Text<>'' then b:=strtofloat (edit1.Text);
except // добавил
edit1.Text:='-0'; // добавил
b:=0; // добавил
a:=0; // добавил
c:=''; // добавил
Exit; // добавил
end; // добавил
case c of
'+':edit1.Text:=floattostr(a+b);
'-':edit1.Text:=floattostr(a-b);
'*': edit1.Text:=floattostr(a*b);
'/':begin
if b<>0 then
edit1.Text:=floattostr(a/b) else
form3.Show;
end;
'^': edit1.Text:=floattostr(Power(a,b));
end;
end;
Решение далёко от изящества, но такую уж программу ты мне дал.А вообще, смысл происходящего ясен?