Реализация методов
Для завершения разработки приложения Калькуляторнеобходимо добавить программный код в методы обработчиков событий.
Методы, автоматически добавляемые 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 – Приложение Калькулятор. Сложение чисел
Не изменяя значения операндов, можно вычислить их разность, произведение и получить результат деления. Достаточно просто щелкнуть по соответствующей кнопке.
Изменить значения операндов, можно набирая новое значение в поле ввода операндов. Для очистки этих полей необходимо щелкнуть по кнопке Очистить.
Завершить работу приложения можно щелчком по кнопке Выход или закрыть окно, щелкнув по кнопке .