Lazarus как закрыть приложение
Окно редактора (рис. 1.14) тесно связано с формой приложения (рис. 1.18) и появляется вместе с ним при создании нового проекта. Окно редактора по умолчанию находится на первом плане и закрывает окно формы. Переключаться между этими окнами можно командой Просмотр — Переключить модуль / форму, клавишей F12 или просто щелчком мыши.
Окно редактора предназначено для создания и редактирования текста программы, который создается по определённым.правилам и описывает некий алгоритм. Если окно формы определяет внешний вид будущей программы, то программный код, записанный в окне редактора, отвечает за её поведение.
Вначале окно редактора содержит текст, обеспечивающий работу пустой формы. Этот программный код появляется в окне редактора автоматически, а программист в ходе работы над проектом вносит в него дополнения, соответствующие функциям создаваемой программы.
Обратите внимание, что при загрузке Lazarus автоматически загружается последний проект, с которым работал пользователь. Происходит это благодаря отмеченному пункту Открывать последний проект при запуске (рис. 1.19), который находится на вкладке Файлы меню Окружение — Настройки окружения. Если убрать метку рядом с командой Открывать последний проект при запуске, то при загрузке Lazarus будет создавать новый проект.
Рис. 1.19. Окно настройки файлов в среде Windows
Рис. 1.20. Настройки окна редактора программного кода
Настроить окно редактора можно с помощью вкладки Общие меню Окружение — Настройки редактора. (рис. 1.20). Для того чтобы установить (отменить) ту или иную настройку, достаточно установить (убрать) маркер рядом с её названием и подтвердить изменения нажатием кнопки Ok.
На вкладке Дисплей меню Окружение — Настройки редактора. (рис. 1.21) можно изменить шрифт текста программного кода.
Как и в большинстве текстовых редакторов, в редакторе программного кода Lazarus предусмотрена работа с шаблонами. Здесь под шаблоном подразумевается автоматический ввод конструкций языка программирования. Например, пользователь вводит символ b , затем символ пробел, а на экране появляется конструкция begin. end . Настройку шаблонов можно выполнить в диалоговом окне (рис. 1.22), которое появится после выполнения команды Окружение — Шаблоны кода. Например, чтобы заработал рассмотренный шаблон, нужно выбрать (щёлкнуть по нему мышкой) в списке шаблонов строку b — begin. end и установить маркер рядом с командой Включить макросы. Затем в группе команд Автозавершение при обнаружении. выбрать слово пробела. Если среди команд автозавершения выбрать конец строки, то шаблон будет появляться в тексте программы после ввода символа b и нажатия клавиши Enter.
Рис. 1.21. Окно настройки редактора программного кода, вкладка Дисплей
Рис. 1.22. Окно настройки шаблонов редактора программного кода в среде Linux
Рис. 1.23. Окно создания шаблона программного кода
Если воспользоваться кнопкой Добавить, то появится диалоговое окно (рис. 1.23) для создания шаблона. Здесь в поле Элемент следует указать символ или группу символов, ввод которых будет связан с создаваемым шаблоном. В поле Комментарий можно дать краткое описание шаблона и нажать кнопку Добавить. Элемент и комментарий к нему будут добавлены в список шаблонов в окне Шаблоны кода. Теперь нужно создать сам шаблон, то есть указать, какая именно конструкция языка появится при вводе элемента в текст программы. Для этого надо выделить вновь созданный шаблон и в поле ввода, расположенном в нижней части окна Шаблоны кода, ввести соответствующий текст.
Например, создадим шаблон для конструкции repeat..until , которая будет добавлена в текст, если пользователь введёт символ r . Выполним следующую последовательность действий:
- щёлкнем по кнопке Добавить в окне Шаблоны кода (см. рис. 1.22);
- в появившемся диалоговом окне Добавить шаблон кода (рис. 1.23) в поле Элемент введём символ r , а в поле Комментарий фразу repeat until , и нажмём кнопку Добавить;
- в окне Шаблоны кода (рис. 1.24—1.25) выделим в списке шаблонов строку r — repeat until ;
- введём в поле ввода, расположенном в нижней части окна, конструкцию языка repeat until ;
- нажмём кнопку Ok в окне Шаблоны кода.
Для изменения шаблона служит кнопка Правка. Шаблон, который нужно откорректировать, должен быть выделен. Дальнейшие действия аналогичны тем, которые выполняются при создании шаблона.
Рис. 1.25. Создание нового шаблона в среде Windows
Для того чтобы удалить шаблон из списка, его нужно выделить, а затем нажать кнопку Удалить.
1.4.7 Панель компонентов
Панель компонентов расположена 16 Включить (выключить) Панель компонентов можно, установив (убрав) маркер рядом с командой Показать палитру компонентов меню Просмотр. под главным меню (рис. 1.14). Она состоит из большого числа групп, в которых располагаются соответствующие компоненты (рис. 1.26).
Компонент — это некий функциональный элемент интерфейса, обладающий определенными свойствами. Размещая компоненты на форме, программист создаёт элементы внешнего вида своей будущей программы — окна, кнопки, переключатели, поля ввода и т. п.
Компоненты на панели объединяются в группы по функциональному признаку. После создания проекта по умолчанию открывается список группы Standard, содержащий основные элементы диалоговых окон. Просмотреть другие группы можно, раскрывая их щелчком по соответствующей вкладке.
Для того чтобы расположить новый компонент на форме нужно сделать два щелчка мышью:
- в панели компонентов — для выбора компонента;
- в рабочем пространстве формы — для указания положения левого верхнего угла компонента.
1.4.8 Инспектор объектов
Окно инспектора объектов располагается слева от окна редактирования. Как правило, оно содержит информацию о выделенном объекте. На рис. 1.27 представлен инспектор объектов с информацией о вновь созданной форме.
Окно инспектора объектов имеет три вкладки: Свойства, События, Избранное, которые используются для редактирования свойств объекта и описания событий, на которые будет реагировать данный объект. Совокупность свойств отображает внешнюю сторону объекта, совокупность событий — его поведение.
Вкладки инспектора объектов представляют собой таблицу. В левой колонке расположены названия свойств или событий, в правой — конкретные значения свойств или имена подпрограмм, обрабатывающих события.
Чтобы выбрать свойство или событие, необходимо щёлкнуть левой кнопкой мыши по соответствующей строке.
Свойства, отображённые в таблице, могут быть простыми или сложными. Простые свойства определены единственным значением. Например, свойство Caption (Заголовок) определяется строкой символов, свойства Height (Высота) и Width (Ширина) — числом, свойство Enabled (Допустимость) — значениями True (Истина) и False (Ложь). Сложные свойства определяются совокупностью значений. Например, свойство Font (Шрифт). Слева от имени этого свойства стоит знак "+". Это означает, что свойство сложное, и при щелчке по значку "+" откроется список его составляющих.
Активизировать значение любого свойства можно обычным щелчком мыши. При этом в конце строки может появиться либо кнопка с символом многоточия , либо кнопка со стрелкой, направленной вниз. Щелчок по многоточию откроет диалоговое окно для установки значений сложных свойств (например Font ). Обращение к стрелке приведёт к раскрытию списка возможных значений простого свойства (например Enabled ).
1.4.9 Первая программа в Lazarus
Процесс создания программы в Lazarus состоит из двух этапов:
- формирования внешнего вида программы, её интерфейса;
- написания программного кода на языке программирования Free Pascal, заставляющего работать элементы интерфейса.
Как мы уже выяснили, для создания интерфейса программы существует окно формы, а для написания программного кода — окно редактора. Эти окна тесно связаны между собой, и размещение компонентов на форме приводит к автоматическому изменению программного кода.
Рис. 1.29. Создание нового проекта в среде Windows
Начнём с создания нового проекта. Для этого выполним команду главного меню Проект — Создать проект. В появившемся диалоговом окне (рис. 1.28—1.29) выберем из списка слово Приложение и нажмём кнопку Создать. Результатом этих действий будет появление окна формы и окна редактора программного кода.
Сохраним созданный проект, воспользовавшись командой Проект — Сохранить проект как. Откроется окно сохранения программного кода Сохранить Unit1 (рис. 1.30—1.31).
Создадим в нём новую папку Primer_1 (можно воспользоваться кнопкой Создание новой папки (Создание каталога)), откроем её и щёлкнем по кнопке Сохранить. Тем самым мы сохраним файл Unit1.pas , содержащий текст программы. Сразу же откроется окно Сохранить проект (рис. 1.32—1.33), в котором также необходимо щёлкнуть по кнопке Сохранить. Теперь мы сохранили файл Project1 , содержащий общие сведения о проекте.
На самом деле все наши манипуляции привели к сохранению более чем двух файлов. Теперь в каталоге Primer_1 (рис. 1.34—1.35) хранится файл с текстом программы unit1.pas , файл unit1.lfm 17 Можно задать и имена файлов, отличные от стандартных Unit1. со сведениями о форме Form1, а также файлы project1.lpn и project1.lpi , содержащие настройки системы программирования и параметры конфигурации проекта.
Итак, проект сохранён. Все дальнейшие изменения будем сохранять командой Проект — Сохранить проект.
Теперь можно приступить к визуальному программированию. У нас есть один объект — форма Form1. Изменим некоторые его свойства с помощью инспектора объектов.
Перейдём в окно инспектора объектов и найдем в нём свойство Caption (Заголовок). Свойство формы Caption отвечает за текст, выводимый в заголовке формы. По умолчанию оно имеет значение Form1 . Изменим его на слово ПРИМЕР 1 (рис. 1.36). Это изменение сразу же отразится на форме — в поле заголовка появится надпись "ПРИМЕР 1" (рис. 1.38). Аналогично можно изменить размеры формы, присвоив новые значения свойствам Height (Высота) и Width (Ширина), ещё проще это сделать, изменив положение границы формы с помощью кнопки мыши, как это делается со всеми стандартными окнами.
Изменим ещё одно свойство формы — Position (положение формы на экране). Значения этого свойства не вводятся вручную, а выбираются из списка (рис. 1.37). Если выбрать свойство poScreenCenter , то форма всегда будет появляться в центре экрана.
Напомним, что мы пишем программу про кнопку. Пришло время поместить её на форму. Для этого обратимся к панели компонентов (рис. 1.26) и найдём там компонент Tbutton. Чтобы разместить компонент на форме, нужно сделать два щелчка мышью: первый — по компоненту, второй — по окну формы. В результате форма примет вид, представленный на рис. 1.39.
Теперь у нас два объекта: форма Form1 и кнопка Button1. Напомним, что изменения значений свойств в окне инспектора объектов относятся к выделенно му объекту. Поэтому выделим объект Button1 и изменим его заголовок Caption и размеры Height (высота формы), Width (Ширина формы). В заголовке напишем фразу "Щёлкни мышкой. ", установим ширину 135 пикселей, а высоту — 25 пикселей. Сохраним проект (Проект — Сохранить проект).
Рис. 1.40. Кнопка Запуск на панели инструментов Lazarus
Для того чтобы посмотреть, как работает наша программа, её необходимо запустить на выполнение. Сделать это можно командой Запуск — Запуск, функциональной клавишей F9 или кнопкой Запуск на панели инструментов (рис. 1.40). Созданное окно с кнопкой должно выглядеть, как на рис. 1.41.
Теперь щёлкнем по кнопке и убедимся, что ничего не произойдет. В этом нет ничего удивительного, ведь мы ещё не написали ни одной строчки программного кода. Можно сказать, что мы разработали только внешнюю часть программы, но не позаботились о функциональной. Несмотря на это, в окне редактора появился текст программы:
О назначении всех перечисленных в листинге команд мы поговорим позже. Вернёмся к программе и подумаем, что же мы хотим от нашей кнопки. Скорее всего, это должна быть реакция на какое то событие, например на щелчок мыши. После запуска программы на экране появилось окно, на котором расположена кнопка с надписью "Щёлкни мышкой. ". Предположим, что если мы щёлкнем по ней, она "обрадуется" и сообщит: "УРА! ЗАРАБОТАЛО!".
Для воплощения этой идеи завершим работу программы, закрыв окно с кнопкой обычным способом (щелчком по крестику в правом верхнем углу) и перейдём в режим редактирования. Перейдём к инспектору объектов, выделим кнопку Button1 и обратимся к вкладке События инспектора объектов. Напомним, что здесь расположены описания событий. Выберем событие OnClick — обработка щелчка мыши и дважды щёлкнем в поле справа от названия (рис. 1.42).
В результате описанных действий в окне редактора появится следующий текст:
На данном этапе изложения материала данный текст — это фрагмент программного кода, именуемый подпрограммой. О назначении этой подпрограммы можно догадаться по её имени TForm1.Button1Click : на форме Form1 для объекта кнопка Button1 обрабатывается событие "щелчок мыши" Click . Все команды, написанные между словами begin и end , будут выполняться при наступлении указанного события (щелчка мыши).
Теперь установим курсор между словами begin и end созданной подпрограммы и напишем:
Эта запись означает изменение свойства кнопки. Только теперь мы выполнили его не с помощью инспектора объектов, а записав оператор языка программирования. Прочитать его можно так: присвоить (:=) свойству Caption объекта Button1 значение ’УРА! ЗАРАБОТАЛО!’ . Поскольку присваиваемое значение — строка, оно заключено в одинарные кавычки.
Теперь текст подпрограммы в окне редактора имеет вид:
Сохраним созданную программу, запустим её на выполнение и убедимся, что кнопка реагирует на щелчок мыши (рис. 1.43). Закрыть проект можно командой Проект — Закрыть проект.
Среда программирования Lazarus в школьном курсе информатики используется сравнительно недавно.
Уроки предназначены для учащихся 10 классов и всех тех, кто хочет самостоятельно освоить Lazarus.
В этом уроке дается краткая справочная информация о среде программирования Lazarus, рассказывается об основных инструментах среды разработки программ, определяются основные этапы создания приложений.
В заключении вы можете посмотреть видеоурок, из которого узнаете о различиях проектов Lazarus и Delphi.
Краткая справочная информация
Данный проект базируется на оригинальной кроссплатформенной библиотеке визуальных компонентов Lazarus Component Library (LCL).
Таким образом, разработанные приложения могут функционировать практически под любой операционной системой.
Все, что вы видите на экране во время работы различных приложений, все элементы (кнопки, бегунки, меню и т.п.) можно реализовать в Lazarus.
В Lazarus используется технология визуального программирования. Пользователь для создания графического интерфейса приложения использует готовые компоненты, значки которых находятся на панели компонентов. После того как он помещает компонент на форме, программный код для него генерируется автоматически. Вручную остается запрограммировать только те действия, которые будет выполнять это приложение.
Процесс создания приложения можно разделить на следующие этапы:
1. Создание проекта. В результате на экране появляется пустая форма (окно будущего приложения).
3. Написание программного кода, который определит, что будет делать ваша программа.
4. Отладка программы.
Чтобы познакомится с основными инструментами среды разработки, запустим среду программирования.
Для этого выполните команду:
Пуск => Все программы => Lazarus => Lazarus.
При этом запускается оболочка создания приложений, называемая интегрированной средой разработки IDE (Integrated Development Environment). На экране появиться набор окон.
Вы видите все основные инструменты среды разработки Lazarus:
2. Главное окно, содержащее три панели: меню, панель инструментов, палитру компанентов. Палитру компанентов вы будете использовать для выбора необходимых вам для создания пользовательского интерфейса помпонент.
3. Окно Инспектор объектов, содержащее файлы проекта и окно со вкладкой Свойства, в котором вы будете настраивать свойсктва помещенных на форму объектов.
4. Окно Редактор исходного кода, в котором вы будете писать программный код.
Дадим появившимся окнам краткую характеристику.
Главное окно. Здесь располагаются меню, панель инструментов и палитра компонентов.
На Палитре компонентов, представляющей собой множество тематических вкладок, располагаются визуальные и невизуальные компоненты для вашей будущей программы.
Главное окно остается открытым все время работы IDE. Закрывая его, вы, тем самым, закрываете Lazarus и все открытые в нем окна.
Инспектор объектов содержит четыре страницы
Значения свойств можно менять еще до запуска проектируемой программы. Например, для будущего окна вашего приложения (формы) свойство Name имеет значение Form1. Для изменения имени достаточно изменить его в Инспекторе объектов.
Окно Редактора кода. На момент первого запуска оно имеет заголовок Unit1.
В окне Редактор исходного кода вы будите писать программный код программы, и само окно очень похоже на обычный текстовый редактор. Для удобства при редактировании текста программы строки пронумерованы, предусмотрено выделение цветами:
- все служебные слова выделяются жирным шрифтом;
- знаки препинания становятся красными;
- строки с ошибками выделяются коричневым цветом;
- комментарии могут заключаться в фигурные скобки <> и выделяются синим.
Основную работу программист производит именно здесь.
Проектировщик форм. У каждого Windows-приложения должно быть хотя бы одно окно.
Lazarus при первом запуске автоматически предлагает пользователю новый проект, открывая пустую форму под названием Form1, и назначает его главным окном.
Перенося на него элементы из палитры компонентов, вы тем самым, предварительно оформляете его.
Главное окно в проекте может быть только одно. Все другие создаваемые окна будут дочерними. Закрывая главное окно стандартной кнопкой закрытия окна, или программно, вы закрываете и все дочерние окна.
В этом уроке мы познакомились с основными инструментами разработки программ. В следующем уроке мы напишем свою первую программу.
Задание для самостоятельного выполнения
Для этого существуют две процедуры: Break и Continue.
Процедура Break полностью останавливает цикл. Она очень удобна при поисковых задачах. Например, необходимо в одномерном массиве случайных чисел отыскать первый элемент кратный и 5 и 3. Размер массива равен 100 элементов. Понятно, что можно перебрать все элементы, но искомый элемент найдется быстрее, чем через 100 шагов и все остальные шаги будут лишним. Поэтому после нахождения искомого элемента необходимо будет прервать работу цикла.
if ( f [ j ] mod 5 = 0 ) and ( f [ j ] mod 3 = 0 ) then \ \ Если найден искомый элемент , то memo2 . Lines . Append ( inttostr ( f [ j ] ) + ' №' + inttostr ( j ) ) ; \ \ Записываем этот элемент и его номерВот окно программы после выполнения 23 циклов поиска:
Как видно из изображения цикл не выполнялся до конца, самое большое он выполнился 39 раз. Если сложить все количество выполнения циклов за 23 раза то получим 309. То есть наша программы 309 раз проверила число на кратность 5 и 3. А если бы после получения результата мы бы продолжали проверять до конца цикла программе пришлось бы выполнить поиск 2300 раз. Данная процедура позволяет не тратить лишнее время на обработку ненужной информации.
Процедура Continue не останавливает цикл полностью, она только прекращает выполнение данного шага цикла и передает управление заголовку цикла для выполнения следующего шага.
Вот простая задача6 из случайного массива выбрать положительные числа и возвести их в одиннадцатую степень. В массиве будет 10 элементов.
Если возводить каждый элемент в одиннадцатую степень, а потом выбирать из них положительные, то цикл выполнится 110 раз. А можно сначала проверить число, и если оно отрицательное прервать выполнение данного шага цикла и преступить к следующему. Это не даст циклу возведения в степень выполниться лишние 11 раз.
Для этого существуют две процедуры: Break и Continue.
Процедура Break полностью останавливает цикл. Она очень удобна при поисковых задачах. Например, необходимо в одномерном массиве случайных чисел отыскать первый элемент кратный и 5 и 3. Размер массива равен 100 элементов. Понятно, что можно перебрать все элементы, но искомый элемент найдется быстрее, чем через 100 шагов и все остальные шаги будут лишним. Поэтому после нахождения искомого элемента необходимо будет прервать работу цикла.
if ( f [ j ] mod 5 = 0 ) and ( f [ j ] mod 3 = 0 ) then \ \ Если найден искомый элемент , то memo2 . Lines . Append ( inttostr ( f [ j ] ) + ' №' + inttostr ( j ) ) ; \ \ Записываем этот элемент и его номерВот окно программы после выполнения 23 циклов поиска:
Как видно из изображения цикл не выполнялся до конца, самое большое он выполнился 39 раз. Если сложить все количество выполнения циклов за 23 раза то получим 309. То есть наша программы 309 раз проверила число на кратность 5 и 3. А если бы после получения результата мы бы продолжали проверять до конца цикла программе пришлось бы выполнить поиск 2300 раз. Данная процедура позволяет не тратить лишнее время на обработку ненужной информации.
Процедура Continue не останавливает цикл полностью, она только прекращает выполнение данного шага цикла и передает управление заголовку цикла для выполнения следующего шага.
Вот простая задача6 из случайного массива выбрать положительные числа и возвести их в одиннадцатую степень. В массиве будет 10 элементов.
Если возводить каждый элемент в одиннадцатую степень, а потом выбирать из них положительные, то цикл выполнится 110 раз. А можно сначала проверить число, и если оно отрицательное прервать выполнение данного шага цикла и преступить к следующему. Это не даст циклу возведения в степень выполниться лишние 11 раз.
Читайте также: