'+': res:=Operand1+Operand2;
'-': res:=Operand1-Operand2;
'*': res:=Operand1*Operand2;
'/': if Operand2=0 then begin EdtView.Text:='Error';exit; end else res:=Operand1/Operand2;
end;
edtView.Text:=FloatToStr(res);
Except
on EConvertError do begin Operand1:=0;edtView.Text:='0';end;
end;
end;
end;
- Осталось написать обработчик кнопки btnClear. При этом должна произойти очиста поля просмотра:
procedure TfmMain.btnClearClick(Sender: TObject);
Begin
edtView.Text:='0';
end;
- На этом основная часть разработки приложения калькулятор закончена. Запустите приложение, протестируйте его на функциональность, постарайтесь найти недочеты и попробуйте их исправить.
- Запрограммируйте две дополнительные кнопки в соответствии с вариантом индивидуального задания.
Варианты индивидуальных заданий:
№ варианта | btnAdd1 | btnAdd2 |
sin(x) | sqrt(x) | |
cos(x) | ln(x) | |
tan(x) | lg(x) | |
ctan(x) | abs(x) | |
x2 | arcsin(x) | |
x4 | arccos(x) | |
x3 | DecToBin | |
xy | DecToHex | |
x mod y | DecToOct | |
x div y | GradToRad | |
exp(x) | RadToGrad | |
arctan(x) | 1/x | |
sin(x) | x! | |
cos(x) | lg(x) | |
tan(x) | abs(x) | |
ctan(x) | arcsin(x) | |
x2 | arccos(x) | |
x4 | DecToBin | |
x3 | DecToHex | |
xy | DecToOct | |
x mod y | GradToRad | |
x div y | RadToGrad | |
exp(x) | 1/x | |
arctan(x) | x! |
Приложение 1. СОГЛАШЕНИЕ ОБ ИМЕНОВАНИЯХ
|
|
Исключая зарезервированные слова и директивы, которые всегда пишутся в нижнем регистре, все идентификаторы Delphi должны использовать InfixCaps, например:
MyIdentifier MyFTPClass
Самое главное исключение для всех правил состоит в использовании оттранслированных заголовочных файлов С/С++. В этом случае всегда используются соглашения, принятые в файле источнике. Например, будет использоваться WM_LBUTTONDOWN, а не wm_LButtonDown.
Имя класса должно быть именем существительным или фразой с именем существительным. Имена интерфейсов или классов должны отражать главную цель их создания.
Для разделения слов нельзя использовать символ подчеркивания. Его использование допускается в следующих случаях:
- если переменная соответствует переменной либо параметру другого языка (например, это параметр SQL-запроса);
- если данная переменная является процедурным указателем, например, указывает на процедуру в DLL, тогда она должна начинаться с символа подчеркивания.
Правильно:
AddressForm
ArrayIndexOutOfBoundsException
Неправильно:
ManageLayout (глагол)
delphi_is_new_to_me (подчеркивание)
ИМЕНОВАНИЕ МОДУЛЕЙ
Наименование модуля должно построено быть по принципу: "u" + "Имя формы". Если модуль не содержит формы (модуля данных), то первая литера "u" сохраняется, далее идет функциональное наименование модуля.