Компания ALT Linux
Опубликован: 10.04.2015 | Доступ: свободный | Студентов: 763 / 0 | Длительность: 14:03:00
Специальности: Программист, Преподаватель
Лекция 1:

Введение. Средства разработки программ на языке Free Pascal

Лекция 1: 123456 || Лекция 2 >
1.4.6 Окно редактора Lazarus

Окно редактора (рис. 1.14) тесно связано с формой приложения (рис. 1.18) и появляется вместе с ним при создании нового проекта. Окно редактора по умолчанию находится на первом плане и закрывает окно формы. Переключаться между этими окнами можно командой Просмотр — Переключить модуль / форму, клавишей F12 или просто щелчком мыши.

Окно редактора предназначено для создания и редактирования текста программы, который создается по определённым.правилам и описывает некий алгоритм. Если окно формы определяет внешний вид будущей программы, то программный код, записанный в окне редактора, отвечает за её поведение.

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

Обратите внимание, что при загрузке Lazarus автоматически загружается последний проект, с которым работал пользователь. Происходит это благодаря отмеченному пункту Открывать последний проект при запуске (рис. 1.19), который находится на вкладке Файлы меню Окружение — Настройки окружения... Если убрать метку рядом с командой Открывать последний проект при запуске, то при загрузке Lazarus будет создавать новый проект.

Окно формы и окно редактора

Рис. 1.18. Окно формы и окно редактора
Окно настройки файлов в среде Windows

Рис. 1.19. Окно настройки файлов в среде Windows
Настройки окна редактора программного кода

Рис. 1.20. Настройки окна редактора программного кода

Настроить окно редактора можно с помощью вкладки Общие меню Окружение — Настройки редактора... (рис. 1.20). Для того чтобы установить (отменить) ту или иную настройку, достаточно установить (убрать) маркер рядом с её названием и подтвердить изменения нажатием кнопки Ok.

На вкладке Дисплей меню Окружение — Настройки редактора... (рис. 1.21) можно изменить шрифт текста программного кода.

Как и в большинстве текстовых редакторов, в редакторе программного кода Lazarus предусмотрена работа с шаблонами. Здесь под шаблоном подразумевается автоматический ввод конструкций языка программирования. Например, пользователь вводит символ b, затем символ пробел, а на экране появляется конструкция begin...end. Настройку шаблонов можно выполнить в диалоговом окне (рис. 1.22), которое появится после выполнения команды Окружение — Шаблоны кода... Например, чтобы заработал рассмотренный шаблон, нужно выбрать (щёлкнуть по нему мышкой) в списке шаблонов строку b — begin...end и установить маркер рядом с командой Включить макросы. Затем в группе команд Автозавершение при обнаружении... выбрать слово пробела. Если среди команд автозавершения выбрать конец строки, то шаблон будет появляться в тексте программы после ввода символа b и нажатия клавиши Enter.

Окно настройки редактора программного кода, вкладка Дисплей

Рис. 1.21. Окно настройки редактора программного кода, вкладка Дисплей
Окно настройки шаблонов редактора программного кода в среде Linux

Рис. 1.22. Окно настройки шаблонов редактора программного кода в среде Linux
Окно создания шаблона программного кода

Рис. 1.23. Окно создания шаблона программного кода

Шаблоны можно добавлять, удалять и править. Для этого в окне Шаблоны кода предусмотрены специальные кнопки. В нижней части окна, над кнопками Ok и Отмена, расположено поле ввода и редактирования шаблонов с активным курсором. Если выделить любой шаблон из списка, щёлкнув по нему мышкой, то в поле ввода появится соответствующая конструкция.

Если воспользоваться кнопкой Добавить, то появится диалоговое окно (рис. 1.23) для создания шаблона. Здесь в поле Элемент следует указать символ или группу символов, ввод которых будет связан с создаваемым шаблоном. В поле Комментарий можно дать краткое описание шаблона и нажать кнопку Добавить. Элемент и комментарий к нему будут добавлены в список шаблонов в окне Шаблоны кода. Теперь нужно создать сам шаблон, то есть указать, какая именно конструкция языка появится при вводе элемента в текст программы. Для этого надо выделить вновь созданный шаблон и в поле ввода, расположенном в нижней части окна Шаблоны кода, ввести соответствующий текст.

