Простейшая программа
Для создания проекта в Lazarus нужно выбрать пункт меню Файл — Создать и в появившемся окне отметить вариант Проект — Приложение. При этом создаётся вполне рабочая программа, которую сразу же можно запустить на выполнение клавишей F9.
При работе в среде Lazarus используются четыре окна (рис. 7.14):
• главное окно;
• окно Инспектора объектов;
• окно исходного кода;
• окно формы.
Рис. 7.14
Главное окно среды (расположенное сверху) содержит меню, кнопки для быстрого вызова команд и палитру (библиотеку) компонентов. Компонентами называются готовые объекты (кнопки, поля ввода, списки и т. п.), которые можно использовать в программах.
Вся программа, согласно принципам ООП, состоит из объектов. Для настройки свойств объектов используется окно Инспектора объектов, которое состоит из двух частей. В верхней части показано дерево объектов. В простейшей программе мы увидим всего один объект — форму с именем Form1. В нижней части окна несколько вкладок, самые важные из них — Свойства, где можно изменить общедоступные свойства объекта, и События, на которой устанавливаются обработчики событий этого объекта.
В окно формы можно мышью перетаскивать компоненты с палитры и изменять их размеры и расположение. Таким образом, интерфейс программы полностью строится с помощью мыши.
С каждой формой связан программный модуль, в котором описываются классы и обработчики событий, используемые этой формой. Файлы формы и соответствующего ей модуля имеют одинаковое имя, но разные расширения. По умолчанию созданная главная форма программы называется Forml, а модуль — Unit1. Содержание модуля примерно такое:
unit Unit1; interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs; type TForml=class(TForm) private {private declarations} public {public declarations} end; var Forml: TForml; implementation {$R *.lfm} end.
Как и в любом модуле, здесь есть две секции: interface (интерфейс, общедоступные данные) и implementation (реализация — данные, скрытые от других модулей). После слова uses перечисляются модули библиотеки Lazarus, которые используются для работы с формой.
Из приведённого текста программы видно, что форма (объект Form1) — это экземпляр класса TForm1, который является наследником стандартного класса TForm из библиотеки. Пока никаких новых полей, свойств и методов в созданный класс не добавлено.
Секция implementation практически пуста. Единственная строчка
{$R *.lfm}
похожа на комментарий (в фигурных скобках), однако транслятор обращает на неё внимание. Эта команда подключает файл с тем же именем, что и у модуля, но с расширением lfm (описание формы и размещённых на ней компонентов).
Как вы знаете, модуль не может выполняться самостоятельно. Основная программа находится в файле проекта. Для того чтобы увидеть его, нужно нажать клавиши Ctrl+F12 и выбрать файл с расширением lрr. Этот файл будет загружен в отдельную вкладку редактора:
program project1; uses Interfaces, Forms, Unitl1; begin Application.Initialize; Application.CreateForm(TForml, Form1); Application.Run; end.
В начале файла подключаются используемые модули Interfaces и Forms из библиотеки Lazarus, а также модуль Unit1, связанный с нашей формой.
Вся программа — это объект с именем Application, который относится к классу TApplication. Этот объект создаётся автоматически при загрузке модуля Forms. В основной программе вызываются три его метода: Initialize (начальные установки), CreateForm (создание формы) и Run (запуск). Цикл обработки сообщений скрыт внутри метода Run, так что здесь тоже использован принцип инкапсуляции (скрытия внутреннего устройства).
Следующая страница Свойства объектов