Sign in Join
Wiki copytemporary

FCL/ru: what changed

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

Title: FCL/ru

OldNewLine
1+_Free Component Library_ (**FCL**) - бесплатная и свободная библиотека компонентов Free Pascal. Она состоит из набора модулей, предоставляющих классы и компоненты для общих задач. FCL стремиться быть совместимой с библиотекой визуальных компонентов Delphi - VCL. Однако, FCL ограничивается только не визуальными компонентами. Lazarus так же имеет собственную библиотеку компонентов - LCL (Lazarus component library), с которой вы можете ознакомиться здесь: [[LCL Components]].
2+
3+
4+
5+## Contents
6+
7+ * 1 Использование
8+ * 2 Подпакеты
9+ * 3 Документация
10+ * 4 Пример
11+ * 5 FCL Компоненты
12+
13+### Использование
14+
15+Чтобы использовать FCL компонент необходимо включить имя [[Unit|модуля]], в котором он реализован, в список после ключевого слова **uses** вашей программы или модуля(см. пример ниже). По умолчанию компилятор будет искать указанный модуль в папках FCL. Вы также можете указать компилятору явный путь поиска, используя параметр командной строки вида: -Fu<папка-к-fcl-модулям>.
16+
17+
18+
19+### Подпакеты
20+
21+Полный список подпакетов FCL, можно найти здесь: [[Package List]]
22+
23+Среди них можно выделить:
24+
25+ * [[fcl-base]] Основные модули (включает, например [[How To Use TFPExpressionParser|обработчик выражений]])
26+ * [[fcl-async]] Асинхронный ввод/вывод (последовательный?)
27+ * [[fcl-db]] Общая поддержка баз данных + драйвера к ним
28+ * [[fcl-fpcunit]] Модуль тестирования
29+ * [[fcl-image]] Считывание и запись растровых изображений (этакий fpimage)
30+ * [[fcl-json]] Позволяет работать с потоковыми объектами javascript
31+ * [[fcl-net]] Модули для работы с сетью
32+ * [[fcl-passrc]] Обработка и преобразование языка Pascal
33+ * [[fcl-process]] Управление процессами
34+ * [[fcl-registry]] Реестр
35+ * [[fcl-res]] Обработка ресурсов
36+ * [fcl-stl](</index.php?title=fcl-stl&action=edit&redlink=1> "fcl-stl \(page does not exist\)") Универсальная библиотека (стандартная библиотека шаблонов)
37+ * [[fcl-web]] Помощник для веб-разработки
38+ * [[fcl-xml]] XML (DOM) модуль и связанные с ним модули.
39+
40+### Документация
41+
42+В настоящее время, FCL не полностью документирован (не стесняйтесь вносить свой вклад; также посмотрите: [ссылка на 'fcl'](<http://lazarus-ccr.sourceforge.net/docs/fcl> "doc:fcl")). Для совместимых с Delphi модулей, вы можете обратиться к документации по Delphi. Вы всегда можете посмотреть исходные файлы в [хранилище исходного кода](<http://www.freepascal.org/cgi-bin/viewcvs.cgi/trunk/packages/>).
43+
44+### Пример
45+
46+Следующая программа демонстрирует использование класса TObjectList в FCL модуле Contnrs:
47+
48+
49+
50+```
51+program TObjectListExample;
52+ {$mode ObjFPC}
53+ uses
54+ Classes, { из RTL для TObject }
55+ Contnrs; { из FCL для TObjectList }
56+
57+ type
58+ TMyObject = class(TObject) { просто некий класс приложения }
59+ private
60+ FName: String; { с строковым полем }
61+ public
62+ constructor Create(AName: String); { и конструктором }
63+ property Name: String read FName; { а так же свойством для чтения }
64+ end;
65+
66+ constructor TMyObject.Create(AName: String);
67+ begin
68+ inherited Create;
69+ FName := AName;
70+ end;
71+
72+ var
73+ VObjectList: TObjectList; { для списка объектов; это ссылка на такой список! }
74+
75+ begin
76+ VObjectList := TObjectList.Create; { создать пустой список }
77+ with VObjectList do
78+ begin
79+ Add(TMyObject.Create('Это первый'));
80+ Writeln((Last as TMyObject).Name);
81+ Add(TMyObject.Create('Это второй'));
82+ Writeln((Last as TMyObject).Name);
83+ end;
84+ end.
85+```
86+
87+Эта программа должна быть скомпилирована в объектно-ориентированном режиме, например: -Mobjfpc или -Mdelphi.
88+
89+### FCL Компоненты
90+
91+Это не полный список (чтобы избежать дублирования). Он содержит только некоторые важные компоненты, или компоненты, которые в противном случае не легко найти.
92+
93+Classes
94+ Основные классы для Object Pascal в Delphi режиме
95+Contnrs
96+ Некоторые общие классы-контейнеры
97+[[fpcunit|FPCUnit]]
98+ Модуль тестирования (основан на модуле Kent Beck's. См. [JUnit](<http://www.junit.org/>)),[FPCUnit tutorial (pdf)](<http://www.freepascal.org/~michael/articles/fpcunit/fpcunit.pdf>)
99+XMLRead, XMLWrite и DOM
100+ Подробно в [[XML Tutorial/ru|XML Учебнике]]
101+
102+---
103+*From the Free Pascal wiki, page "FCL/ru", as the Internet Archive kept it on 2025-02-13. 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).*

Back to history