Знакомство со средой разработки приложений Lazarus – первая программа


Занятие 1. Знакомство со средой разработки приложений Lazarus – первая программа

1. Краткая справочная информация.

Lazarus — среда быстрой разработки программного обеспечения для компилятора Free Pascal, аналогичное Delphi.Данный проект основан на оригинальной кроссплатформенной библиотеке визуальных компонентов Lazarus Component Library (LCL). Многоплатформенность- это программное обеспечение, работающее более чем на одной аппаратной платформе и / или операционной системе.

Free Pascal — это компилятор языков Pascal и Object Pascal, работающий под Windows, Linux, Mac OS X, FreeBSD, и другими ОС. Таким образом, разработанные приложения могут работать практически под любой операционной системой.

Все, что вы видите на экране во время работы различных программ, все элементы (кнопки, бегунки, меню и т.п.) можно реализовать в Lazarus. В Lazarus используется технология визуального программирования. Пользователь для создания графического интерфейса программы использует готовые компоненты, значки которых находятся на панели компонентов. После того как он размещает компонент на форме, программный код для него генерируется средой автоматически. Вручную остается запрограммировать только те действия, которые будут выполняться по активации этого компонента.

Последнюю версию Lazarus можно найти на домашней странице проекта

http://www.lazarus-ide.org/

2. Процесс создания программы можно разделить на следующие этапа:

1.Открытие нового проекта. В результате на экране появляется пустая форма (окно будущей программы).

2. Создание графического интерфейса проекта — расположение необходимых элементов, задания размеров, изменение свойств;

3. Написание программного кода, который определит, что делать ваша программа.

4. налаживание программы.

3. запуск Lazarus

Чтобы познакомится с основными инструментами среды разработки, запустим среда программирования, нажав соответствующую иконку на рабочем столе, или выбрав Lazarus в меню Пуск.При этом запускается оболочка создания программ, называемая интегрированной средой разработки IDE (Integrated Development Environment).

На экране появиться набор окон.

4. окно программы

Основные инструменты среды разработки Lazarus

1. Окно формы — окно будущей программы.

2. Главное окно содержит три панели: меню, панель инструментов, палитру компонентов. Палитру компонентов вы будете использовать для выбора необходимых вам для создания пользовательского интерфейса.

3. Окно «Инспектор объектов» содержит файлы проекта в верхней части и окно со вкладками «Свойства» и «События», в которых вы будете настраивать свойства помещенных на форму объектов и подключать соответствующие программы, соответственно.

Читать  ПРАКТИЧЕСКАЯ РАБОТА № 5 – Создание типового окна Windows-приложения | Свойства объектов формы

4. Окно редактора это окно в котором вы будете писать программный код.

6. главное окно

На палитре компонентов, представляет собой множество тематических вкладок, располагаются визуальные и не визуальные компоненты для вашей будущей программы. НЕ визуальные компоненты видно только на первом этапе создания программы — при

редактировании. Главное окно остается открытым все время работы IDE. Закрывая его, вы, тем самым, закрываете Lazarus и все открытые в нем окна.

7. инспектор объектов

На первой странице «Свойства» постоянно отображаются все доступные свойства выбранного компонента. В левой колонке содержится список всех свойств выделенного в данный момент компонента, в правой — значения свойств. Значения свойств можно изменять еще до запуска проектируемой программы. На второй странице «События» находятся возможные обработчики событий для выбранного компонента. В левой колонке расположены названия события, в правой — соответствующие процедуры.

8. окно редактора кода

В окне редактора (или, более приближенно к английскому оригиналу названия, редактора исходного кода) вы будете писать код программы, и само окно очень похоже на обычный текстовый редактор. Для удобства при редактировании текста программы строки пронумерованы, предусмотрено выделение цветом:

• все служебные слова выделяются жирным шрифтом;

• знаки пунктуации становятся красными;

• строки с ошибками выделяются коричневым цветом

• комментарии могут заключаться в фигурные скобки {} и выделяются синим.

Текст программы разбивается на части — процедуры и функции. Основную работу программист производит именно здесь.

9. окно формы

