Sign in Join
Wiki copytemporary

FCL/ru: what changed

Revision 1 to 2. 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
55## Contents
66
77 * 1 Использование
88 * 2 Подпакеты
99 * 3 Документация
1010 * 4 Пример
1111 * 5 FCL Компоненты
1212
1313### Использование
1414
1515Чтобы использовать FCL компонент необходимо включить имя [[Unit|модуля]], в котором он реализован, в список после ключевого слова **uses** вашей программы или модуля(см. пример ниже). По умолчанию компилятор будет искать указанный модуль в папках FCL. Вы также можете указать компилятору явный путь поиска, используя параметр командной строки вида: -Fu<папка-к-fcl-модулям>.
1616
1717
1818
1919### Подпакеты
2020
2121Полный список подпакетов FCL, можно найти здесь: [[Package List]]
2222
2323Среди них можно выделить:
2424
2525 * [[fcl-base]] Основные модули (включает, например [[How To Use TFPExpressionParser|обработчик выражений]])
2626 * [[fcl-async]] Асинхронный ввод/вывод (последовательный?)
2727 * [[fcl-db]] Общая поддержка баз данных + драйвера к ним
2828 * [[fcl-fpcunit]] Модуль тестирования
2929 * [[fcl-image]] Считывание и запись растровых изображений (этакий fpimage)
3030 * [[fcl-json]] Позволяет работать с потоковыми объектами javascript
3131 * [[fcl-net]] Модули для работы с сетью
3232 * [[fcl-passrc]] Обработка и преобразование языка Pascal
3333 * [[fcl-process]] Управление процессами
3434 * [[fcl-registry]] Реестр
3535 * [[fcl-res]] Обработка ресурсов
3636 * [fcl-stl](</index.php?title=fcl-stl&action=edit&redlink=1> "fcl-stl \(page does not exist\)") Универсальная библиотека (стандартная библиотека шаблонов)
3737 * [[fcl-web]] Помощник для веб-разработки
3838 * [[fcl-xml]] XML (DOM) модуль и связанные с ним модули.
3939
4040### Документация
4141
4242В настоящее время, FCL не полностью документирован (не стесняйтесь вносить свой вклад; также посмотрите: [ссылка на 'fcl'](<http://lazarus-ccr.sourceforge.net/docs/fcl> "doc:fcl")). Для совместимых с Delphi модулей, вы можете обратиться к документации по Delphi. Вы всегда можете посмотреть исходные файлы в [хранилище исходного кода](<http://www.freepascal.org/cgi-bin/viewcvs.cgi/trunk/packages/>).
4343
4444### Пример
4545
4646Следующая программа демонстрирует использование класса TObjectList в FCL модуле Contnrs:
4747
4848
4949
5050```
5151program TObjectListExample;
5252 {$mode ObjFPC}
5353 uses
5454 Classes, { из RTL для TObject }
5555 Contnrs; { из FCL для TObjectList }
5656
5757 type
5858 TMyObject = class(TObject) { просто некий класс приложения }
5959 private
6060 FName: String; { с строковым полем }
6161 public
6262 constructor Create(AName: String); { и конструктором }
6363 property Name: String read FName; { а так же свойством для чтения }
6464 end;
6565
6666 constructor TMyObject.Create(AName: String);
6767 begin
6868 inherited Create;
6969 FName := AName;
7070 end;
7171
7272 var
7373 VObjectList: TObjectList; { для списка объектов; это ссылка на такой список! }
7474
7575 begin
7676 VObjectList := TObjectList.Create; { создать пустой список }
7777 with VObjectList do
7878 begin
7979 Add(TMyObject.Create('Это первый'));
8080 Writeln((Last as TMyObject).Name);
8181 Add(TMyObject.Create('Это второй'));
8282 Writeln((Last as TMyObject).Name);
8383 end;
8484 end.
8585```
8686
8787Эта программа должна быть скомпилирована в объектно-ориентированном режиме, например: -Mobjfpc или -Mdelphi.
8888
8989### FCL Компоненты
9090
9191Это не полный список (чтобы избежать дублирования). Он содержит только некоторые важные компоненты, или компоненты, которые в противном случае не легко найти.
9292
9393Classes
9494 Основные классы для Object Pascal в Delphi режиме
9595Contnrs
9696 Некоторые общие классы-контейнеры
9797[[fpcunit|FPCUnit]]
9898 Модуль тестирования (основан на модуле Kent Beck's. См. [JUnit](<http://www.junit.org/>)),[FPCUnit tutorial (pdf)](<http://www.freepascal.org/~michael/articles/fpcunit/fpcunit.pdf>)
9999XMLRead, XMLWrite и DOM
100100 Подробно в [[XML Tutorial/ru|XML Учебнике]]
101101
102102---
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).*
103+*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