![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Калькулятор [D6]
Змей © (2005-01-22 21:49:00)Здравствуйте Мастера!
вот код:\
procedure TfmExample.bbRunClick(Sender: TObject);
var
X, Y, Z: Real;
begin
MessageBeep(MB_OK);
if (edInput1.Text='') or (edInput2.Text='')
or (cbSign.ItemIndex<0) then Exit;
try
X := StrToFloat(Trim(edInput1.Text));
except
ShowMessage('Ошибка записи числа: '+edInput1.Text);
edInput1.SelectAll;
Exit;
end;
try
Y := StrToFloat(Trim(edInput2.Text));
except
ShowMessage('Ошибка записи числа: '+edInput2.Text);
edInput2.SelectAll;
Exit;
end;
case cbSign.ItemIndex of
0: Z := X + Y;
1: Z := X - Y;
2: Z := X * Y;
3: try
Z := X / Y;
except
Z := 1.1e+38
end;
end;
lbOutput.Caption := Trim(edInput2.Text)+' '+
cbSign.Items[cbSign.ItemIndex]+' '+
Trim(edInput1.Text)+' = ';
if Z >= 1.1e+38 then
lbOutput.Caption := lbOutput.Caption+'бесконечьность'
else
lbOutput.Caption := lbOutput.Caption+FloatToStr(Z);
mmOutput.Lines.Add(lbOutput.Caption);
edInput1.Text := '';
edInput2.Text := '';
cbSign.ItemIndex := -1;
end;
у меня тут сосед начал дельфи изучать и пытается по книжке налабачить калькулятор!
и жалуется что у него дробные числа не складывает
я посмотрел: если набираешь число 5,5 или 0,4 то вылетает окно ShowMessage('Ошибка записи числа: '+edInput1.Text);
cbSign-комбобох где у него -*/+
че там за книжка я не знаю мы в локалке а идти к нему не хочу
воть:)
пробовал не trim а frac чет не получается:(
StrToFloat(Trim(edInput1.Text));
заранее пасиба
GanibalLector (2005-01-23 02:32:00) [1]Тут одни уже калькулятор делали.В общем,без форм Бэкуса-Наура (БНФ) и описания ими входного языка не получиться.
Bobby Digital (2005-01-22 23:20:00) [2]Попробуй DecimalSeparator:=','; и скадывай свои 5,5
begin...end (2005-01-22 21:54:00) [3]> Змей © (22.01.05 21:49)
Проверьте, чему равна глобальная переменная DecimalSeparator.