Например, создадим шаблон для конструкции repeat..until, которая будет добавлена в текст, если пользователь введёт символ r. Выполним следующую последовательность действий:

  • щёлкнем по кнопке Добавить в окне Шаблоны кода (см. рис. 1.22);
  • в появившемся диалоговом окне Добавить шаблон кода (рис. 1.23) в поле Элемент введём символ r, а в поле Комментарий фразу repeat until, и нажмём кнопку Добавить;
  • в окне Шаблоны кода (рис. 1.241.25) выделим в списке шаблонов строку r — repeat until;
  • введём в поле ввода, расположенном в нижней части окна, конструкцию языка repeat until;
  • нажмём кнопку Ok в окне Шаблоны кода.

Для изменения шаблона служит кнопка Правка. Шаблон, который нужно откорректировать, должен быть выделен. Дальнейшие действия аналогичны тем, которые выполняются при создании шаблона.

Создание нового шаблона в Linux

Рис. 1.24. Создание нового шаблона в Linux
Создание нового шаблона в среде Windows

Рис. 1.25. Создание нового шаблона в среде Windows

Для того чтобы удалить шаблон из списка, его нужно выделить, а затем нажать кнопку Удалить.

1.4.7 Панель компонентов

Панель компонентов расположена16Включить (выключить) Панель компонентов можно, установив (убрав) маркер рядом с командой Показать палитру компонентов меню Просмотр. под главным меню (рис. 1.14). Она состоит из большого числа групп, в которых располагаются соответствующие компоненты (рис. 1.26).

Панель компонентов

Рис. 1.26. Панель компонентов

Компонент — это некий функциональный элемент интерфейса, обладающий определенными свойствами. Размещая компоненты на форме, программист создаёт элементы внешнего вида своей будущей программы — окна, кнопки, переключатели, поля ввода и т. п.

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

Для того чтобы расположить новый компонент на форме нужно сделать два щелчка мышью:

  • в панели компонентов — для выбора компонента;
  • в рабочем пространстве формы — для указания положения левого верхнего угла компонента.
1.4.8 Инспектор объектов

Окно инспектора объектов располагается слева от окна редактирования. Как правило, оно содержит информацию о выделенном объекте. На рис. 1.27 представлен инспектор объектов с информацией о вновь созданной форме.

Окно инспектора объектов имеет три вкладки: Свойства, События, Избранное, которые используются для редактирования свойств объекта и описания событий, на которые будет реагировать данный объект. Совокупность свойств отображает внешнюю сторону объекта, совокупность событий — его поведение.

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

Окно инспектора объектов

Рис. 1.27. Окно инспектора объектов

Чтобы выбрать свойство или событие, необходимо щёлкнуть левой кнопкой мыши по соответствующей строке.

Свойства, отображённые в таблице, могут быть простыми или сложными. Простые свойства определены единственным значением. Например, свойство Caption (Заголовок) определяется строкой символов, свойства Height (Высота) и Width (Ширина) — числом, свойство Enabled (Допустимость) — значениями True (Истина) и False (Ложь). Сложные свойства определяются совокупностью значений. Например, свойство Font (Шрифт). Слева от имени этого свойства стоит знак "+". Это означает, что свойство сложное, и при щелчке по значку "+" откроется список его составляющих.

Активизировать значение любого свойства можно обычным щелчком мыши. При этом в конце строки может появиться либо кнопка с символом многоточия, либо кнопка со стрелкой, направленной вниз. Щелчок по многоточию откроет диалоговое окно для установки значений сложных свойств (например Font). Обращение к стрелке приведёт к раскрытию списка возможных значений простого свойства (например Enabled).

1.4.9 Первая программа в Lazarus

Процесс создания программы в Lazarus состоит из двух этапов:

  • формирования внешнего вида программы, её интерфейса;
  • написания программного кода на языке программирования Free Pascal, заставляющего работать элементы интерфейса.

