Sign in Join
Wiki copytemporary

FCL/ja: what changed

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

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