Опубликован: 25.06.2014 | Уровень: для всех | Доступ: платный | ВУЗ: Учебный центр "ANIT Texno Inform"
Лекция 1:

Введение в Lazarus

Лекция 1: 12 || Лекция 2 >

Редактор форм, Редактор кода и Окно сообщений

Последние три окна проще. Редактор форм предназначен, соответственно, для редактирования формы - положения и размеров компонентов, размещенных на этой форме.

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

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

Редактор кода

Рис. 1.6. Редактор кода

Нам придется часто переключаться между Редактором форм и Редактором кода. Проще всего это делать кнопкой <F12>.

И, наконец, Окно сообщений выводит различные сообщения: о найденных ошибках, о завершении компиляции, о наличии объявленных, но неиспользуемых переменных и т.п.

Схожесть и отличия с Delphi

Я не мог не упомянуть о Delphi, который является платным аналогом Lazarus, и его предшественником. И Lazarus, и Delphi поддерживают код Объектного Паскаля, используют визуальные и невизуальные компоненты, имеют схожий интерфейс. Взгляните на рисунок:

Окна Delphi 7

увеличить изображение
Рис. 1.7. Окна Delphi 7

Как видите, Lazarus очень похож на Delphi, однако есть и отличия.

  • Lazarus, в отличие от Delphi, бесплатен, и может свободно и легально применяться в любом учебном, государственном или производственном учреждении, или дома.
  • Lazarus имеет собственную библиотеку компонентов LCL (Lazarus Component Library), а Delphi - VCL (Visual Component Library). Однако VCL и LCL во многом так похожи, что программист при работе с компонентами почти не ощущает разницы. Часто (но не всегда) проекты, написанные на Delphi можно без потерь компилировать на Lazarus.
  • Lazarus кросс-платформенная IDE, то есть, поддерживает различные операционные системы. Существует, правда, Kilyx - реализация Delphi для Linux, однако Lazarus имеет реализации для гораздо большего списка операционных систем, причем как 32-х, так и 64-х разрядных версий.
  • Lazarus, в силу того, что моложе Delphi, пока имеет меньшую поддержку: дополнительные компоненты сторонних разработчиков, книги на русском языке, сайты, посвященные языку и т.п.
  • Lazarus имеет менее развитые средства для работы с Базами Данных. Будем надеяться, это временный недостаток.
  • Некоторые компоненты LCL в Lazarus еще "сырые" - иногда попадаются свойства, которые не работают. Чаще всего, это второстепенные свойства, так что можно смело использовать компоненты и без них.

Несмотря на все отличия, эти IDE так похожи, что можно смело утверждать - Delphi-программист почти без усилий сможет пользоваться Lazarus, и наоборот. А бурное развитие молодого Lazarus гарантирует, что в будущем его немногочисленные недостатки будут исправлены.

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

Прежде всего, давайте создадим где-нибудь общую папку, в которую затем будем складывать все наши проекты. Пусть это будет

C:\Education\
(education - образование)

Каждый проект по правилам, должен сохраняться в отдельную папку. Чтобы не запутаться, будем давать этим папкам имена, соответствующие номеру лекции, и номеру проекта в ней (лекция-проект). То есть, в первой лекции первый проект будет сохранен в папку

C:\Education\01-01

Вы можете выработать и собственные правила наименования папок - суть от этого не изменится, лишь бы вы сами потом в них не запутались. Мы несколько раз упомянули слово проект.

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

По традиции, первая созданная программа должна просто выводить сообщение "Hello, world!" ("Привет, мир!"). Не будем отступать от традиций, и сделаем это тремя разными способами. Итак, создадим на диске указанные выше папки, куда сохраним наш первый проект. Загружаем Lazarus, если он еще не загружен, и выделяем редактор форм. В левой части, если вы не забыли, находится Инспектор объектов, и в нем выделена вкладка "Свойства" - это нам и нужно. Среди свойств найдите Caption, и вместо текста

Form1

который там находится по умолчанию, впишите

Hello, world!

По окончании этой процедуры нажмите <Enter>. Как только вы это сделаете, текст в заголовке формы изменится:

Первые шаги

увеличить изображение
Рис. 1.8. Первые шаги

Теперь обратите внимание на Палитру компонентов. На вкладке Standard, четвертый значок изображает кнопку с надписью "Ok" на ней. Эта кнопка нам и нужна.

Кнопка TButton в Палитре компонентов

Рис. 1.9. Кнопка TButton в Палитре компонентов

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

Слева, в Инспекторе объектов, список свойств также изменился - некоторые остались прежними, другие добавились. Поступим, как и в прошлый раз - в свойстве Caption вместо Button1 впишем Hello, world!. Затем мышью изменим размеры и расположение кнопки, чтобы у нас получилось примерно следующее:

Кнопка до и после обработки

увеличить изображение
Рис. 1.10. Кнопка до и после обработки

Обратите внимание: перемещать кнопку по форме можно не только мышью, но и клавишами <Ctrl> + <Кнопки управления курсором> (стрелки вверх, вниз, влево, вправо). А изменять ее размеры - клавишами <Shift> + <Кнопки управления курсором>. Этот способ удобней для более точной настройки положения и размеров любых компонентов, не только кнопки.

