FCL/ja
Bahasa Indonesia · Deutsch · English · Español · Français · Suomi · Русский · 中文(中国) · 日本語
Free Component Library (FCL)はどのようなプロジェクトでも良く使うコンポーネント(ほとんどはクラス)を提供しているユニットの集合です。
それらはDelphiのVisual Component Library(VCL)と互換性をもつようにして作られてはいますが、FCLは厳密に、ノンビジュアルなコンポーネントとして設計されています。 また、FCLはVCLよりも優れている部分が多くあります。 (訳注:FCLはGUIやフォームに依存しないものが分離されている。そのためコンソールでも使えるなど応用範囲が広くなっている。FCLでは仕様をはっきりさせようとしており、品質が高く、多くのFPCプロジェクトを支える柱となっている。一方、LCLはGUIやフォームに依存するものが集められOS間でビジュアルな統一をしようとするため、かなり使えるものではあるが、仕様的な統一の難しさがある。)
現在の開発状況やりようできるコンポーネントを知るにはFree Component Libraryを見てください。
(Lazarusのこちらのページと一致していない部分があります。 Reference for 'fcl' ).
最新の状況はソースリポジトリもチェックしてみてください。 いくつかプラットホームに分かれたファイルがあることに注意してください。
いくつかのFCLコンポーネントが使われている例を示します。
使い方
FCLコンポーネントを使うにはプログラムやユニットのuses節でFCLコンポーネント名を指定します。 デフォルトのコンパイラ設定では、FCLディレクトリがユニットの検索に含まれています。 コマンドラインコンパイラでは適切な検索パスを -Fu<path-to-fcl-units>オプションで指定することができます。
サブパッケージ
現在(2.2.2以降)では、FCLはいくつかのサブパッケージにわかれています。
- fcl-base 基本ユニット
- fcl-async 非同期I/O
- fcl-db 一般的なデータベースのサポート+ドライバ
- fcl-fpcunit ユニットテストフレームワーク
- fcl-image/ja 画像の読み書き
- fcl-json javascriptオブジェクトストリーミング
- fcl-net ネットワーク関連
- fcl-passrc パスカルの字句解析
- fcl-process プロセス制御
- fcl-registry レジストリ
- fcl-web WEB開発のヘルパー
- fcl-xml XML (DOM)に関するもの
- paszlib A Pascal conversion (thus without dependancies) of the standard zlib library.
文書
現在のところFCLは文書化されていません。 Reference for 'fcl'を見ていただき、自由に参加してください。 Delphiと互換性のあるユニットについては、Delphiの文書も参考になるでしょう。 FreePascalのソースファイルはいつでも見れるようになっています。 source repository.
例
次のプログラムはContnrsユニットのTObjectListをFCLで使う例です。 Contnrsユニットはリスト、スタック、キューなどのいろいろなコンテナを提供しています。
program TObjectListExample;
uses
Classes, { from RTL for TObject }
Contnrs; { from FCL for TObjectList }
type
TMyObject = class(TObject) { just some application-specific class }
private
FName: String; { with a string field }
public
constructor Create(AName: String); { and a constructor to create it with a given name }
property Name: String read FName; { and a property to read the name }
end;
constructor TMyObject.Create(AName: String);
begin
inherited Create;
FName := AName;
end;
var
VObjectList: TObjectList; { for a list of objects; it is a reference to such a list! }
begin
VObjectList := TObjectList.Create { create an empty list }
with VObjectList do
begin
Add(TMyObject.Create('Thing One'));
Writeln((Last as TMyObject).Name);
Add(TMyObject.Create('Thing Two'));
Writeln((Last as TMyObject).Name);
end;
end.このプログラムはオブジェクト指向モード(-Mobjfpc や -Mdelphiオプション)でコンパイルします。
FCLコンポーネント
重複があるので詳しくは記述しませんが、ここでは主要なもののみ記述します。
Classes
DelphiモードにおけるObjectPascalの拡張の基本クラスです。(訳注:FPCモードでも使える)
Contnrs
いくつかの共通のコンテナクラス
FPCUnit
ケント・ベック(Kent Beck)のユニットテストフレームワークがFPCで動作します。(参考:JUnit), documenting article about FPCUnit
XMLRead, XMLWrite ,DOM
XMLの読み書きやDOMの詳細XML Tutorial
From the Free Pascal wiki, page "FCL/ja", as it stood on 2020-02-14 after a change by Trev, out of the wiki's dump of 2024-05-26. 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.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
