ВУЗ:
Составители:
Рубрика:
12
Введите пару операторов, подобно тем, которые Вы только что использовали,
для каждого из шести обработчиков функций калькулятора.
Например, обработчик события целочисленного деления после того, как Вы
сделаете изменение, будет выглядеть так:
procedure TForm1.BtnDivClick(Sender: TObject);
begin
EditResult.Text:=
IntToStr(StrToInt(EditOperand1.Text) div
StrToInt(EditOperand2.Text));
LabelOperator.Caption:=BtnDiv.Caption;
LabelResult.Caption:='=';
end;
Обратите внимание, что если Вы находитесь в процессе выполнения вычисления
и хотите вернуться и изменить значение одного из операндов, старый результат всё ещё
показан в окне результата. Так как это может запутать пользователя, который может
не понять, правильный этот результат или нет, следует обеспечить средство
автоматической очистки поля результата всякий раз, когда один из операндов меняется.
Делая последний шаг в процессе создания программы калькулятора со
свободным вводом, нажмите на окно редактирования первого операнда компонента
EditOperand1 внутри Дизайнера формы.
Переключите Инспектор объекта на страницу «События», нажав на метку
«События» в верхней части экрана.
Появится список событий, которые могут быть сгенерированы окном
редактирования. Первое из этих событий называется OnChange и генерируется каждый
раз при изменении содержимого окна редактирования. Это то, что Вам теперь нужно.
Дважды нажмите столбец Value (справа) события OnChange для генерации
кода обработчика события. Сгенерированный обработчик события будет назван
EditOperand1Change по имени компонента, для которого он предназначен.
Так как Вы используете один и тот же обработчик события для обоих
операндов, измените имя на несколько более обобщённое OperandChange.
Введите следующий текст в обработчик TForm1.OperandChange:
procedure TForm1.OperandChange(Sender: TObject);
begin
EditResult.Text:='';
LabelOperator.Caption:='?';
labelResult.Caption:='?';
end;
Эта программа выполняет ту же самую функцию, что и код для обработчика кнопки
Clear, только без очистки операндов.