Lazarus при первом запуске автоматически предлагает пользователю новый проект, открывая пустую форму под названием Form1, и назначает его главным окном. Перенося на него элементы из палитры компонентов, вы тем самым, предварительно оформляете его. Главное окно в проекте может быть только одно. Все другие создаваемые окна будут дочерними. Закрывая главное окно стандартной кнопкой закрытия окна, или программно, вы закрываете и все дочерние окна.

10. Настройка интерфейса среды

Современные версии сред для разработки программного обеспечения имеют очень широкие пределы настройки.Например, богатая количество языков интерфейса, возможность индивидуально подобрать стиле редактору кода и так далее. Все эти возможности можно найти в меню Инструменты => Настройки (Tools => Options). Как наиболее универсальную здесь выбрано английский язык интерфейса, но с таким же успехом можно изменить ее на русский или украинский по желанию.

Следующее окно демонстрирует возможности изменения языка. После выбора нужного языка интерфейса среду надо закрыть и

открыть снова, чтобы изменения вступили в силу.

На следующем изображении экрана продемонстрированы возможности настройки редактора кода, в соответствии с языка программирования, например выделение цветом или шрифтом ключевых слов языка и тому подобное.

Читать  Практическая работа №18 – Программирование создания простейшей мультипликации

 

Необходимые сведения о компонентах и ​​создание и сохранение проекта

В первой программе при создании интерфейса, для начала, будем использовать три компонента: TForm (Форма), Label (Надпись) и TButton (Командная кнопка).

1. компонент TForm (Форма)

Форма (объект типа TForm) является основой программы. Свойства формы определяют вид окна программы.

Основные свойства формы

свойство описание
Name Имя формы. В программе имя формы используется для управления формой и доступа к компонентам формы
Caption Текст заголовка окна
Top Расстояние от верхней границы формы до верхней границы экрана, в пикселях
Left Расстояние от левой границы формы до левой границы экрана, в пикселях
Width, Height Ширина, высота формы
Icon Значок в заголовке диалогового окна, обозначающий кнопку вывода системного меню
Color цвет фона
Font Шрифт. Шрифт использован по «умолчанию» для компонентов, которые находятся на поверхности формы
Canvas Поверхность на которую можно вывести графику

2. компонент TLabel

Компонент Label (Надпись) используется для вывода на форму текста, который пользователь не может изменить во время выполнения программы. Расположение компонента на палитре компонентов указано красным прямоугольником. Наряду надпись на форме, автоматически он носит имя Label1 и содержит такой же текст (свойство Caption)

Основные свойства компонента TLabel

свойство описание
Name Имя компонента. Используется в программе для доступа к компоненту и его свойствам
Caption Текст отображаемый в поле надписи
Top Расстояние от верхней границы поля вывода до верхней границы формы
Left Расстояние от левой границы поля вывода до левой границы формы
Width, Height Ширина, высота поля вывода
AutoSize Признак того, что размер поля надписи определяется его содержанием
WordWrap Признак того, что слова которые не помещаются в текущей строке (в ширину поля надписи) автоматически переносятся на следующую строку (значение свойства AutoSize должно быть False)
Alignment Задает способ выравнивания текста внутри поля: taLeftJustify — выравнивание по левому краю, taCenter — выравнивание по центру, taRightJustify — выравнивание по правому краем
Font Параметры шрифта, используемые для отображения текста: Font.Name — вид шрифта, Font.Size — размер шрифта Font.Color — цвет шрифта
ParentFont Признак наследования компонентом характеристик шрифта формы, на которой находится компонент. Если значение свойства равно True, то текст выводится шрифтом установленным для формы.
Color Цвет фона области вывода текста (поля надписи)
Transparent Управляет отображением фона области вывода текста. Значение True делает область вывода текста прозрачной
Visible Позволяет скрыть текст (False) или сделать его видимым (True)
Читать  Лабораторная работа №1 – Структурное программирование на Паскале

3. компонент TButton

Компонент Button (кнопка) — командная кнопка, с помощью которой пользователь может вызвать выполнение какой-либо действия.

Свойства компонента TButton

свойство описание
Name Имя компонента. Используется в программе для доступа к компоненту и

 