Как мы уже выяснили, для создания интерфейса программы существует окно формы, а для написания программного кода — окно редактора. Эти окна тесно связаны между собой, и размещение компонентов на форме приводит к автоматическому изменению программного кода.

Создание нового проекта в Linux

Рис. 1.28. Создание нового проекта в Linux
Создание нового проекта в среде Windows

Рис. 1.29. Создание нового проекта в среде Windows

Начнём знакомство с визуальным программированием с создания простой программы про кнопку, которая хочет, чтобы по ней щёлкнули. После чего появляется сообщение о работе программы.

Начнём с создания нового проекта. Для этого выполним команду главного меню Проект — Создать проект... В появившемся диалоговом окне (рис. 1.281.29) выберем из списка слово Приложение и нажмём кнопку Создать. Результатом этих действий будет появление окна формы и окна редактора программного кода.

Сохраним созданный проект, воспользовавшись командой Проект — Сохранить проект как... Откроется окно сохранения программного кода Сохранить Unit1 (рис. 1.301.31).

Создадим в нём новую папку Primer_1 (можно воспользоваться кнопкой Создание новой папки (Создание каталога)), откроем её и щёлкнем по кнопке Сохранить. Тем самым мы сохраним файл Unit1.pas, содержащий текст программы. Сразу же откроется окно Сохранить проект (рис. 1.321.33), в котором также необходимо щёлкнуть по кнопке Сохранить. Теперь мы сохранили файл Project1, содержащий общие сведения о проекте.

Окно сохранения модуля в Windows

Рис. 1.30. Окно сохранения модуля в Windows
Окно сохранения модуля в Linux

Рис. 1.31. Окно сохранения модуля в Linux
Окно сохранения проекта в Windows

Рис. 1.32. Окно сохранения проекта в Windows
Окно сохранения проекта в Linux

Рис. 1.33. Окно сохранения проекта в Linux
Файлы проекта в Windows

Рис. 1.34. Файлы проекта в Windows
Файлы проекта в Linux

Рис. 1.35. Файлы проекта в Linux

На самом деле все наши манипуляции привели к сохранению более чем двух файлов. Теперь в каталоге Primer_1 (рис. 1.341.35) хранится файл с текстом программы unit1.pas, файл unit1.lfm17Можно задать и имена файлов, отличные от стандартных Unit1. со сведениями о форме Form1, а также файлы project1.lpn и project1.lpi, содержащие настройки системы программирования и параметры конфигурации проекта.

Итак, проект сохранён. Все дальнейшие изменения будем сохранять командой Проект — Сохранить проект.

Теперь можно приступить к визуальному программированию. У нас есть один объект — форма Form1. Изменим некоторые его свойства с помощью инспектора объектов.

Перейдём в окно инспектора объектов и найдем в нём свойство Caption (Заголовок). Свойство формы Caption отвечает за текст, выводимый в заголовке формы. По умолчанию оно имеет значение Form1. Изменим его на слово ПРИМЕР 1 (рис. 1.36). Это изменение сразу же отразится на форме — в поле заголовка появится надпись "ПРИМЕР 1" (рис. 1.38). Аналогично можно изменить размеры формы, присвоив новые значения свойствам Height (Высота) и Width (Ширина), ещё проще это сделать, изменив положение границы формы с помощью кнопки мыши, как это делается со всеми стандартными окнами.

Изменение свойства формы Caption

Рис. 1.36. Изменение свойства формы Caption
Изменение свойства формы Position

Рис. 1.37. Изменение свойства формы Position
Изменение заголовка формы

Рис. 1.38. Изменение заголовка формы
Размещение кнопки на форме

Рис. 1.39. Размещение кнопки на форме

Изменим ещё одно свойство формы — Position (положение формы на экране). Значения этого свойства не вводятся вручную, а выбираются из списка (рис. 1.37). Если выбрать свойство poScreenCenter, то форма всегда будет появляться в центре экрана.

Напомним, что мы пишем программу про кнопку. Пришло время поместить её на форму. Для этого обратимся к панели компонентов (рис. 1.26) и найдём там компонент Tbutton. Чтобы разместить компонент на форме, нужно сделать два щелчка мышью: первый — по компоненту, второй — по окну формы. В результате форма примет вид, представленный на рис. 1.39.

