Sign in Join
Wiki copytemporary

FCL/de: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11Die *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.
22
33Die FCL soll zum einen kompatibel mit der *Visual Component Library* (VCL) sein, zum anderen soll sie darüber hinaus gehen.
44
55Einen Überblick über die Komponenten der FCL, sowie über den aktuellen Entwicklungsstand, kann über den Link [Free Component Library](http://www.freepascal.org/fcl/fcl.html) gewonnen werden.
66
77Die aktuellsten Source-Pakete gibt es [hier](http://www.freepascal.org/cgi-bin/viewcvs.cgi/trunk/packages/). Dabei sind mache Pakete plattformspezifisch.
88
99### Wie die FCL nutzen?
1010
1111Um 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.
1212
1313(Sie können diesen Suchpfad auch manuell über den Befehl
1414
15-`-Fu<Pfad_zu_den_FCL-Units>`
15+```text
16+-Fu<Pfad_zu_den_FCL-Units>
17+```
1618
1719festlegen)
1820
1921### Unterpackages
2022
2123Die vollständige Liste aller Unterpackages der FCL finden Sie hier: [[Package List]]
2224
2325Die Unterpackages mit der Vorsilbe 'fcl' sind:
2426
2527- [[fcl-base]] die Basis-Units
2628- [[fcl-async]] Asynchrone Ein-/Ausgabe (seriell?)
2729- [[fcl-db]] Allgemeine Datenbankunterstützung + vorbereitete Treiber
2830- [[fcl-fpcunit]] Framework zum Testen von Units
2931- [[fcl-image]] Raster-Images lesen und schreiben (alias "fpimage")
3032- [[fcl-json]] Routinen für das Javascript-Object-Streaming
3133- [[fcl-net]] Netzwerk-bezogene Units
3234- [[fcl-passrc]] Pascal language parsing und Transformation
3335- [[fcl-process]] Prozess-Steuerung
3436- [[fcl-registry]] Registry
3537- [[fcl-web]] Helfer für die Web-Entwicklung
3638- [[fcl-xml]] XML (DOM) Unit und verwandte Units.
3739- [[paszlib]] A Pascal conversion (thus without dependancies) of the standard zlib library.
3840- [[fpvectorial]] Bibliothek zum Lesen, Verändern und Schreiben von Vektorgrafiken
3941
4042### Dokumentation der FCL
4143
4244Derzeit 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](http://lazarus-ccr.sourceforge.net/docs/fcl/index.html) Im Fall von delphikompatiblen Units kann auch die Delphi-Dokumentation verwendet werden.
4345
4446### Beispiel
4547
4648Das 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.
4749
4850``` pascal
4951
5052program TObjectListExample;
5153
5254 uses
5355 Classes, { Für TObject aus der RTL }
5456 Contnrs; { Für TObjectList aus der FCL }
5557
5658 type
5759 TMyObject = class(TObject) { Eine beliebige anwendungsspezifische Klasse }
5860 private
5961 FName: String; { mit einer Variablen vom Typ String }
6062 public
6163 constructor Create(AName: String); { und einem Constructor, um sie mit einem gegebenen Namen zu erstellen }
6264 property Name: String read FName; { und einer Property, um den Namen auszulesen. }
6365 end;
6466
6567 constructor TMyObject.Create(AName: String);
6668 begin
6769 inherited Create;
6870 FName := AName;
6971 end;
7072
7173 var
7274 VObjectList: TObjectList; { Für eine Objektliste; }
7375
7476 begin
7577 VObjectList := TObjectList.Create { erstellt eine leere Liste }
7678 with VObjectList do
7779 begin
7880 Add(TMyObject.Create('Thing One'));
7981 Writeln((Last as TMyObject).Name);
8082 Add(TMyObject.Create('Thing Two'));
8183 Writeln((Last as TMyObject).Name);
8284 end;
8385 end.
8486```
8587
8688Dieses Programm muss in einem objektorientierten Modus erstellt werden, etwa -Mobjfpc oder -Mdelphi.
8789
8890### FCL-Komponenten
8991
9092Um 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.
9193
9294Classes
9395Basisklasse für die Objekt-Pascal-Erweiterungen im Delphimodus.
9496
9597Contnrs
9698Allgemeine Containerklassen, wurde im obigem Beispiel verwendet.
9799
98100FPCUnit
99101Unit-testing-framework (basiert auf das unit-testing-framework von Kent Beck, e.g. cf. ,[JUnit](http://www.junit.org/)), Außerdem hier ein [Artikel, der die FPCUnit dokumentiert](http://www.freepascal.org/docs-html/fpcunit.pdf)
100102
101103XMLRead, XMLWrite und DOM
102104Details hierzu im [[XML Tutorial/de|XML Tutorial]]
103105
104106---
105107*From the Free Pascal wiki, page "FCL/de", as it stood on 2020-02-14 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history