Lazarus это ide использующая компилятор

Обновлено: 08.07.2024

Free Pascal (FPC) компилятор с открытыми исходными кодами с двумя важными особенностями: высокая совместимость с Delphi и доступность для большого количества платформ, включая Windows, Mac OS X, и Linux. Совместимость Free Pascal с Delphi включает не только поддержку того же языка программирования Object Pascal который использует Delphi, но также библиотеки конструкции и классы, которые "понимает" Delphi, например System, SysUtils, StrUtils, DateUtils, Classes, Variants, Math, IniFiles and Registry, которые включены в Free Pascal и поддерживаются всеми платформами. Free Pascal также включает модули Windows, ShellAPI, BaseUnix, Unix и DynLibs для доступа к специфичным для конкретной ОС фичам. Около дюжины модулей составляют ядро обычно упоминающееся как Free Pascal run-time library (RTL).

Lazarus - это система с открытым исходным кодом, которая построена на компиляторе Free Pascal Compiler с добавлением Интегрированной Среды Разработки (IDE), которая включает в себя подсветку синтаксиса, редактор кода и визуальный проектировщик форм, а также библиотеку компонентов, которая очень хорошо совместима с Библиотекой Визуальных Компонентов Delphi (VCL). Библиотека Визуальных Компонентов Lazarus (LCL) включает эквиваленты для большинства контролов из VCL например, формы, кнопки, текстовые поля и так далее, которые используются для создания приложений, которые имеют графический интерфейс (GUI).

И Free Pascal и Lazarus написаны на Pascal. Полный исходный код доступен не только для Free Pascal compiler и Lazarus IDE, но и также для всех модулей составляющих Free Pascal RTL и Lazarus LCL.

Подобно Delphi, Free Pascal и Lazarus являются многоцелевым инструментом программирования, то есть вы можете создавать программы различных типов, включая следующие:

Contents

Консольные приложения

Консольные приложения не имеют графического интерфейса (GUI). Обычно они запускаются в консоли, читают информацию с консоли и выводят результаты на консоль. В Windows консоли обычно соответствует окно командной строке. В OS X и Linux консоли соответствует окно терминала. Консольные приложения это, как правило, небольшие утилиты, такие как программа FC (file compare - сравнение файлов) в Windows или команды cd и cp в Unix. Консольные приложения могут быть также мощными программами для тестирования, моделирования или управления данными, которые не нуждаются в причудливом GUI, потому как они запускаются другими программами или из командных файлов. Компилятор Free Pascal и прилагающийся набор утилит являются консольными приложениями, то есть могут быть запущены в консоли, из командных файлов или из IDE Lazarus.


Для создания консольного приложения необходим только текстовый редактор и компилятор FreePascal. Вам не нужно использовать Lazarus для создания консольных приложений. Однако, если вы предпочитаете работать в интегрированном окружении, то вы можете создать проект для консольного приложения, редактировать и компилировать код в IDE Lazarus.

Динамически-подгружаемые библиотеки (DLL)

Также, как и в случае консольных приложений, для разработки библиотеки вам необходим только текстовый редактор и компилятор FreePascal, хотя вы также можете создать проект библиотеки в Lazarus и разрабатывать библиотеку в IDE Lazarus.

В Windows, DLL-ки имеют незаслуженную репутацию сложных и нестабильных элементов. Это больше относится к тому каким способом они иногда устанавливаются, нежели к использованию DLL как таковых. В действительности, так как обмен информацией с DLL обычно идет при помощи стандартных простых типов данных (вместо специфичных для языка объектов и структур), то это требование заставляет программистов уделять больше внимания тому что они делают. Если все сделано правильно, то в результате получаются более стабильные и хорошие программы.

GUI приложения

Большинство программ, которые мы используем каждый день это GUI-приложения, среди которых текстовые процессоры, Web-браузеры, электронные таблицы и даже инструменты разработки. Lazarus и Delphi это прекрасные примеры полностью укомплектованных GUI-приложений. При разработке GUI-приложения в Lazarus, вы не только пишете код на Pascal, но также создаете формы, содержащие визуальные элементы, такие как кнопки и списки (ListBox). Также как и в Delphi, разработка форм в Lazarus производится визуально. Свойства элементов могут быть изменены при помощи IDE или программно.