Теперь у нас два объекта: форма Form1 и кнопка Button1. Напомним, что изменения значений свойств в окне инспектора объектов относятся к выделенно му объекту. Поэтому выделим объект Button1 и изменим его заголовок Caption и размеры Height (высота формы), Width (Ширина формы). В заголовке напишем фразу "Щёлкни мышкой!!!", установим ширину 135 пикселей, а высоту — 25 пикселей. Сохраним проект (Проект — Сохранить проект).

Кнопка Запуск на панели инструментов Lazarus

Рис. 1.40. Кнопка Запуск на панели инструментов Lazarus
Результат работы программы

Рис. 1.41. Результат работы программы

Для того чтобы посмотреть, как работает наша программа, её необходимо запустить на выполнение. Сделать это можно командой Запуск — Запуск, функциональной клавишей F9 или кнопкой Запуск на панели инструментов (рис. 1.40). Созданное окно с кнопкой должно выглядеть, как на рис. 1.41.

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

	
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
	Classes, SysUtils, LResources, Forms, Controls,
	Graphics, Dialogs, StdCtrls;
type
	{ TForm1 }
	TForm1 = class (TForm)
	Button1 : TButton;
	private
		{ private declarations }
	public
		{ public declarations }
end;
var
	Form1 : TForm1;
implementation
initialization
	{$I unit1.lrs}
end;

О назначении всех перечисленных в листинге команд мы поговорим позже. Вернёмся к программе и подумаем, что же мы хотим от нашей кнопки. Скорее всего, это должна быть реакция на какое то событие, например на щелчок мыши. После запуска программы на экране появилось окно, на котором расположена кнопка с надписью "Щёлкни мышкой!!!". Предположим, что если мы щёлкнем по ней, она "обрадуется" и сообщит: "УРА! ЗАРАБОТАЛО!".

Для воплощения этой идеи завершим работу программы, закрыв окно с кнопкой обычным способом (щелчком по крестику в правом верхнем углу) и перейдём в режим редактирования. Перейдём к инспектору объектов, выделим кнопку Button1 и обратимся к вкладке События инспектора объектов. Напомним, что здесь расположены описания событий. Выберем событие OnClick — обработка щелчка мыши и дважды щёлкнем в поле справа от названия (рис. 1.42).

Выбор события OnClick

Рис. 1.42. Выбор события OnClick

В результате описанных действий в окне редактора появится следующий текст:

	
procedure TForm1. Button1Click ( Sender : TObject );
begin
end;

На данном этапе изложения материала данный текст — это фрагмент программного кода, именуемый подпрограммой. О назначении этой подпрограммы можно догадаться по её имени TForm1.Button1Click: на форме Form1 для объекта кнопка Button1 обрабатывается событие "щелчок мыши" Click. Все команды, написанные между словами begin и end, будут выполняться при наступлении указанного события (щелчка мыши).

Теперь установим курсор между словами begin и end созданной подпрограммы и напишем:

	
Button1. Caption:= ’УРА! ЗАРАБОТАЛО! ’;

Эта запись означает изменение свойства кнопки. Только теперь мы выполнили его не с помощью инспектора объектов, а записав оператор языка программирования. Прочитать его можно так: присвоить (:=) свойству Caption объекта Button1 значение ’УРА! ЗАРАБОТАЛО!’. Поскольку присваиваемое значение — строка, оно заключено в одинарные кавычки.

Теперь текст подпрограммы в окне редактора имеет вид:

	
procedure TForm1. Button1Click ( Sender : TObject );
begin
	Button1. Caption := ’УРА! ЗАРАБОТАЛО! ’;
end;

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

Окончательный результат работы программы

Рис. 1.43. Окончательный результат работы программы
Лекция 1: 123456 || Лекция 2 >
Юрий Шутиков
Юрий Шутиков

По первому тесту выполнил дважды задания. Результат получается правильный (проверял калькулятором). Пишет, что "Задание не проверено" и предлагает повторить. 
 

Евгений Силуков
Евгений Силуков

Еще в декабре выполнил тест №1, а его все так и не проверили.