Мы попробовали два способа вывести нужный текст. Теперь поработаем с исходным кодом. Щелкните дважды по кнопке, и Lazarus откроет Редактор кода, создав обработчик для этой кнопки, и установив курсор внутрь него. Здесь нам пока ничего понимать не нужно, просто впишите текст, прямо туда, где находится курсор:

ShowMessage('Hello, world!');
    

Чтобы получилось так:

Код обработчика кнопки

Рис. 1.11. Код обработчика кнопки

На этом наш проект закончен. Осталось сохранить его и скомпилировать в программу. Выберите команду меню Файл -> Сохранить все, или (что проще) нажмите соответствующую кнопку на Панели инструментов:

Кнопки сохранения

Рис. 1.12. Кнопки сохранения

Кнопка "Сохранить" сохраняет изменения текущей формы, кнопка "Сохранить всё" - изменения всех форм и модулей проекта. Поскольку форма у нас одна, то можно нажать любую из них. Как только вы это сделаете, выйдет окно сохранения проекта. Вы помните, в какую папку мы будем сохранять первый проект первой лекции? Туда и сохраняйте. Название проекта оставьте без изменений, подробней об этом мы поговорим в следующей лекции.

Как только вы сохраните проект, выйдет еще один запрос - на сохранение файла модуля Unit1. Здесь мы тоже оставляем название по умолчанию, нажмем лишь кнопку "Сохранить". Обратите внимание - кнопки "Сохранить" и "Сохранить всё" стали неактивными - это означает, что ни в форме, ни в проекте в целом у нас изменений нет.

Хорошо, проект мы сохранили, однако работающей программы у нас пока нет. Чтобы ее получить, нужно скомпилировать проект. Причем сделать это можно тремя командами Главного меню:

  • Запуск -> Компилировать
  • Запуск -> Собрать
  • Запуск -> Запустить

Последняя команда не только компилирует проект и создает загрузочный файл программы, но и сразу запускает его на выполнение, так что в большинстве случаев предпочтительней именно эта команда. Удобнее всего воспользоваться соответствующей кнопкой на Панели инструментов:

Кнопка запуска

Рис. 1.13. Кнопка запуска

Нажмите эту кнопку, проект скомпилируется и сразу же запуститься. Как только мы нажмем кнопку "Hello, world!" в окне программы, выскочит записанное в Редакторе кода сообщение:

Работа нашей программы

Рис. 1.14. Работа нашей программы

Нажмите кнопку "Ок", закрыв сообщение, после чего закройте саму программу (не проект!). Если выйдет подобное сообщение:

Сообщение об остановке выполнения

Рис. 1.15. Сообщение об остановке выполнения

то советую нажать кнопку "Больше не показывать это сообщение", чтобы в дальнейшем оно вам не надоедало. После этого можете закрыть и Lazarus. Исполняемый файл project1.exe с нашей программой вы найдете в папке, куда сохраняли проект. Это уже вполне работоспособная программа, её можно запустить прямо из этой папки или переслать другу, чтобы он позавидовал вашим новым знаниям (для выполнения программы требуется только один файл project1.exe, остальные файлы не нужны - это файлы проекта, которые нужны только программисту).

Полезные ссылки

В заключение лекции дам вам несколько ссылок, которые могут оказаться полезными при изучении материалов курса.

  • http://lazarus.freepascal.org/ - Официальный сайт Lazarus. Здесь вы сможете и новые версии найти, и новости почитать.
  • http://wiki.freepascal.org/Main_Page/ru - Русскоязычная документация по Lazarus и Free Pascal. Если постараться, тут можно найти ответы почти на все вопросы, которые непременно у вас будут возникать.
  • http://www.cyberforum.ru/lazarus/ - Большой форум по Lazarus. Форумы вообще очень полезны и информативны, а форумы о программировании особенно. Даже если вы и не смогли найти в Интернете решение вашей проблемы, на форуме непременно найдется какой-нибудь "гуру", который вам поможет советом.
  • http://www.freepascal.ru/ - Русскоязычный информационный портал о Free Pascal и Lazarus. Тоже весьма полезный сайт.
  • http://lazarus.16mb.com/ - А это уже мой сайт, который задумывался для поддержки данного курса. В разделе "Скачать" вы сможете найти исходные коды всех примеров из всех лекций курса на случай, если у вас что-то не будет получаться, или будет просто лень набивать код самостоятельно. Там же вы найдете и сможете скачать все инструменты программиста, которые рассматриваются на данном курсе, за исключением самого Lazarus - программа очень часто обновляется, а на сайте разработчика всегда самая свежая версия, поэтому скачивать Lazarus разумней там. Так же, на сайте я постараюсь почаще выкладывать дополнительный материал, не вошедший в данный курс.
Лекция 1: 12 || Лекция 2 >
Инга Готфрид
Инга Готфрид
Александр Скрябнев
Александр Скрябнев

Через WMI, или используя утилиту wmic? А может есть еще какие более простые пути...