Простейший калькулятор в Lazarus
Создадим приложение «Калькулятор», которое может складывать, вычитать, умножать и делить два числа. В этой работе мы познакомимся с тем, как выбирать компоненты (объекты) с панели инструментов, а также научимся преобразовывать типы данных.
Порядок действий:
1. Запустим среду Lazarus и сохраним файлы нашего проекта в отдельной папке. Сам проект можно сохранить под именем ‘calc’.
2. Разместим на форме три метки класса TLabel, три текстовых поля класса TEdit и четыре кнопки класса TButton. Все эти объекты можно брать с закладки Standart:
Выбор объектов на панели стандартная
3. С помощью окна Инспектор объектов выделяем объекты и меняем их свойства согласно нижеприведенной таблице:
Объект | Свойство | Значение свойства |
форма Form1 | Надпись caption | Калькулятор |
метка Label1 | Надпись caption | A |
метка Label2 | Надпись caption | B |
метка Label3 | Надпись caption | Результат |
Кнопка Button1 | Надпись caption | + |
Кнопка Button2 | Надпись caption | - |
Кнопка Button3 | Надпись caption | * |
Кнопка Button4 | Надпись caption | / |
Текстовое поле Edit1 | text | 0 |
Текстовое поле Edit2 | text | 1 |
Текстовое поле Edit3 | text | Пустая строка |
4. В результате наша форма вместе с другими объектами на ней принимает следующий вид:
Измененная форма
5. Напишем процедуру-обработчик нажатия по кнопке сложения (Button1). Для этого в окне инспектора объектов выбираем закладку События и находим событие OnClick (это и есть нажатие по кнопке).
Выбор события
6. Наберем следующий текст внутри процедуры-обработчика:
procedure TForm1.Button1Click(Sender: TObject); var a,b,result:real; // Объявление локальных переменных вещественного типа begin a:=StrToFloat(edit1.Text);{Переводим текст, находящийся в поле ввода edit1 в вещественное число. Если необходимо работать с целыми числами, то используется функция StrToInt} b:=StrToFloat(edit2.Text); result:=a+b; edit3.Text:=FloatToStr(result); {В текстовое поде ввода edit3 выводим полученную сумму, не забыв при этом сделать обратное преобразование вещественного числа result в строку. Если необходимо работать с целыми числами, то используется функция IntToStr} end;
7. Аналогично напишем процедуры-обработчики нажатий по кнопкам вычитания, умножения и деления, не забыв при этом изменить знак операции на соответствующий. Например, для деления процедура выглядит так:
procedure TForm1.Button4Click(Sender: TObject); var a,b,result:real; begin a:=StrToFloat(edit1.Text); b:=StrToFloat(edit2.Text); result:=a/b; edit3.Text:=FloatToStr(result); end;
8. Сохраним все файлы проекта (Файл→Сохранить всё)
9. Выполним программу (F9 или меню Запуск→Запуск)