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

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

Калькулятор [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.


Наверх

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