Difference between revisions of "FCL/ja"
m (→例) |
m (Fixed syntax highlighting) |
||
(5 intermediate revisions by 4 users not shown) | |||
Line 26: | Line 26: | ||
=== サブパッケージ === | === サブパッケージ === | ||
− | |||
現在(2.2.2以降)では、FCLはいくつかのサブパッケージにわかれています。 | 現在(2.2.2以降)では、FCLはいくつかのサブパッケージにわかれています。 | ||
− | * [[fcl-base | + | * [[fcl-base]] 基本ユニット |
− | * [[fcl-async | + | * [[fcl-async]] 非同期I/O |
− | * [[fcl-db | + | * [[fcl-db]] 一般的なデータベースのサポート+ドライバ |
− | * [[fcl-fpcunit | + | * [[fcl-fpcunit]] ユニットテストフレームワーク |
* [[fcl-image/ja]] 画像の読み書き | * [[fcl-image/ja]] 画像の読み書き | ||
− | * [[fcl-json | + | * [[fcl-json]] javascriptオブジェクトストリーミング |
− | * [[fcl-net | + | * [[fcl-net]] ネットワーク関連 |
− | * [[fcl-passrc | + | * [[fcl-passrc]] パスカルの字句解析 |
− | * [[fcl-process | + | * [[fcl-process]] プロセス制御 |
− | * [[fcl-registry | + | * [[fcl-registry]] レジストリ |
− | * [[fcl-web | + | * [[fcl-web]] WEB開発のヘルパー |
− | * [[fcl-xml | + | * [[fcl-xml]] XML (DOM)に関するもの |
− | + | * [[paszlib]] A Pascal conversion (thus without dependancies) of the standard zlib library. | |
=== 文書 === | === 文書 === | ||
Line 55: | Line 54: | ||
Contnrsユニットはリスト、スタック、キューなどのいろいろなコンテナを提供しています。 | Contnrsユニットはリスト、スタック、キューなどのいろいろなコンテナを提供しています。 | ||
− | < | + | <syntaxhighlight lang=pascal> |
+ | program TObjectListExample; | ||
uses | uses | ||
Line 88: | Line 88: | ||
Writeln((Last as TMyObject).Name); | Writeln((Last as TMyObject).Name); | ||
end; | end; | ||
− | end.</ | + | end.</syntaxhighlight> |
このプログラムはオブジェクト指向モード(-Mobjfpc や -Mdelphiオプション)でコンパイルします。 | このプログラムはオブジェクト指向モード(-Mobjfpc や -Mdelphiオプション)でコンパイルします。 | ||
Line 94: | Line 94: | ||
=== FCLコンポーネント === | === FCLコンポーネント === | ||
− | + | 重複があるので詳しくは記述しませんが、ここでは主要なもののみ記述します。 | |
− | |||
− | ; Classes : | + | ; Classes : DelphiモードにおけるObjectPascalの拡張の基本クラスです。(訳注:FPCモードでも使える) |
− | ; Contnrs : | + | ; Contnrs : いくつかの共通のコンテナクラス |
− | ; FPCUnit : | + | ; FPCUnit : ケント・ベック(Kent Beck)のユニットテストフレームワークがFPCで動作します。(参考:[http://www.junit.org/ JUnit]), [http://www.freepascal.org/docs-html/fpcunit.pdf documenting article about FPCUnit] |
− | ; XMLRead, XMLWrite | + | ; XMLRead, XMLWrite ,DOM : XMLの読み書きやDOMの詳細[[XML Tutorial]] |
Latest revision as of 00:09, 15 February 2020
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
Bahasa Indonesia (id) │
日本語 (ja) │
русский (ru) │
中文(中国大陆) (zh_CN) │
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