Для завершения разработки приложения Калькулятор необходимо добавить программный код в методы обработчиков событий.
Методы, автоматически добавляемые Delphi в приложение, первоначально имеют следующую структуру (на примере обработчика события OnActivate):
procedure TFormCalc.OnCalcActivate(Sender: TObject);
Begin
end;
Шаг 1. Активизация приложения. Метод OnCalcActivate
При запуске приложения Калькулятор необходимо:
· очистить поля ввода и поле результата
· знак операции и знак = должны иметь начальное значение?
· установить курсор в поле первого операнда для ввода числа.
Код метода OnCalcActivate:
procedure TFormCalc.OnCalcActivate(Sender: TObject);
Begin
EditOperand1.Text:=''; // Свойство Text – пустая строка
EditOperand2.Text:='';
EditResult.Text:='';
OperatorLabel.Caption:='?';// Свойство Caption – символ?
ResultLabel.Caption:='?';
EditOperand1.SetFocus; // Установить фокус (курсор) в поле первого
// операнда – EditOperand1
end;
Шаг 2. Ввод данных. Метод Operand1KeyPress
Компонент Edit автоматически осуществляет обработку символов, которые Пользователь набирает в поле ввода. После завершения ввода строка введенных символов сохраняется в свойстве Text компонента. Однако в ряде случаев необходимо разрешить ввод только определенных символов и не обрабатывать остальные.
|
|
На примере ввода первого числа рассмотрим, как можно обрабатывать событие Нажатие клавиши (OnKeyPress).
Метод обработки этого события получает кроме значения параметра Sender( источник вызова метода) еще и код нажатой клавиши – параметр Key.
Код метода Operand1KeyPress:
procedure TFormCalc.Operand1KeyPress(Sender: TObject;
var Key: Char);
Begin
Case Key of
'0'..'9', chr(8):; // можно ввести числа 0..9 и удалить предыдущий
// символ (chr(8) – клавиша Backspace)
chr(13): EditOperand2.SetFocus;// Если нажата клавиша ENTER –
// установить курсор в поле
// второго операнда
Else
key:=chr(0); // не обрабатывать нажатие других клавиш
end;
end;
Шаг 3. Вычисления
Код метода BtnAddClick:
procedure TFormCalc.BtnAddClick(Sender: TObject);
Begin
EditResult.Text:= IntToStr(StrToInt(EditOperand1.Text)+
StrToInt(EditOperand2.Text));
OperatorLabel.Caption:= '+';
ResultLabel.Caption:= '=';
EditOperand1.SetFocus;
end;
При нажатии на кнопку (сложить) в поле результата (объект EditResult, свойство Text) отображается сумма операндов.Знак операции (OperatorLabel.Caption) будет отображаться как символ +. Знак завершения операции (ResultLabel.Caption) – символ =.
Остальные методы вычислений подобны методу BtnAddClick. Отличие только в преобразовании строки в число/число в строку в операции деления (метод BtnDivedeClick), так как результат вычисления может быть дробным числом.
Шаг 4. Очистка полей и завершение работы приложения
Код метода очистки полей ввода и поля результата (метод BtnClearClick) полностью совпадает с методом активизации приложения (OnCalcActivate).
Для завершения работы приложения достаточно в методе BtnCloseClick вызвать процедуру Close – закрытие формы.
|
|
Шаг 5. Выполнение приложения
Откомпилируйте проект ProjectCalc. Для компиляции выберите из меню Project команду Compile или нажмите комбинацию клавиш Ctrl+F9.
После успешной компиляции для выполнения приложения Калькулятор необходимо выбрать в меню Run команду Run или нажать клавишу F9. На рисунке 5.9 приведено главное окно приложения Калькулятор после выполнения операции сложения.
Рисунок 5.9 – Приложение Калькулятор. Сложение чисел
Не изменяя значения операндов, можно вычислить их разность, произведение и получить результат деления. Достаточно просто щелкнуть по соответствующей кнопке.
Изменить значения операндов, можно набирая новое значение в поле ввода операндов. Для очистки этих полей необходимо щелкнуть по кнопке Очистить.
Завершить работу приложения можно щелчком по кнопке Выход или закрыть окно, щелкнув по кнопке .