Поскольку LCL элементы доступны для всех поддерживаемых платформ, то GUI-приложения созданные на одной платформе (например Windows) могут быть скомпилированы на другой платформе (например OS X или Linux) без изменения формы или файлов с сопутствующим кодом формы.

Внутренне устройство Lazarus

Программы, написанные в Lazarus, используют следующею архитектуру:

Lazarus App Architecture Ru.jpg

LCL представляет собой следующею архитектуру:

LCL Architecture Ru.jpg

LCL имеет платформенно-независимые модули, содержащие элементы управления, формы, кнопки и т.п. Они не могут работать самостоятельно, так как сами по себе абстрактны и опираются на внутренний функционал выбранной библиотеки. LCL предоставляет множество различных интерфейсов, которые взаимодействуют с нужными библиотеками (win32, gtk, qt, carbon, cocoa и т.д.). При создании приложения в среде разработки lazarus, интерфейсы связываются с нужными библиотеками автоматически. Необходимые библиотеки для работы приложения выбираются во время компиляции и не могут быть изменены во время выполнения.

Знакомство с историей развития языков программирования и диалектов Pascal ; первое знакомство с IDE Lazarus и компилятором Free Pascal ; изучение компонентов TForm, TLabel, TButton; создание первого проекта.

Исторический экскурс

Историю развития языков программирования, пожалуй, можно начать с первой в мире программистки Ады Лавлейс (Августа Ада Кинг, графиня Лавлейс, математик). Ада Лавлейс родилась 10 декабря 1815 г. в Лондоне, была известна описанием вычислительной машины (механическая машина Ч. Бэббиджа), в разработке которой она принимала участие, и созданием первой программы для нее. Ввела в употребление термины "цикл" и "рабочая ячейка ". В честь Ады Лавлейс в 1975 году был назван язык программирования Ада.

Реально языки программирования получили развитие в 1945-1955 гг., когда появились первые ЭВМ (Электронные Вычислительные Машины), для которых программы составлялись вначале на машинном языке, а затем и на Ассемблере - мнемоническом представлении машинного языка. И если "чистым" машинным языком уже давно никто не пользуется, то Ассемблер все еще применяется там, где требуется либо сверхмалый размер программы, либо большая скорость ее работы, то есть, в основном, для создания критических участков ОС (Операционных Систем) или драйверов, для программирования микропроцессоров в различных платах, устройствах. Написать большую современную программу на Ассемблере - невероятно сложная, а то и невыполнимая задача.

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

Язык высокого уровня (или высокоуровневый язык) - это язык программирования, наиболее приближенный к человеческому языку. Он содержит смысловые конструкции, описывает структуры данных, выполняет над ними различные операции.

Современные языки высокого уровня оперируют уже целыми объектами - сложными конструкциями, обладающими определенным состоянием и поведением.

Поскольку Lazarus основан на Паскале (точнее, на Объектном Паскале), историю других высокоуровневых языков в рамках данного курса мы рассматривать не будем.

В 1983 г. фирма Borland, известная разработкой Delphi - платного предшественника Lazarus, выпустила Turbo Pascal - интегрированную среду разработки программ на языке Паскаль . Turbo Pascal - это компилятор , компоновщик, редактор кода и отладчик в одном окне. Он подобен швейцарскому ножу, где множество разных инструментов вмонтировано в единое устройство. Для программистов Turbo Pascal примечателен тем, что он стал своеобразным прародителем сред быстрой разработки программ.

В 1986 г. появился язык Object Pascal (Объектный Паскаль ), разработанный в фирме Apple Computer . Этот диалект Паскаля уже мог оперировать объектами.

В 1989 г. объектное расширение Паскаля было добавлено и в Turbo Pascal фирмы Borland.

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

