Sign in Join
Wiki copytemporary

Code Conversion Guide/ru: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11## Портирование кода из Delphi на FreePascal/Lazarus
22
33**Добавьте в начало модуля следующую строчку:**
4-```
5-{$ifdef FPC}{$mode delphi}{$endif}
4+
5+``` pascal
6+ {$ifdef FPC}{$mode delphi}{$endif}
67```
78
8-FPC поддерживает синтаксис Delphi, но, по-умолчанию, использует использует свой собственный _fpc_. Lazarus, по-умолчанию использует синтаксис _objfpc_ для нового проекта. Указанная выше строчка указывает, что при компиляции данного модуля необходимо использовать синтаксис Delphi.
9+FPC поддерживает синтаксис Delphi, но, по-умолчанию, использует использует свой собственный *fpc*. Lazarus, по-умолчанию использует синтаксис *objfpc* для нового проекта. Указанная выше строчка указывает, что при компиляции данного модуля необходимо использовать синтаксис Delphi.
910
10-Если модулей очень много, то проще переключить синтаксис для всего проекта:
11+Если модулей очень много, то проще переключить синтаксис для всего проекта:
1112
12-если вы используете только FPC компилятор, используя параметр командной строки:
13-```
14--Mdelphi
15-```
13+если вы используете только FPC компилятор, используя параметр командной строки:
1614
17-если вы используете Lazarus, поменяйте свойство проекта:
18-```
19-(англ) Project -> Project Options... -> Compiler Options -> Parsing -> Syntax mode -> Delphi.
20- (рус) Проект -> Параметры проекта... -> Параметры компилятора -> Обработка -> Режим синтаксиса -> Delphi
21-```
15+` -Mdelphi`
2216
23-Использование Delphi синтаксиса поможет избежать "непонятных" ошибок компилятора, таком коде как:
24-```
25-var
26- NE : TNotifyEvent;
27-
28- procedure TForm1.Notify(Sender: TObject);
29- begin
30- // do something
31- end;
32-
33- ...
34- begin
35- NE := Form1.Notify; // без использования Delphi синтаксиса, строчка вызывает ошибку
36-
37- // для синтаксиса FPC, строчка должна выглядеть так:
38- // NE := @Form1.Notify;
39- end.
17+если вы используете Lazarus, поменяйте свойство проекта:
18+
19+`(англ) Project -> Project Options... -> Compiler Options -> Parsing -> Syntax mode -> Delphi.`\
20+`(рус) Проект -> Параметры проекта... -> Параметры компилятора -> Обработка -> Режим синтаксиса -> Delphi`
21+
22+Использование Delphi синтаксиса поможет избежать "непонятных" ошибок компилятора, таком коде как:
23+
24+``` pascal
25+ var
26+ NE : TNotifyEvent;
27+
28+ procedure TForm1.Notify(Sender: TObject);
29+ begin
30+ // do something
31+ end;
32+
33+ ...
34+ begin
35+ NE := Form1.Notify; // без использования Delphi синтаксиса, строчка вызывает ошибку
36+
37+ // для синтаксиса FPC, строчка должна выглядеть так:
38+ // NE := @Form1.Notify;
39+ end.
4040```
4141
4242Использование синтаксиса Delphi при компиляции с помощью FPC, позволяет компилировать одни и те же модули с помощью обоих компиляторов (FPC/Delphi) без дополнительных исправлений.
4343
4444---
45-*From the Free Pascal wiki, page "Code Conversion Guide/ru", as the Internet Archive kept it on 2025-01-23. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
45+*From the Free Pascal wiki, page "Code Conversion Guide/ru", as it stood on 2019-08-02 after a change by Zoltanleo, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
46+Category: Russian (unfinished translation)

Back to history