Практическая работа
Задание. Создать приложение Калькулятор. В горизонтальное меню включить названия арифметических действий: «Сложить» и «Разделить».
Ход выполнения проекта
1. Создайте новый проект в Lazarus.
2. Разместите на форме три компонента TEdit и переименуйте их соответственно: EditNum1,EditNum2, EditRezult
3. Поместите компонент MainMenu на форму.
4. Чтобы начать формирование пунктов меню дважды щелкнуть по компоненту TMainMenu1 на форме или нажмите на кнопку с многоточием в свойстве Items компонента в инспекторе объектов.
На форме в горизонтальном меню появиться первый пункт, который по умолчанию имеет имя New Item1 (Новый Элемент1). Откроется специальное окно редактора меню.
5. В инспекторе объектов в свойство Caption введите имя первого пункта меню Сложить.
6. Чтобы создать следующий пункт меню, установите курсор на текущий элемент меню и откройте контекстное меню правым щелчком. Выберите "Вставить новый пункт (после)".
На форме отобразится следующий пункт горизонтального меню.
|
|
7. В инспекторе объектов в свойство Caption введите название второго пункта меню: Разделить.
8. Теперь осталось написать программный код, который будет выполняться при выборе пунктов меню.
Напишем общую для всех пунктов меню процедуру Znak, параметром которой будет символ арифметической операции «+» или «/». Процедура будет получить числовые значения из полей EditNum1 и EditNum2, производить указанную в качестве параметра операцию и выводить полученный результат в поле EditResult.
Текст процедуры нужно поместить в раздел Implementation после директивы {$R *.lfm}.
procedure Znak(zn:char);
label metka;
var result, num1, num2:real;
begin
num1:=StrToFloat(form1.editNum1.text);
num2:=StrToFloat(form1.editNum2.text);
case zn of
'+': result:=num1 + num2;
'/': if num2<> 0 then result:=num1/num2;
else
begin
showMessage('Делить на 0 нельзя!');
form1.editNum2.text:= '';
form1.editNum2.SetFocus;
form1.editResult.text:= '';
goto metka;
end;
end; // casse
form1.EditResult.Text:= FloatToStr(Result);
metka:
end;
9. Напишем обработчик для пункта меню Сложить. Для этого дважды щелкните на данном пункте меню.
Программный код будет иметь следующий вид:
procedure TForm1.MenuItem1Click(Sender: TObject);
begin
znak('+');
end;
В программном коде вызывается написанная нами процедура Znak, в которой в качестве фактического параметра передается знак арифметического действия.
10. Напишем обработчик для пункта меню Разделить.
procedure TForm1.MenuItem1Click(Sender: TObject);
begin
znak('/');
end;
11. Проект готов. Проверьте работу приложения. Для этого введите произвольные числа в поля ввода, выберите в горизонтальном меню нужное действие, проверьте результат.