Все эти языки и среды были платными, часто оказывались недоступны образовательным учреждениям в силу своей дороговизны. В 1993 г. начались работы над проектом Free Pascal (FPC - Free Pascal Compiler ). Первая версия FPC появилась лишь в июле 2000 г., она была полностью бесплатная и поддерживала множество платформ: Windows , Linux, FreeBSD, Mac OS X и т.п. FPC - это бесплатный открытый проект, его исходные коды для изучения или модификации доступны каждому! Чуть позже появился Lazarus - единственная в мире бесплатная графическая среда для быстрой разработки программ, использующая компилятор FPC. Как и FPC, Lazarus распространяется на условиях лицензии GNU GPL ( General Public License). Если не особо вдаваться в юридические подробности, то GNU GPL - это лицензия , предоставляющая пользователю права свободно и бесплатно копировать, модифицировать и распространять (в том числе и на коммерческой основе) данный продукт. По этой же лицензии распространяются все версии ОС (Операционной Системы) Linux - бесплатном и довольно серьезном конкуренте Windows .

Итак, мы с вами будем говорить о последней (на момент написания курса) версии Lazarus - 1.0.10, работающей с компилятором FPC 2.6.2. Lazarus - молодой и бурно-развивающийся проект, новые версии выходят довольно часто, так что вы, вероятно, будете пользоваться более свежей версией. Тем не менее, на курсе рассматриваются фундаментальные вопросы программирования, которые едва ли будут пересматриваться. Так что можете изучать предоставленный материал, пользуясь версией Lazarus 1.0.10 или любой более свежей.

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

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

Что такое Lazarus?

Lazarus - это IDE (Integrated Development Environment) - Интегрированная Среда Разработки программ, использующая компилятор FPC (Free Pascal Compiler), редакторы кода, форм, Инспектор Объектов, отладчик и многие другие инструменты.

Еще говорят, что среда Lazarus - это RAD (Rapid Application Development) - среда Быстрой Разработки Приложений.

До сих пор среды разработки программ, подобные Lazarus, были исключительно платными. Lazarus же стал первой (и пока единственной) IDE , доступной образовательным и государственным учреждениям совершенно бесплатно. Более того, Lazarus является проектом Open Source - проектом с открытым исходным кодом. Многие программисты по всему миру принимают участие в его развитии, исходный код Lazarus доступен для изучения и модификации. Lazarus имеет поддержку множества языков, в том числе и русского, что выгодно отличает его от других IDE .

Где взять?

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

Выбор и закачка необходимой реализации


Рис. 1.1. Выбор и закачка необходимой реализации

Здесь вы сможете выбрать реализацию именно под вашу платформу, от Windows до Mac OS X, как 32-х так и 64-х разрядную. При написании курса использовался 32-х разрядный Lazarus для платформы Windows .

В этом случае, перейдя по ссылкам, вы получите доступ к закачке нескольких файлов, например,

  • lazarus-1.0.10-fpc-2.6.2-win32.exe
  • lazarus-1.0.10-fpc-2.6.2-cross-arm-wince-win32.exe
  • README.txt

Нам нужен только первый файл из этого списка. Второй файл является расширением для разработки программ под Windows CE (она же WinCE) - это вариант операционной системы Microsoft Windows для наладонных компьютеров, смартфонов и встраиваемых систем. На данном курсе эту возможность мы рассматривать не будем. Последний файл - простой текстовый файл с информацией о версии, он нам тоже не нужен.

Как установить?

Lazarus устанавливается достаточно просто. Собственно, ничего менять нам не придется, оставим все параметры, предложенные установщиком по умолчанию. Для начала выберем русский язык установки, затем все время будем нажимать кнопки "Далее". Лишь в предпоследнем окне установщика при желании можно поставить флажок "Создать значок на Рабочем столе". Когда укажем все параметры, начнется установка Lazarus. Придется подождать пару минут, пока распакуются и скопируются множество файлов. И, наконец, кнопка "Завершить" для закрытия окна установщика. Все, Lazarus у нас есть! Мы можем его загрузить.

В самом начале Lazarus выглядит несколько неопрятно:

Первый запуск Lazarus

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

Среда программирования Lazarus в школьном курсе информатики используется сравнительно недавно.

Уроки предназначены для учащихся 10 классов и всех тех, кто хочет самостоятельно освоить Lazarus.

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

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

Lazarus

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

Данный проект базируется на оригинальной кроссплатформенной библиотеке визуальных компонентов Lazarus Component Library (LCL).

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

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

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

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

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

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

4. Отладка программы.

