FCL/ru

From Lazarus wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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