Sign in Join
Wiki copytemporary

FCL/ru: what changed

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

OldNewLine
11_Free Component Library_ (**FCL**) - бесплатная и свободная библиотека компонентов Free Pascal. Она состоит из набора модулей, предоставляющих классы и компоненты для общих задач. FCL стремиться быть совместимой с библиотекой визуальных компонентов Delphi - VCL. Однако, FCL ограничивается только не визуальными компонентами. Lazarus так же имеет собственную библиотеку компонентов - LCL (Lazarus component library), с которой вы можете ознакомиться здесь: [[LCL Components]].
22
33
44
5-## Contents
6-
7- * 1 Использование
8- * 2 Подпакеты
9- * 3 Документация
10- * 4 Пример
11- * 5 FCL Компоненты
12-
135### Использование
146
157Чтобы использовать FCL компонент необходимо включить имя [[Unit|модуля]], в котором он реализован, в список после ключевого слова **uses** вашей программы или модуля(см. пример ниже). По умолчанию компилятор будет искать указанный модуль в папках FCL. Вы также можете указать компилятору явный путь поиска, используя параметр командной строки вида: -Fu<папка-к-fcl-модулям>.
168
179
1810
1911### Подпакеты
2012
2113Полный список подпакетов FCL, можно найти здесь: [[Package List]]
2214
2315Среди них можно выделить:
2416
2517 * [[fcl-base]] Основные модули (включает, например [[How To Use TFPExpressionParser|обработчик выражений]])
2618 * [[fcl-async]] Асинхронный ввод/вывод (последовательный?)
2719 * [[fcl-db]] Общая поддержка баз данных + драйвера к ним
2820 * [[fcl-fpcunit]] Модуль тестирования
2921 * [[fcl-image]] Считывание и запись растровых изображений (этакий fpimage)
3022 * [[fcl-json]] Позволяет работать с потоковыми объектами javascript
3123 * [[fcl-net]] Модули для работы с сетью
3224 * [[fcl-passrc]] Обработка и преобразование языка Pascal
3325 * [[fcl-process]] Управление процессами
3426 * [[fcl-registry]] Реестр
3527 * [[fcl-res]] Обработка ресурсов
36- * [fcl-stl](</index.php?title=fcl-stl&action=edit&redlink=1> "fcl-stl \(page does not exist\)") Универсальная библиотека (стандартная библиотека шаблонов)
28+ * [[fcl-stl]] Универсальная библиотека (стандартная библиотека шаблонов)
3729 * [[fcl-web]] Помощник для веб-разработки
3830 * [[fcl-xml]] XML (DOM) модуль и связанные с ним модули.
3931
4032### Документация
4133
4234В настоящее время, FCL не полностью документирован (не стесняйтесь вносить свой вклад; также посмотрите: [ссылка на 'fcl'](<http://lazarus-ccr.sourceforge.net/docs/fcl> "doc:fcl")). Для совместимых с Delphi модулей, вы можете обратиться к документации по Delphi. Вы всегда можете посмотреть исходные файлы в [хранилище исходного кода](<http://www.freepascal.org/cgi-bin/viewcvs.cgi/trunk/packages/>).
4335
4436### Пример
4537
4638Следующая программа демонстрирует использование класса TObjectList в FCL модуле Contnrs:
4739
4840
4941
5042```
5143program TObjectListExample;
5244 {$mode ObjFPC}
5345 uses
5446 Classes, { из RTL для TObject }
5547 Contnrs; { из FCL для TObjectList }
5648
5749 type
5850 TMyObject = class(TObject) { просто некий класс приложения }
5951 private
6052 FName: String; { с строковым полем }
6153 public
6254 constructor Create(AName: String); { и конструктором }
6355 property Name: String read FName; { а так же свойством для чтения }
6456 end;
6557
6658 constructor TMyObject.Create(AName: String);
6759 begin
6860 inherited Create;
6961 FName := AName;
7062 end;
7163
7264 var
7365 VObjectList: TObjectList; { для списка объектов; это ссылка на такой список! }
7466
7567 begin
7668 VObjectList := TObjectList.Create; { создать пустой список }
7769 with VObjectList do
7870 begin
7971 Add(TMyObject.Create('Это первый'));
8072 Writeln((Last as TMyObject).Name);
8173 Add(TMyObject.Create('Это второй'));
8274 Writeln((Last as TMyObject).Name);
8375 end;
8476 end.
8577```
8678
8779Эта программа должна быть скомпилирована в объектно-ориентированном режиме, например: -Mobjfpc или -Mdelphi.
8880
8981### FCL Компоненты
9082
9183Это не полный список (чтобы избежать дублирования). Он содержит только некоторые важные компоненты, или компоненты, которые в противном случае не легко найти.
9284
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 Учебнике]]
85+**Classes**
86+
87+Основные классы для Object Pascal в Delphi режиме
88+
89+**Contnrs**
90+
91+Некоторые общие классы-контейнеры
92+
93+**[[fpcunit|FPCUnit]]**
94+
95+Модуль тестирования (основан на модуле Kent Beck's. См. [JUnit](<http://www.junit.org/>)),[FPCUnit tutorial (pdf)](<http://www.freepascal.org/~michael/articles/fpcunit/fpcunit.pdf>)
96+
97+**XMLRead, XMLWrite и DOM**
98+
99+Подробно в [[XML Tutorial/ru|XML Учебнике]]
101100
102101---
103102*From the Free Pascal wiki, page "FCL/ru", as the Internet Archive kept it on 2025-02-13, last changed on 2020-02-15. 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