Чтобы познакомится с основными инструментами среды разработки, запустим среду программирования.

Для этого выполните команду:

Пуск => Все программы => Lazarus => Lazarus.

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

Окна Lazarus

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

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

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

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

Дадим появившимся окнам краткую характеристику.

Главное окно. Здесь располагаются меню, панель инструментов и палитра компонентов.

Главное окно Lazarus

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

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

Инспектор объектов содержит четыре страницы

Урок 1. Система программирования LAZARUS

Значения свойств можно менять еще до запуска проектируемой программы. Например, для будущего окна вашего приложения (формы) свойство Name имеет значение Form1. Для изменения имени достаточно изменить его в Инспекторе объектов.

Окно Редактора кода. На момент первого запуска оно имеет заголовок Unit1.

Lazarus. Окно Редактор исходного кода

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

  • все служебные слова выделяются жирным шрифтом;
  • знаки препинания становятся красными;
  • строки с ошибками выделяются коричневым цветом;
  • комментарии могут заключаться в фигурные скобки <> и выделяются синим.

Основную работу программист производит именно здесь.

Проектировщик форм. У каждого Windows-приложения должно быть хотя бы одно окно.

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

Lazarus. Окно Форма

Перенося на него элементы из палитры компонентов, вы тем самым, предварительно оформляете его.

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

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

Задание для самостоятельного выполнения

На данный момент существует несколько версий Lazarus (для Linux, Free/Open/NetBSD, а также для MacOSX). Мы рассмотрим Lazarus на примере его Windows-разновидности, так как эта операционная система распространена более других. Версии для других ОС, как правило, отличаются незначительно, и отличия эти в основном внутренние.

Главное окно Lazarus

Главное окно Lazarus

Работа
Работа в Lazarus также мало отличается от работы в Delphi. Все основные приемы абсолютно аналогичны, хотя местами и встречаются небольшие отличия. Именно на них мне и хотелось бы остановиться.
Библиотека классов для Lazarus (аналог VCL) называется LCL (Lazarus component library). Имена большинства её юнитов, классов, их свойств и событий совпадают со своими Delphi-аналогами, что только облегчает переход на Lazarus.
Наибольший интерес представляют сервисные функции Редактора кода, которых нет в Delphi. Так, например, вы можете не описывать переменные вручную: достаточно один раз упомянуть в теле функции что-то вроде « i:=1 » и нажать Ctrl+Shift+C — Lazarus сам добавит в раздел Var описание i: integer .
Ещё одна полезная особенность: попробуйте набрать русский текст вне комментариев или ограничителей строковой переменной — ничего у вас не получится. Lazarus помнит, что синтаксис Pascal включает в себя только символы латиницы и блокирует всё лишнее.
Таких мелочей довольно много и их подробному описанию можно посвятить отдельную статью. Но, как говорится, лучше один раз увидеть…

Пример формы

Если вы хотите побольше узнать об отличиях Lazarus от Delphi, то загляните в раздел «Documentation» официального сайта — там есть целая страница, посвящённая этой теме.
В целом Lazarus работает довольно стабильно и «вылетает» даже реже Delphi 7. Есть, конечно, мелкие недостатки, но, будем надеяться, в финальной версии (а последняя на данный момент носит номер 0.9.2 beta) их исправят.

Итого
В заключение хотелось бы обобщить все основные моменты.
Итак, к основным достоинствам Lazarus можно отнести:
+ абсолютную бесплатность;
+ открытый исходный код (GPL);
+ обширную библиотеку классов от FreePascal;
+ возможность локализации интерфейса;
+ большое сходство с Delphi;
+ стабильную работу;
+ поддержку большого числа платформ.
Но, к сожалению, имеют место и некоторые недостатки (большинство из которых, скорее всего, будет устранено к выходу официальной версии):
– много мелких глюков;
– отсутствие справки (если не считать online-документацию, в которой пока ещё очень много пробелов);
– слишком большой размер генерируемых исполняемых файлов (для «пустого» проекта с использованием LCL — более 5 Мбайт, после упаковки UPX — 2 Мбайт).
Как видите, плюсов всё-таки больше (по крайней мере, на мой взгляд). Посмотрим, что получится в итоге…

Читайте также: