Оглавление Lazarus: Первый проект


Как известно, среда Lazarus как и Free Pascal распространяется свободно. Заходите на http://www.lazarus.freepascal.org/ и скачивайте дистрибутив (65 Mb: версия 09.28). Необходимые для работы Lazarus файлы компилятора fpc (Free Pascal) включены в дистрибутив. Не забывайте, что эти продукты непрерывно совершенствуются, поэтому периодически нужно их обновлять. Я буду пользоваться версией 09.28.2 beta (до февраля 2010: 09.22). Запустим Lazarus. Среда похожа на Делфи7, так что если Вы слегка или более знакомы с Делфи7, то быстро освоите создание простых проектов.

Начнем с простейшего проекта: перемножение двух вещественных чисел. В основном нас будет интересовать создание элементов интерфейса в среде Lazarus.

При запуске Lazarus появляются окна, аналогичные окнам Делфи. Уменьшаю размеры формы, нахожу в инспекторе объектов строку "Caption" и заполняю заголовок формы: "Произведение". Там же нахожу "Color", изменяю цвет формы. Перетаскиваю с палитры компонентов "Label1", вписываю "Первое число" в ее свойство "Caption". Аналогично: "Label2", "Второе число". Затем компоненты Edit1, Edit2 - для ввода чисел (класс TEdit).

Используя Shift, выделяю эти 4 компонента и в Инспекторе задаю свойство Font->Size = 12, т е делаю крупный шрифт. Заметим, что для настройки компонента нужно его выделить (либо щелчком по компоненту, либо щелчком по его имени в верхнем окошке инспектора объектов), затем выделить нужное свойство в нижнем окошке инспектора и настроить. Настройка производится либо вписыванием в значения в окошко, либо выбором из выпадающего списка, либо использованием мастера (конструктора) - для этого щелкнуть кнопку с точками.

Перетаскиваю Label3 и Edit3 - для оформления результата вычислений. И кнопку Button1. В ее свойство "Caption" вписываю "Вычислим". Теперь нужно определить действия, выполняемые программой при щелчке по этой кнопке. Открываю в инспекторе закладку "События", нахожу строку OnClick и делаю двойной щелчок. При этом в окошке появляется имя созданного обработчика события OnClick, а в редакторе появляется пустой шаблон процедуры procedure TForm1.Button1Click(Sender: TObject);

Если какой-то обработчик создан ошибочно, то для удаления его в Делфи достаточно очистить тело процедуры и сохранить модуль. При этом пустой обработчик автоматически удаляется. В Lazarus такой режим можно включить (Прав_Щелчок в окне редактора/Параметры/Редактор/Автоматические функции/Автоматически удалять пустые методы).

Вообще в Лазарусе гораздо больше настроек, чем в Делфи и полезно с ними ознакомиться (самостоятельно)

Вписываем текст процедуры:

procedure TForm1.Button1Click(Sender: TObject);
var x,y,z: double;
begin
  x:= strtofloat(edit1.Text);
  y:= strtofloat(edit2.Text);
  z:= x*y;
  edit3.Text:= floattostr(z);
end; 
Для демонстрации обработки ошибок в Lazarus делаю опечатку (см картинку - выше). Процедура выполняет следующие действия:

Все готово. Для компиляции и запуска программы нажимаем F9 или кнопку Запуск или Меню->Запуск->Запуск.


Программа работает.

Все прекрасно, но тут мы замечаем, что .exe-файл этой программы "весит" более 6Мб. Но с этим можно бороться - как описано в статье Сергея Смирнова "Маленькие хитрости при работе в Lazarus" - см http://www.freepascal.ru/article//lazarus/ Я сделал текстовый файл strip.cmd с такой начинкой:

 
E:\lazarus\fpc\2.0.4\bin\i386-win32\strip.exe %1
E:\lazarus\fpc\2.0.4\bin\i386-win32\upx.exe %1

Поместил его в папку созданного проекта и запускал из командной строки так:
strip.cmd project1.exe
В результате project1.exe уменьшился в размерах с 6 732 Кб до 458 Кб

Rambler's Top100
Hosted by uCoz