Difference between revisions of "FCL/ja"

From Free Pascal wiki
Jump to navigationJump to search
m (Fixed syntax highlighting)
 
(6 intermediate revisions by 4 users not shown)
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/ja]]    画像の読み書き
* [[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.
  
 
=== 文書 ===
 
=== 文書 ===
Line 55: Line 54:
 
Contnrsユニットはリスト、スタック、キューなどのいろいろなコンテナを提供しています。
 
Contnrsユニットはリスト、スタック、キューなどのいろいろなコンテナを提供しています。
  
<delphi> program TObjectListExample;
+
<syntaxhighlight lang=pascal>
 +
program TObjectListExample;
 
   
 
   
 
  uses
 
  uses
Line 88: Line 88:
 
     Writeln((Last as TMyObject).Name);
 
     Writeln((Last as TMyObject).Name);
 
   end;
 
   end;
  end.</delphi>
+
  end.</syntaxhighlight>
  
This program must be compiled in an object-oriented mode, such as -Mobjfpc or -Mdelphi.
+
このプログラムはオブジェクト指向モード(-Mobjfpc -Mdelphiオプション)でコンパイルします。
  
 
=== FCLコンポーネント ===
 
=== 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
+
; Classes : DelphiモードにおけるObjectPascalの拡張の基本クラスです。(訳注:FPCモードでも使える)
; Contnrs : Some common container classes
+
; Contnrs : いくつかの共通のコンテナクラス
; FPCUnit : Unit testing framework (based on Kent Beck's unit testing framework, e.g. cf. [http://www.junit.org/ JUnit]), [http://www.freepascal.org/docs-html/fpcunit.pdf documenting article about FPCUnit]
+
; FPCUnit : ケント・ベック(Kent Beck)のユニットテストフレームワークがFPCで動作します。(参考:[http://www.junit.org/ JUnit]), [http://www.freepascal.org/docs-html/fpcunit.pdf documenting article about FPCUnit]
; XMLRead, XMLWrite and DOM : Detailed at the [[XML Tutorial]]
+
; XMLRead, XMLWrite ,DOM : XMLの読み書きやDOMの詳細[[XML Tutorial]]

Latest revision as of 00:09, 15 February 2020

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ユニットはリスト、スタック、キューなどのいろいろなコンテナを提供しています。

 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.

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

FCLコンポーネント

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

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