его свойств
Caption Текст на кнопке
Top Расстояние от верхней границы кнопки до верхней границы формы
Left Расстояние от левой границы кнопки до левой границы формы
Width, Height Ширина, высота кнопки
Enabled Признак доступности кнопки. заблокирована (неактивна) True кнопка доступна, False кнопка
Hint Контекстная подсказка — текст, который появляется рядом с указателем мыши при наведении указателя (для того чтобы текст появлялся надо чтобы значение свойства ShowHint было True)
ShowHint Позволяет (True) или запрещает (False) отображение подсказки при наведении указателя мыши
Visible Позволяет скрыть текст на кнопке (False) или сделать его видимым (True)

Компонент TBitBtn (кнопка с пиктограммой) на вкладке Additional, аналогичный компонента TBbutton, но может содержать пиктограмму

формата BMP или ICO и имеет свои особые свойства.

Kind — задает тип кнопки.Есть несколько определенных типов иконки с готовой пиктограммой и текстом.

Glyph — если вас не устраивают предложенные рисунки, вы можете выбрать другие.Будет открыто диалоговое окно, необходимо указать путь к необходимому рисунке.

4. Компонент TEdit (Поле введения)

Одним из важнейших для прикладных программ является компонент T .Это текстовое поле, в отличие от TLabel можно редактировать при выполнения

программы.Вводимый текст в поле ввода, сохраняется в свойстве Text.Надо напомнить, что свойство Text компонента TEdit имеет срочный тип.То есть как мы в поле ввода ставим число, это все равно будет срочная константа, которая требует конвертации в числового типа (целого — integer или рационального — real) для

возможности выполнения с ней каких-либо математических действий.

Компонент TMemo предназначен для работы с многострочным текстом, который содержится в свойстве Lines.

5 Сохранение проекта

В первую очередь создадим проект, пока пуст. Для этого выберем меню Проект => Новый проект …(Project => New Project), в диалоговом окне выбрать слово Приложение (Application) и нажать кнопку ОК.

 

Сохраним созданный проект с помощью того же меню Проект => Сохранить проект …(Project => Save Project …). Задаем название проекта и выбираем место для сохранения (желательно создать отдельную папку для программы) и нажимаем кнопку Сохранить.Сразу же откроется окно Сохранить Unit1 для сохранения программного кода проекта (файл Unit1.pas), в котором также необходимо щелкнуть по кнопке Сохранить.Кроме этих двух файлов в папке проекта создается автоматически еще несколько файлов, в том числе — unit.lfm, который представляет собой файл с полными данными о форме. Позиция, размер, расположенные компоненты и др. Папка проекта должна содержать следующие файлы:

Читать  Практическая работа №6. Одномерные массивы

После сохранения проекта пункт Сохранить проект станет неактивным, до внесения каких-либо изменений в проект (с кодом или формы).После этого мы снова можем сохранять проект, и среда автоматически сохранит измененные файлы вместо предыдущих не спрашивая ничего у пользователя.

Задания

Создаем проект, который демонстрирует динамическое создание компонентов и состоит из нескольких окон. Сохраняя вновь проект назовем его Сapabilities (возможности) и обязательно разместим в созданной для него папке.Поскольку окон будет несколько, одна из них будет главным и первый созданный модуль (unit) назовем Main.Имя формы оставим Form1.Размер формы по умолчанию 320х240 пикселей, таким его и оставим.

1. Создать 3 кнопки на форме и изменить заголовок формы в соответствии изображение.

В скобках заголовка формы должно быть ваша фамилия.

Кнопка с надписью «Показать» должна иметь имя Button1, кнопка с надписью «Переход» должна иметь имя Button2, кнопка с надписью «Выход» должна иметь имя Button3.Размеры Button1 установить: ширину 100 пикселей, высоту 30 пикселей.

Код программы выглядит следующим образом:

При этом ни строчки в коде не написано собственноручно.

2. динамическое создание компонентов

Двумя кликами на кнопке «Показать» создаем обработчик события нажатия кнопки.Среда создает соответствующую процедуру:

