Difference between revisions of "FCL/ja"

From Lazarus wiki
Jump to navigationJump to search
Line 90: Line 90:
 
  end.</delphi>
 
  end.</delphi>
  
This program must be compiled in an object-oriented mode, such as -Mobjfpc or -Mdelphi.
+
このプログラムはオブジェクト指向モード(-Mobjfpc -Mdelphiオプション)でコンパイルします。
  
 
=== FCLコンポーネント ===
 
=== FCLコンポーネント ===

Revision as of 00:38, 20 July 2008

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>オプションで指定することができます。

サブパッケージ

Currently (future 2.2.2+) the FCL is divided into several subpackages: 現在(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コンポーネント

This is not an exhaustive list (to avoid duplication of effort). It only mentions some important components, or components that are otherwise not easy to find.

Classes
Base classes for Object Pascal extensions in Delphi mode
Contnrs
Some common container classes
FPCUnit
Unit testing framework (based on Kent Beck's unit testing framework, e.g. cf. JUnit), documenting article about FPCUnit
XMLRead, XMLWrite and DOM
Detailed at the XML Tutorial