FCL/ru

From Free Pascal wiki
Jump to navigationJump to search

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 Учебнике