Sign in Join
Wiki copytemporary

FCL/ja: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: FCL/ja

OldNewLine
1+*Free Component Library* (FCL)はどのようなプロジェクトでも良く使うコンポーネント(ほとんどはクラス)を提供しているユニットの集合です。
2+
3+それらはDelphiの*Visual Component Library*(VCL)と互換性をもつようにして作られてはいますが、FCLは厳密に、ノンビジュアルなコンポーネントとして設計されています。 また、FCLはVCLよりも優れている部分が多くあります。 (訳注:FCLはGUIやフォームに依存しないものが分離されている。そのためコンソールでも使えるなど応用範囲が広くなっている。FCLでは仕様をはっきりさせようとしており、品質が高く、多くのFPCプロジェクトを支える柱となっている。一方、LCLはGUIやフォームに依存するものが集められOS間でビジュアルな統一をしようとするため、かなり使えるものではあるが、仕様的な統一の難しさがある。)
4+
5+現在の開発状況やりようできるコンポーネントを知るには[Free Component Library](http://www.freepascal.org/fcl/fcl.html)を見てください。
6+
7+(Lazarusのこちらのページと一致していない部分があります。 [Reference for 'fcl'](http://lazarus-ccr.sourceforge.net/docs/fcl/index.html) ).
8+
9+最新の状況は[ソースリポジトリ](http://www.freepascal.org/cgi-bin/viewcvs.cgi/trunk/packages/)もチェックしてみてください。 いくつかプラットホームに分かれたファイルがあることに注意してください。
10+
11+いくつかのFCLコンポーネントが使われている例を示します。
12+
13+### 使い方
14+
15+FCLコンポーネントを使うにはプログラムやユニットのuses節でFCLコンポーネント名を指定します。 デフォルトのコンパイラ設定では、FCLディレクトリがユニットの検索に含まれています。 コマンドラインコンパイラでは適切な検索パスを -Fu\<path-to-fcl-units\>オプションで指定することができます。
16+
17+### サブパッケージ
18+
19+現在(2.2.2以降)では、FCLはいくつかのサブパッケージにわかれています。
20+
21+- [[fcl-base]] 基本ユニット
22+- [[fcl-async]] 非同期I/O
23+- [[fcl-db]] 一般的なデータベースのサポート+ドライバ
24+- [[fcl-fpcunit]] ユニットテストフレームワーク
25+- [[fcl-image/ja]] 画像の読み書き
26+- [[fcl-json]] javascriptオブジェクトストリーミング
27+- [[fcl-net]] ネットワーク関連
28+- [[fcl-passrc]] パスカルの字句解析
29+- [[fcl-process]] プロセス制御
30+- [[fcl-registry]] レジストリ
31+- [[fcl-web]] WEB開発のヘルパー
32+- [[fcl-xml]] XML (DOM)に関するもの
33+- [[paszlib]] A Pascal conversion (thus without dependancies) of the standard zlib library.
34+
35+### 文書
36+
37+現在のところFCLは文書化されていません。 [Reference for 'fcl'](http://lazarus-ccr.sourceforge.net/docs/fcl/index.html)を見ていただき、自由に参加してください。 Delphiと互換性のあるユニットについては、Delphiの文書も参考になるでしょう。 FreePascalのソースファイルはいつでも見れるようになっています。 [source repository](http://www.freepascal.org/cgi-bin/viewcvs.cgi/trunk/packages/).
38+
39+### 例
40+
41+次のプログラムはContnrsユニットのTObjectListをFCLで使う例です。 Contnrsユニットはリスト、スタック、キューなどのいろいろなコンテナを提供しています。
42+
43+``` pascal
44+ program TObjectListExample;
45+
46+ uses
47+ Classes, { from RTL for TObject }
48+ Contnrs; { from FCL for TObjectList }
49+
50+ type
51+ TMyObject = class(TObject) { just some application-specific class }
52+ private
53+ FName: String; { with a string field }
54+ public
55+ constructor Create(AName: String); { and a constructor to create it with a given name }
56+ property Name: String read FName; { and a property to read the name }
57+ end;
58+
59+ constructor TMyObject.Create(AName: String);
60+ begin
61+ inherited Create;
62+ FName := AName;
63+ end;
64+
65+ var
66+ VObjectList: TObjectList; { for a list of objects; it is a reference to such a list! }
67+
68+ begin
69+ VObjectList := TObjectList.Create { create an empty list }
70+ with VObjectList do
71+ begin
72+ Add(TMyObject.Create('Thing One'));
73+ Writeln((Last as TMyObject).Name);
74+ Add(TMyObject.Create('Thing Two'));
75+ Writeln((Last as TMyObject).Name);
76+ end;
77+ end.
78+```
79+
80+このプログラムはオブジェクト指向モード(-Mobjfpc や -Mdelphiオプション)でコンパイルします。
81+
82+### FCLコンポーネント
83+
84+重複があるので詳しくは記述しませんが、ここでは主要なもののみ記述します。
85+
86+Classes
87+DelphiモードにおけるObjectPascalの拡張の基本クラスです。(訳注:FPCモードでも使える)
88+
89+Contnrs
90+いくつかの共通のコンテナクラス
91+
92+FPCUnit
93+ケント・ベック(Kent Beck)のユニットテストフレームワークがFPCで動作します。(参考:[JUnit](http://www.junit.org/)), [documenting article about FPCUnit](http://www.freepascal.org/docs-html/fpcunit.pdf)
94+
95+XMLRead, XMLWrite ,DOM
96+XMLの読み書きやDOMの詳細[[XML Tutorial]]
97+
98+---
99+*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](/wiki-contact).*

Back to history