Difference between revisions of "FCL/de"
m (Fixed syntax highlighting; deleted category included in page template) |
|||
(11 intermediate revisions by 6 users not shown) | |||
Line 3: | Line 3: | ||
Die ''Free Component Library'' (FCL) besteht aus einer Sammlung von Units, Komponenten und Klassen für allgemeine Aufgaben. Dabei beschränkt sich die FCL auf nicht sichtbare Komponenten. | Die ''Free Component Library'' (FCL) besteht aus einer Sammlung von Units, Komponenten und Klassen für allgemeine Aufgaben. Dabei beschränkt sich die FCL auf nicht sichtbare Komponenten. | ||
− | Die FCL soll zum einen | + | Die FCL soll zum einen kompatibel mit der ''Visual Component Library'' (VCL) sein, zum anderen soll sie darüber hinaus gehen. |
− | Einen Überblick über die Komponenten der FCL, sowie über den aktuellen Entwicklungsstand, kann über den Link [http://www.freepascal.org/fcl/fcl.html Free Component Library] | + | Einen Überblick über die Komponenten der FCL, sowie über den aktuellen Entwicklungsstand, kann über den Link [http://www.freepascal.org/fcl/fcl.html Free Component Library] gewonnen werden. |
Die aktuellsten Source-Pakete gibt es [http://www.freepascal.org/cgi-bin/viewcvs.cgi/trunk/packages/ hier]. Dabei sind mache Pakete plattformspezifisch. | Die aktuellsten Source-Pakete gibt es [http://www.freepascal.org/cgi-bin/viewcvs.cgi/trunk/packages/ hier]. Dabei sind mache Pakete plattformspezifisch. | ||
Line 12: | Line 12: | ||
=== Wie die FCL nutzen? === | === Wie die FCL nutzen? === | ||
− | Um eine FCL-Komponente in Ihr Programm einzubinden, müssen Sie einfach den Namen der Componente in den '''uses'''-Bereich Ihres Programms hinzufügen (siehe Beispiel unten). Durch diesen Eintrag wird der Compiler beim | + | Um eine FCL-Komponente in Ihr Programm einzubinden, müssen Sie einfach den Namen der Componente in den '''uses'''-Bereich Ihres Programms hinzufügen (siehe Beispiel unten). Durch diesen Eintrag wird der Compiler beim Kompilieren veranlasst, im FCL-Verzeichnis von FreePascal nach solchen Units zu suchen, und diese einzubinden. |
(Sie können diesen Suchpfad auch manuell über den Befehl | (Sie können diesen Suchpfad auch manuell über den Befehl | ||
-Fu<Pfad_zu_den_FCL-Units> | -Fu<Pfad_zu_den_FCL-Units> | ||
− | + | festlegen) | |
+ | |||
+ | === Unterpackages === | ||
+ | |||
+ | Die vollständige Liste aller Unterpackages der FCL finden Sie hier: [[Package List]] | ||
+ | |||
+ | Die Unterpackages mit der Vorsilbe 'fcl' sind: | ||
+ | |||
+ | * [[fcl-base]] die Basis-Units | ||
+ | * [[fcl-async]] Asynchrone Ein-/Ausgabe (seriell?) | ||
+ | * [[fcl-db]] Allgemeine Datenbankunterstützung + vorbereitete Treiber | ||
+ | * [[fcl-fpcunit]] Framework zum Testen von Units | ||
+ | * [[fcl-image]] Raster-Images lesen und schreiben (alias "fpimage") | ||
+ | * [[fcl-json]] Routinen für das Javascript-Object-Streaming | ||
+ | * [[fcl-net]] Netzwerk-bezogene Units | ||
+ | * [[fcl-passrc]] Pascal language parsing und Transformation | ||
+ | * [[fcl-process]] Prozess-Steuerung | ||
+ | * [[fcl-registry]] Registry | ||
+ | * [[fcl-web]] Helfer für die Web-Entwicklung | ||
+ | * [[fcl-xml]] XML (DOM) Unit und verwandte Units. | ||
+ | * [[paszlib]] A Pascal conversion (thus without dependancies) of the standard zlib library. | ||
+ | * [[fpvectorial]] Bibliothek zum Lesen, Verändern und Schreiben von Vektorgrafiken | ||
=== Dokumentation der FCL === | === Dokumentation der FCL === | ||
Line 25: | Line 46: | ||
=== Beispiel === | === Beispiel === | ||
− | Das folgende Programm illustriert den Einsatz der Klasse TObjectList, die sich in der FCL-Unit Contnrs befindet und Dinge wie Listen, Stacks und | + | Das folgende Programm illustriert den Einsatz der Klasse TObjectList, die sich in der FCL-Unit Contnrs befindet und Dinge wie Listen, Stacks und Warteschlangen unterstützt. |
− | < | + | <syntaxhighlight lang=pascal> |
+ | program TObjectListExample; | ||
uses | uses | ||
Line 39: | Line 61: | ||
public | public | ||
constructor Create(AName: String); { und einem Constructor, um sie mit einem gegebenen Namen zu erstellen } | constructor Create(AName: String); { und einem Constructor, um sie mit einem gegebenen Namen zu erstellen } | ||
− | property Name: String read FName; { und | + | property Name: String read FName; { und einer Property, um den Namen auszulesen. } |
end; | end; | ||
Line 60: | Line 82: | ||
Writeln((Last as TMyObject).Name); | Writeln((Last as TMyObject).Name); | ||
end; | end; | ||
− | end.</ | + | end.</syntaxhighlight> |
Dieses Programm muss in einem objektorientierten Modus erstellt werden, etwa -Mobjfpc oder -Mdelphi. | Dieses Programm muss in einem objektorientierten Modus erstellt werden, etwa -Mobjfpc oder -Mdelphi. | ||
Line 69: | Line 91: | ||
; Classes : Basisklasse für die Objekt-Pascal-Erweiterungen im Delphimodus. | ; Classes : Basisklasse für die Objekt-Pascal-Erweiterungen im Delphimodus. | ||
− | ; Contnrs : Allgemeine | + | ; Contnrs : Allgemeine Containerklassen, wurde im obigem Beispiel verwendet. |
; FPCUnit : Unit-testing-framework (basiert auf das unit-testing-framework von Kent Beck, e.g. cf. ,[http://www.junit.org/ JUnit]), Außerdem hier ein [http://www.freepascal.org/docs-html/fpcunit.pdf Artikel, der die FPCUnit dokumentiert] | ; FPCUnit : Unit-testing-framework (basiert auf das unit-testing-framework von Kent Beck, e.g. cf. ,[http://www.junit.org/ JUnit]), Außerdem hier ein [http://www.freepascal.org/docs-html/fpcunit.pdf Artikel, der die FPCUnit dokumentiert] | ||
− | ; XMLRead, XMLWrite und DOM : Details hierzu im [[XML Tutorial]] | + | ; XMLRead, XMLWrite und DOM : Details hierzu im [[XML Tutorial/de|XML Tutorial]] |
Latest revision as of 00:07, 15 February 2020
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
Bahasa Indonesia (id) │
日本語 (ja) │
русский (ru) │
中文(中国大陆) (zh_CN) │
Die Free Component Library (FCL) besteht aus einer Sammlung von Units, Komponenten und Klassen für allgemeine Aufgaben. Dabei beschränkt sich die FCL auf nicht sichtbare Komponenten.
Die FCL soll zum einen kompatibel mit der Visual Component Library (VCL) sein, zum anderen soll sie darüber hinaus gehen.
Einen Überblick über die Komponenten der FCL, sowie über den aktuellen Entwicklungsstand, kann über den Link Free Component Library gewonnen werden.
Die aktuellsten Source-Pakete gibt es hier. Dabei sind mache Pakete plattformspezifisch.
Wie die FCL nutzen?
Um eine FCL-Komponente in Ihr Programm einzubinden, müssen Sie einfach den Namen der Componente in den uses-Bereich Ihres Programms hinzufügen (siehe Beispiel unten). Durch diesen Eintrag wird der Compiler beim Kompilieren veranlasst, im FCL-Verzeichnis von FreePascal nach solchen Units zu suchen, und diese einzubinden.
(Sie können diesen Suchpfad auch manuell über den Befehl
-Fu<Pfad_zu_den_FCL-Units>
festlegen)
Unterpackages
Die vollständige Liste aller Unterpackages der FCL finden Sie hier: Package List
Die Unterpackages mit der Vorsilbe 'fcl' sind:
- fcl-base die Basis-Units
- fcl-async Asynchrone Ein-/Ausgabe (seriell?)
- fcl-db Allgemeine Datenbankunterstützung + vorbereitete Treiber
- fcl-fpcunit Framework zum Testen von Units
- fcl-image Raster-Images lesen und schreiben (alias "fpimage")
- fcl-json Routinen für das Javascript-Object-Streaming
- fcl-net Netzwerk-bezogene Units
- fcl-passrc Pascal language parsing und Transformation
- fcl-process Prozess-Steuerung
- fcl-registry Registry
- fcl-web Helfer für die Web-Entwicklung
- fcl-xml XML (DOM) Unit und verwandte Units.
- paszlib A Pascal conversion (thus without dependancies) of the standard zlib library.
- fpvectorial Bibliothek zum Lesen, Verändern und Schreiben von Vektorgrafiken
Dokumentation der FCL
Derzeit existiert leider keine Dokumentation zur FCL (Sie können gerne bei der Erstellung einer Dokumentation mithelfen). Einige zusätzliche Informationen gibt es in der Lazarus-Referenz Im Fall von delphikompatiblen Units kann auch die Delphi-Dokumentation verwendet werden.
Beispiel
Das folgende Programm illustriert den Einsatz der Klasse TObjectList, die sich in der FCL-Unit Contnrs befindet und Dinge wie Listen, Stacks und Warteschlangen unterstützt.
program TObjectListExample;
uses
Classes, { Für TObject aus der RTL }
Contnrs; { Für TObjectList aus der FCL }
type
TMyObject = class(TObject) { Eine beliebige anwendungsspezifische Klasse }
private
FName: String; { mit einer Variablen vom Typ String }
public
constructor Create(AName: String); { und einem Constructor, um sie mit einem gegebenen Namen zu erstellen }
property Name: String read FName; { und einer Property, um den Namen auszulesen. }
end;
constructor TMyObject.Create(AName: String);
begin
inherited Create;
FName := AName;
end;
var
VObjectList: TObjectList; { Für eine Objektliste; }
begin
VObjectList := TObjectList.Create { erstellt eine leere Liste }
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.
Dieses Programm muss in einem objektorientierten Modus erstellt werden, etwa -Mobjfpc oder -Mdelphi.
FCL-Komponenten
Um Redundanzen zu den oben angegebenen Links zu vermeiden sind hier lediglich Komponenten gelistet, die entweder sehr wichtig sind, oder die auf anderem Wege schwierig zu finden sind.
- Classes
- Basisklasse für die Objekt-Pascal-Erweiterungen im Delphimodus.
- Contnrs
- Allgemeine Containerklassen, wurde im obigem Beispiel verwendet.
- FPCUnit
- Unit-testing-framework (basiert auf das unit-testing-framework von Kent Beck, e.g. cf. ,JUnit), Außerdem hier ein Artikel, der die FPCUnit dokumentiert
- XMLRead, XMLWrite und DOM
- Details hierzu im XML Tutorial