Меняем размер формы по высоте (свойство Height) и делаем неактивной кнопку «Показать».

Работа этой части программы продемонстрирована на следующем изображении.

 

На созданном поле программно создадим новые компоненты — кнопку и надпись. По нажатием новой кнопки удлинение формы имеет сворачиваться, а кнопка «Показать» снова включаться. В связи с этим, новую кнопка и надпись объявим в интерфейсе модуля чтобы они были доступны во всем модули.

Переходим в процедуру по нажатием кнопки «Показать», пишем следующий

код:

 

 

Результат работы программы:

Теперь работаем с кнопкой «Скрыть». Во-первых, процедура описывающий действия по ее нажатием должна быть описана в интерфейсе модуля, назовем ее по имени кнопки BtnClick.Как описание новой кнопки и надписи эту строку нужно набрать собственноручно. Также, собственноручно нужно написать и саму процедуру, смотрит на следующих изображениях.

Описание процедуры:

процедура:

Осталось подключить эту процедуру по действию нажатия кнопки «Скрыть» к процедуре по нажатием кнопки «Показать». Для этого в конце процедуры TForm1.Button1Click добавим строку

btn.OnClick = @BtnClick;

Теперь код нашего модуля выглядит следующим образом:

 

работающая программа

После нажатия кнопки «Показать»

После нажатия кнопки «Скрыть»

Надо отметить, что сворачивание формы по процедуре BtnClick имеет существенный недостаток.Этот недостаток заключается в том, что каждый раз нажимая на кнопку «Показать» мы вновь и вновь создаем новую кнопку btn и новая надпись lbl.Чтобы этого избежать нужно эти компоненты уничтожать (освобождать) когда в них не нуждается. Таким образом, освобождая память от ненужных в настоящее время элементов, мы к тому же оптимизируем нашу программу. Реализовать это возможно несколькими путями. Самым простым мне кажется освободить эти компоненты непосредственно перед использованием, перед тем как их снова создавать, хотя это и не является достаточно хорошим со стороны программирования.

Читать  Проект на Паскаль "Моя первая программа"

Введем новую переменную flag, которая имеет логический тип, переменная доступна во всем модули есть ее описание нужен в интерфейсе модуля:

К процедуре BtnClick добавим строку с назначением переменной flag значение true.

И, собственно, освобождение динамических компонентов в процедуре TForm1.Button1Click:

3. Две формы в проекте.

К нашему проекту Сapabilities добавим новую форму или с помощью меню Файл

=> Новая форма (File => New Form) или нажав соответствующую кнопку на панели инструментов:

С новой формой будет создан автоматически файл кода, который по умолчанию называется Unit1.Сохраняя новую форму к папке проекта изменим ее имя на Additional (имеется в виду дополнительная форма).Теперь есть новый модуль Additional и

форму Form2.на форме создадим кнопку Button1. надпись кнопки изменим на

«Вернуться», название окна (заголовок формы) на «Дополнительное окно». Теперь наша вторая форма выглядит следующим образом:

Пока, оба модуля существуют раздельно друг от друга, несмотря на то что они расположены в одной папке. Их нужно связать. В начале части воплощения модуля Main добавим директиву использования этого модуля нашего нового модуля Additional, в начале части воплощения модуля Additional, соответственно, — директиву использования этого модуля модуля Main:

Двойным нажатием на соответствующих кнопках добавляем процедуры, которые будут выполняться по нажатием на эти кнопки. Для кнопки «Переход» в модуле Main создаем следующую процедуру

Для кнопки «Вернуться» в модуле Additional создаем похожую процедуру

В Lazarus также возможно писать сокращенно обращения к формам и компонентов (Form2.Hide), но когда форм несколько рекомендуется включать в обращение и имя модуля, ибо возможно совпадение имен, если вторая форма не создавалась непосредственно, а, например, добавлялась уже существующая.

И, напоследок, последняя кнопка «Выход»: дважды нажимаем на кнопку на форме, создается пустая процедура в модуле Main, в которую мы пишем команду

Application.Terminate;

Полный код обоих модулей приведены далее:

[Всего голосов: 4    Средний: 5/5]