Реализация методов

Для завершения разработки приложения Калькуляторнеобходимо добавить программный код в методы обработчиков событий.

Методы, автоматически добавляемые 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 – Приложение Калькулятор. Сложение чисел

Не изменяя значения операндов, можно вычислить их разность, произведение и получить результат деления. Достаточно просто щелкнуть по соответствующей кнопке.

Изменить значения операндов, можно набирая новое значение в поле ввода операндов. Для очистки этих полей необходимо щелкнуть по кнопке Очистить.

Завершить работу приложения можно щелчком по кнопке Выход или закрыть окно, щелкнув по кнопке .