Простейший калькулятор в 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 или меню Запуск→Запуск)