FCL/ru
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
Bahasa Indonesia (id) │
日本語 (ja) │
русский (ru) │
中文(中国大陆) (zh_CN) │
Free Component Library (FCL) - бесплатная и свободная библиотека компонентов Free Pascal. Она состоит из набора модулей, предоставляющих классы и компоненты для общих задач. FCL стремиться быть совместимой с библиотекой визуальных компонентов Delphi - VCL. Однако, FCL ограничивается только не визуальными компонентами. Lazarus так же имеет собственную библиотеку компонентов - LCL (Lazarus component library), с которой вы можете ознакомиться здесь: LCL Components.
Использование
Чтобы использовать FCL компонент необходимо включить имя модуля, в котором он реализован, в список после ключевого слова uses вашей программы или модуля(см. пример ниже). По умолчанию компилятор будет искать указанный модуль в папках FCL. Вы также можете указать компилятору явный путь поиска, используя параметр командной строки вида: -Fu<папка-к-fcl-модулям>.
Подпакеты
Полный список подпакетов FCL, можно найти здесь: Package List
Среди них можно выделить:
- fcl-base Основные модули (включает, например обработчик выражений)
- fcl-async Асинхронный ввод/вывод (последовательный?)
- fcl-db Общая поддержка баз данных + драйвера к ним
- fcl-fpcunit Модуль тестирования
- fcl-image Считывание и запись растровых изображений (этакий fpimage)
- fcl-json Позволяет работать с потоковыми объектами javascript
- fcl-net Модули для работы с сетью
- fcl-passrc Обработка и преобразование языка Pascal
- fcl-process Управление процессами
- fcl-registry Реестр
- fcl-res Обработка ресурсов
- fcl-stl Универсальная библиотека (стандартная библиотека шаблонов)
- fcl-web Помощник для веб-разработки
- fcl-xml XML (DOM) модуль и связанные с ним модули.
Документация
В настоящее время, FCL не полностью документирован (не стесняйтесь вносить свой вклад; также посмотрите: ссылка на 'fcl'). Для совместимых с Delphi модулей, вы можете обратиться к документации по Delphi. Вы всегда можете посмотреть исходные файлы в хранилище исходного кода.
Пример
Следующая программа демонстрирует использование класса TObjectList в FCL модуле Contnrs:
program TObjectListExample;
{$mode ObjFPC}
uses
Classes, { из RTL для TObject }
Contnrs; { из FCL для TObjectList }
type
TMyObject = class(TObject) { просто некий класс приложения }
private
FName: String; { с строковым полем }
public
constructor Create(AName: String); { и конструктором }
property Name: String read FName; { а так же свойством для чтения }
end;
constructor TMyObject.Create(AName: String);
begin
inherited Create;
FName := AName;
end;
var
VObjectList: TObjectList; { для списка объектов; это ссылка на такой список! }
begin
VObjectList := TObjectList.Create; { создать пустой список }
with VObjectList do
begin
Add(TMyObject.Create('Это первый'));
Writeln((Last as TMyObject).Name);
Add(TMyObject.Create('Это второй'));
Writeln((Last as TMyObject).Name);
end;
end.
Эта программа должна быть скомпилирована в объектно-ориентированном режиме, например: -Mobjfpc или -Mdelphi.
FCL Компоненты
Это не полный список (чтобы избежать дублирования). Он содержит только некоторые важные компоненты, или компоненты, которые в противном случае не легко найти.
- Classes
- Основные классы для Object Pascal в Delphi режиме
- Contnrs
- Некоторые общие классы-контейнеры
- FPCUnit
- Модуль тестирования (основан на модуле Kent Beck's. См. JUnit),FPCUnit tutorial (pdf)
- XMLRead, XMLWrite и DOM
- Подробно в XML Учебнике