Difference between revisions of "FCL/ja"

From Lazarus wiki
Jump to navigationJump to search
Line 26: Line 26:
 
=== サブパッケージ ===
 
=== サブパッケージ ===
  
Currently (future 2.2.2+) the FCL is divided into several subpackages:
 
 
現在(2.2.2以降)では、FCLはいくつかのサブパッケージにわかれています。
 
現在(2.2.2以降)では、FCLはいくつかのサブパッケージにわかれています。
  
* [[fcl-base/ja]]    基本ユニット
+
* [[fcl-base]]    基本ユニット
* [[fcl-async/ja]]    非同期I/O
+
* [[fcl-async]]    非同期I/O
* [[fcl-db/ja]]      一般的なデータベースのサポート+ドライバ
+
* [[fcl-db]]      一般的なデータベースのサポート+ドライバ
* [[fcl-fpcunit/ja]]  ユニットテストフレームワーク
+
* [[fcl-fpcunit]]  ユニットテストフレームワーク
* [[fcl-image/ja]]    画像の読み書き
+
* [[fcl-image]]    画像の読み書き
* [[fcl-json/ja]]    javascriptオブジェクトストリーミング
+
* [[fcl-json]]    javascriptオブジェクトストリーミング
* [[fcl-net/ja]]      ネットワーク関連
+
* [[fcl-net]]      ネットワーク関連
* [[fcl-passrc/ja]]  パスカルの字句解析
+
* [[fcl-passrc]]  パスカルの字句解析
* [[fcl-process/ja]]  プロセス制御
+
* [[fcl-process]]  プロセス制御
* [[fcl-registry/ja]] レジストリ
+
* [[fcl-registry]] レジストリ
* [[fcl-web/ja]]      WEB開発のヘルパー
+
* [[fcl-web]]      WEB開発のヘルパー
* [[fcl-xml/ja]]      XML (DOM)に関するもの
+
* [[fcl-xml]]      XML (DOM)に関するもの
 
+
* [[paszlib]]      A Pascal conversion (thus without dependancies) of the standard zlib library.
  
 
=== 文書 ===
 
=== 文書 ===

Revision as of 08:01, 20 February 2009

Deutsch (de) English (en) español (es) suomi (fi) français (fr) Bahasa Indonesia (id) 日本語 (ja) русский (ru) 中文(中国大陆)‎ (zh_CN)

日本語版メニュー
メインページ - Lazarus Documentation日本語版 - 翻訳ノート - 日本語障害情報

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は文書化されていません。 Reference for 'fcl'を見ていただき、自由に参加してください。 Delphiと互換性のあるユニットについては、Delphiの文書も参考になるでしょう。 FreePascalのソースファイルはいつでも見れるようになっています。 source repository.

次のプログラムはContnrsユニットのTObjectListをFCLで使う例です。 Contnrsユニットはリスト、スタック、キューなどのいろいろなコンテナを提供しています。

<delphi> 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.</delphi>

このプログラムはオブジェクト指向モード(-Mobjfpc や -Mdelphiオプション)でコンパイルします。

FCLコンポーネント

重複があるので詳しくは記述しませんが、ここでは主要なもののみ記述します。

Classes
DelphiモードにおけるObjectPascalの拡張の基本クラスです。(訳注:FPCモードでも使える)
Contnrs
いくつかの共通のコンテナクラス
FPCUnit
ケント・ベック(Kent Beck)のユニットテストフレームワークがFPCで動作します。(参考:JUnit), documenting article about FPCUnit
XMLRead, XMLWrite ,DOM
XMLの読み書きやDOMの詳細XML Tutorial