FCL/ja

From Free Pascal wiki
Revision as of 16:56, 17 July 2008 by Saeka-jp (talk | contribs) (New page: {{FCL}} {{Japanese Menu}} ''Free Component Library'' (FCL)はどのようなプロジェクトでも良く使うコンポーネント(ほとんどはクラス)を提供している...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

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やフォームに依存しないものが分離されている。そのためコンソールでも使えるなど応用範囲が広くなっている。仕様をはっきりさせようと努力しており、品質は日々目に見えて改善がすすんでおり、多くのプロジェクトを支える柱となっている。一方、LCLはGUIやフォームに依存するものが集められOS間でビジュアルな統一をしようとするため、仕様的な難しさに直面しており、現在のところ品質的にはFCLに及ばない部分が多い。)

See Free Component Library for the current development status and an overview of the available components (though this seems inconsistent with Reference for 'fcl' in Lazarus). You can also check the source repository. Note that there are also some platform-specific files in the FCL.

After the example, you can find a list of some FCL components.

Usage

To use an FCL component you need to include its name in a uses clause of your program or unit (see example below). The default compiler configuration is set up to search the fcl directory for such units. You can also set the appropriate search path with a command-line compiler option of the form -Fu<path-to-fcl-units>.

Subpackages

Currently (future 2.2.2+) the FCL is divided into several subpackages:


Documentation

Currently, the FCL is not documented (feel free to contribute; also take a look at Reference for 'fcl'). For Delphi compatible units, you could consult the Delphi documentation. You can always take a look at the source files in the source repository.

Example

The following program illustrates the use of the class TObjectList in the FCL unit Contnrs (providing various containers, including lists, stacks, and queues):

<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>

This program must be compiled in an object-oriented mode, such as -Mobjfpc or -Mdelphi.

FCL Components

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