Difference between revisions of "Lazarus For Delphi Users/ru"

From Lazarus wiki
Jump to navigationJump to search
Line 18: Line 18:
 
В меню '''Сервис''' выберите команду '''Преобразовать проект Delphi в проект Lazarus'''. Не стоит ждать, что так будет преобразовано абсолютно всё, тем не менее, это хорошее начало. Учтите, что средства Lazarus выполняют, в основном, преобразования в одном направлении. Если вам надо сохранить совместимость с Delphi (компилировать проект и в Delphi, и в Lazarus) рассмотрите использование [[XDev Toolkit]].
 
В меню '''Сервис''' выберите команду '''Преобразовать проект Delphi в проект Lazarus'''. Не стоит ждать, что так будет преобразовано абсолютно всё, тем не менее, это хорошее начало. Учтите, что средства Lazarus выполняют, в основном, преобразования в одном направлении. Если вам надо сохранить совместимость с Delphi (компилировать проект и в Delphi, и в Lazarus) рассмотрите использование [[XDev Toolkit]].
 
=== Поддержка Юникод ===
 
=== Поддержка Юникод ===
Delphi до версии 2007 не поддерживала Юникод, а использовала кодировку Windows ANSI. Поддержка Юникод в кодировке UTF-16 поддерживается в Delphi с версии 2009.
+
Delphi до версии 2007 не поддерживала Юникод, а использовала кодировку Windows ANSI. Юникод в кодировке UTF-16 поддерживается в Delphi с версии 2009.
  
 
В Lazarus поддержка Юникод реализована раньше в кодировке UTF-8 (см. [[LCL_Unicode_Support/ru|Поддержка Юникод в LCL]]).
 
В Lazarus поддержка Юникод реализована раньше в кодировке UTF-8 (см. [[LCL_Unicode_Support/ru|Поддержка Юникод в LCL]]).
 +
 
== Delphi IDE -> Lazarus IDE  ==
 
== Delphi IDE -> Lazarus IDE  ==
 
=== Проекты ===
 
=== Проекты ===

Revision as of 18:11, 26 January 2015

Deutsch (de) English (en) español (es) français (fr) 日本語 (ja) 한국어 (ko) português (pt) русский (ru) slovenčina (sk)

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

Delphi -> Lazarus

Lazarus - среда быстрой разработки приложений (RAD), как и Delphi. Это значит, что она состоит из библиотеки визуальных компонентов и среды разработки (IDE). Библиотека компонентов Lazarus (LCL) похожа на библиотеку визуальных компонентов Delphi (VCL). Большинство модулей, классов и свойств Lazarus обладают такими же именами и функциями, как их аналоги в Delphi. Это делает относительно лёгким перенос приложений Delphi в Lazarus. Однако Lazarus не является 'клоном Delphi с открытым кодом', поэтому не следует ожидать 100%-ной совместимости.

Самые большие различия между Lazarus и Delphi

  • код Lazarus полностью открыт
  • Lazarus написан кроссплатформенным способом
  • Lazarus использует компилятор Free Pascal (FPC)

FPC работает на 15 платформах. Однако не все пакеты и библиотеки FPC портированы на все платформы, поэтому Lazarus работает на:

  • Linux (i386, x86_64)
  • FreeBSD (i386)
  • Mac OS X (powerpc, i386)
  • Windows (i386, x86_64)

Работа над Lazarus, как и над этим текстом, не закончена. Мы всё время ищем новых разработчиков и технических писателей...

С чего начать перенос проекта Delphi в Lazarus

В меню Сервис выберите команду Преобразовать проект Delphi в проект Lazarus. Не стоит ждать, что так будет преобразовано абсолютно всё, тем не менее, это хорошее начало. Учтите, что средства Lazarus выполняют, в основном, преобразования в одном направлении. Если вам надо сохранить совместимость с Delphi (компилировать проект и в Delphi, и в Lazarus) рассмотрите использование XDev Toolkit.

Поддержка Юникод

Delphi до версии 2007 не поддерживала Юникод, а использовала кодировку Windows ANSI. Юникод в кодировке UTF-16 поддерживается в Delphi с версии 2009.

В Lazarus поддержка Юникод реализована раньше в кодировке UTF-8 (см. Поддержка Юникод в LCL).

Delphi IDE -> Lazarus IDE

Проекты

Главным в приложении Delphi является файл .dpr. Файл .dpr также содержит главный код программы Delphi и является местом, где среда разработки Delphi хранит сведения о соответствующих ключах компилятора и нахождении модулей. В приложении Lazarus есть файл .lpr, который также является основным файлом кода проекта на языке Pascal. Тем не менее, главным в проекте Lazarus является файл .lpi (Lazarus Project Information), который создаётся вместе с файлом .lpr. Все данные проекта (ключи компилятора, пути к модулям и т.п.) хранятся в файле .lpi. Поэтому важнейшим является файл .lpi. На большинстве платформ двойной щелчок по файлу .lpi открывает проект в среде разработки Lazarus.

Delphi хранит пути к модулям проекта в файле .dpr. Пример:

unit1 in 'path/Unit1.pas';

Такие пути со словом 'in' специфичны для Delphi, и не работают в Lazarus, поэтому не используйте их. Вместо этого в параметрах проекта (Проект->Параметры проекта...) на странице Параметры компилятора->Пути задайте пути к модулям, находящимся за пределами каталога проекта. Большинство путей к модулям задаются автоматически после добавления зависимости от какого-либо пакета. Например, во все стандартные проекты Lazarus LCL по умолчанию добавляется зависимость от пакета LCL, поэтому в каждом новом проекте Lazarus LCL (Проект->Создать проект...->Приложение) пути ко всем модулям LCL известны без вашего участия.

Delphi хранит параметры компилятора в файле .dpr (например, {$APPTYPE CONSOLE}). Lazarus игнорирует такую запись. Вместо этого используйте страницу Параметры компилятора в диалоге Параметры проекта.