Free Pascal 2

Free Pascal 2
Computer & Literatur Verlag GmbH
Software:
Free Pascal ist ein moderner und plattformunabhängiger Compiler für die
Programmiersprache Object Pascal. Er bildet auch die Unterlage für fortgeschrittene
Entwicklungsumgebungen wie Lazarus und Morfik AppsBuilder.
Buch:
Zu Free Pascal gibt es im Internet eine mehrtausendseitige Dokumentation, die für diese
autorisierte deutsche Fassung übersetzt und ediert wurde. Diese deutsche Version
enthält in teilweise gestraffter und ergänzter Form das Benutzerhandbuch, die komplette
Sprachbeschreibung, die Erläuterung aller Kommandozeilenschalter und Metabefehle sowie die Beschreibung der Codeerzeugung, die für die Optimierung von Programmen und
das Verständnis des Compilers unumgänglich ist. Weiterhin enthält das Buch die Übersetzung der Referenz der wichtigsten Units der Laufzeitbibliothek von Free Pascal. Alle
Teile des Buchs wurden nach Fertigstellung der Übersetzung noch einmal vom Begründer
des Free-Pascal-Projekts, Florian Klämpfl, geprüft.
Autor:
Michaël Van Canneyt ist langjähriger Free-Pascal-Core-Entwickler und zeichnet, außer
daß er der ursprüngliche Maintainer der Linux-Version ist und sich heute vorwiegend um
die Klassenbibliotheken kümmert, auch für die Dokumentation des Projekts
verantwortlich. Die vorliegende Dokumentation, die im englischen Original mehrere Tausend Seiten umfaßt, entstand im Laufe mehrerer Jahre. Sie wird ständig an die neuen
Funktionen des Compilers angepaßt.
Der Autor ist Belgier, professioneller Software-Entwickler und lebt mit seiner Familie in
Leuven. In seiner knapp bemessenen Freizeit schreibt er außer Software auch Fachbeiträge für die Zeitschrift Toolbox und widmet sich Buchprojekten. Er versteht außer
Flämisch, Französisch, Englisch und Russisch auch ausgezeichnet Deutsch.
Free Pascal 2
Michaël Van Canneyt
Übersetzung aus dem Englischen von
Jörg Braun, Michael Keßler, Florian Klämpfl, Christopher Özbek
und Rosa Riebl
Bibliographische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der
Deutschen Nationalbibliografie; detaillierte bibliographische Daten sind
im Internet über http://dnb.d-nb.de abrufbar.
Alle Rechte vorbehalten. Ohne ausdrückliche, schriftliche Genehmigung des
Herausgebers ist es nicht gestattet, das Buch oder Teile daraus in irgendeiner
Form durch Fotokopie, Mikrofilm oder ein anderes Verfahren zu vervielfältigen
oder zu verbreiten. Dasselbe gilt für das Recht der öffentlichen Wiedergabe.
Der Verlag macht darauf aufmerksam, daß die genannten Firmen- und
Markenzeichen sowie Produktbezeichnungen in der Regel marken-, patent-,
oder warenzeichenrechtlichem Schutz unterliegen.
Die Herausgeber übernehmen keine Gewähr für die Funktionsfähigkeit beschriebener Verfahren, Programme oder Schaltungen.
1. Auflage 2009
© 2009 by C&L Computer und Literaturverlag
Zavelsteiner Straße 20, 71034 Böblingen
E-Mail: [email protected]
WWW: http://www.CuL.de
Coverdesign: Hawa & Nöh, Neu-Eichenberg
Satz: C&L-Verlag
Druck: PUT i RB DROGOWIEC
Printed in Poland
Dieses Buch wurde auf chlorfrei gebleichtem Papier gedruckt
ISBN 978-3-936546-53-8
INHALTSVERZEICHNIS
Geleitwort
Seite 15
Kapitel 1
Benutzerhandbuch
Seite 31
1.1 FPC installieren..............................................................................20
1.1.1 Unter Windows ............................................................................... 21
1.1.2 Unter DOS und OS/2 ..................................................................... 24
1.1.3 Unter Linux ..................................................................................... 28
1.1.4 Unter FreeBSD für i386................................................................... 29
1.1.5 Unter OS X (vormals MacOS X)....................................................... 30
1.1.6 Compiler testen .............................................................................. 30
1.2 Der erste Start ...............................................................................32
1.2.1 Die Suche nach Dateien.................................................................. 32
1.2.2 Kompilieren und Linken .................................................................. 35
1.2.3 Programmgröße verringern ............................................................ 36
1.2.4 Fehlermeldungen beim Kompilieren................................................ 36
1.3 FPC konfigurieren..........................................................................36
1.3.1 Die Kommandozeilenoptionen ........................................................ 37
1.3.2 Die Konfigurationsdatei .................................................................. 45
1.4 Portierung und portabler Code.....................................................48
1.4.1 Turbo-Pascal-Code portieren .......................................................... 49
1.4.2 Delphi-Code portieren .................................................................... 53
1.4.3 Richtlinien ....................................................................................... 55
1.4.4 Shared Libraries ............................................................................. 57
1.5 Windows-Ressourcen.....................................................................61
1.6 Kompilieren des Compilers ...........................................................65
1.6.1 Übersetzen mit Make ...................................................................... 66
1.6.2 Manuelles Übersetzen..................................................................... 68
1.7 Hilfswerkzeuge und -units ............................................................70
1.7.1 fpcmake und die Makefile.fpc ......................................................... 70
1.7.2 fpdoc – Das Unit-Dokumentationstool ............................................. 83
1.7.3 h2pas – C-Header nach Pascal konvertieren ................................... 84
1.7.4 h2paspp – Präprozessor für h2pas.................................................. 85
6
Inhalt
1.7.5 ppudump – Unitinhalte ausgeben....................................................86
1.7.6 ppumove – Bibliotheken anlegen.....................................................86
1.7.7 ptop – Pretty Printer .........................................................................87
1.7.8 rstconv – Ressourcen-Konverter .......................................................91
1.7.9 unitdiff – Units vergleichen...............................................................91
1.8 Mitgelieferte Units.........................................................................92
1.9 Fehlersuche....................................................................................94
1.9.1 Der Debugger gdb..........................................................................95
1.9.2 Der GNU-Profiler gprof...................................................................98
1.9.3 Speicherlöcher im Heap ..................................................................98
1.9.4 Zeilennummern in Laufzeitfehler-Backtraces ....................................98
1.10 Bezug der Free-Pascal-Quellen ..................................................99
Kapitel 2
Entwicklerhandbuch
Seite 103
2.1 Der Übersetzungsvorgang ..........................................................103
2.2 Der erzeugte Code.......................................................................105
2.2.1 Name-Mangling ...........................................................................106
2.2.2 Aufrufmechanismen ......................................................................111
2.2.3 Verschachtelte Prozeduren und Funktionen ....................................113
2.2.4 Konstruktor- und Destruktor-Aufrufe ..............................................113
Objekte ........................................................................................ 113
Klassen ......................................................................................... 114
2.2.5 Eintritts- und Austrittscode..............................................................114
2.2.6 Parameter-Übergabe ....................................................................115
2.2.7 Die Multimedia-Extension (MMX) ...................................................115
2.3 Linken ..........................................................................................117
2.3.1 Externer Code ...............................................................................118
2.3.2 Bibliotheken ..................................................................................121
2.3.3 Smartlinking..................................................................................123
2.4 Speicherverwaltung.....................................................................124
2.4.1 Datenformate................................................................................124
Integer-Typen ................................................................................ 124
Zeichen-Typen............................................................................... 125
Boolesche Typen............................................................................ 125
Aufzählungs-Typen ........................................................................ 125
Gleitkomma-Typen ........................................................................ 125
Zeiger-Typen................................................................................. 127
String-Typen.................................................................................. 127
Ressourcenstrings........................................................................... 127
7
Inhalt
Mengen-Typen.............................................................................. 131
Zusammengesetzte Datentypen ...................................................... 132
Datei-Typen .................................................................................. 133
Prozedur-Typen............................................................................. 135
2.4.2 Datenausrichtung ......................................................................... 135
2.4.3 Der Heap ..................................................................................... 135
2.4.4 DOS-Speicher unter Go32............................................................ 140
2.5 Threads........................................................................................141
2.6 Code-Optimierung ......................................................................146
Kapitel 3
Sprachreferenz
Seite 153
3.1 Grundsymbole (Tokens) der Sprache Pascal ..............................154
3.2 Schlüsselworte .............................................................................155
3.2.1 Standard-Direktiven...................................................................... 156
3.2.2 Bezeichner.................................................................................... 156
3.2.3 Hinweise....................................................................................... 156
3.2.4 Zahlen.......................................................................................... 157
3.2.5 Label ............................................................................................ 158
3.2.6 Zeichenketten ............................................................................... 159
3.3 Konstanten ..................................................................................159
3.3.1 Normale Konstanten..................................................................... 159
3.3.2 Typisierte Konstanten .................................................................... 160
3.3.3 Ressourcen-Strings........................................................................ 161
3.4 Typen ...........................................................................................162
3.4.1 Vorwärts-Typdeklaration ............................................................... 162
3.4.2 Ordinaltypen ................................................................................ 163
3.4.3 Boolesche Datentypen................................................................... 164
3.4.4 Aufzählungstypen.......................................................................... 165
3.4.5 Teilbereichstypen .......................................................................... 166
3.4.6 Gleitkommatypen ......................................................................... 167
3.4.7 Zeichen- und Zeichenkettentypen .................................................. 168
3.4.8 Strukturierte Datentypen................................................................ 173
3.4.9 Dateitypen .................................................................................... 182
3.4.10 Zeiger ........................................................................................ 183
3.4.11 Prozedurale Typen ...................................................................... 184
3.4.12 Der Typ Variant .......................................................................... 186
3.5 Variablen.....................................................................................188
3.5.1 Deklaration .................................................................................. 189
3.5.2 Initialisierte Variablen ................................................................... 190
8
Inhalt
3.5.3 Thread-Variablen ..........................................................................192
3.5.4 Eigenschaften (Properties)..............................................................192
3.6 Objekte ........................................................................................194
3.6.1 Felder ...........................................................................................196
3.6.2 Statische Felder .............................................................................196
3.6.3 Konstruktoren und Destruktoren ....................................................197
3.6.4 Methoden .....................................................................................198
3.6.5 Sichtbarkeit ...................................................................................202
3.7 Klassen.........................................................................................202
3.7.1 Klassendefinition ...........................................................................202
3.7.2 Klassen instantiieren......................................................................205
3.7.3 Methoden .....................................................................................206
3.7.4 Eigenschaften (Properties)..............................................................210
3.8 Interfaces .....................................................................................215
3.9 Generics .......................................................................................218
3.10 Ausdrücke ..................................................................................223
3.10.1 Syntax .........................................................................................223
3.10.2 Funktionsaufrufe .........................................................................225
3.10.3 Mengenkonstruktoren .................................................................226
3.10.4 Typumwandlungen (Typecasts) ....................................................227
3.10.5 Variablen-Typumwandlungen......................................................228
3.10.6 Der Adreßoperator @ .................................................................228
3.10.7 Operatoren.................................................................................229
3.11 Anweisungen .............................................................................233
3.11.1 Einfache Anweisungen.................................................................233
3.11.2 Strukturierte Anweisungen ...........................................................236
3.12 Funktionen und Prozeduren......................................................244
3.12.1 Prozedurdeklaration....................................................................244
3.12.2 Funktionsdeklaration...................................................................245
3.12.3 Funktionsergebnisse ....................................................................246
3.12.4 Parameterlisten ...........................................................................246
3.12.5 Funktionen überladen .................................................................252
3.12.6 Deklaration mit forward ..............................................................253
3.12.7 Deklaration mit External ..............................................................254
3.12.8 Modifikatoren .............................................................................255
3.12.9 Assembler-Funktionen.................................................................261
3.13 Operatoren überladen ..............................................................261
3.14 Programme, Units und Blöcke ..................................................266
3.14.1 Programme.................................................................................266
3.14.2 Units ...........................................................................................267
3.14.3 Blöcke.........................................................................................271
3.14.4 Gültigkeitsbereiche .....................................................................272
3.14.5 Bibliotheken ................................................................................274
3.15 Exceptions/Ausnahmen .............................................................275
3.16 Assembler ..................................................................................279
9
Inhalt
Kapitel 4
Referenz der RTL
Seite 285
4.1 Vorbemerkungen ........................................................................285
4.2 Unit System..................................................................................286
4.2.1 Typen, Konstanten und Variablen.................................................. 286
4.2.2 Funktionen und Prozeduren .......................................................... 307
4.2.3 Interfaces und Objekte.................................................................. 374
4.2.4 TObject ........................................................................................ 376
4.3 Die Manager-Units......................................................................381
4.3.1 Der Locale-Manager (clocale) ....................................................... 381
4.3.2 Der Memory-Manager (cmem)...................................................... 381
4.3.3 Der Thread-Manager (cthreads).................................................... 382
4.3.4 Der WideString-Manager (cwstring)............................................... 382
4.4 Unit ObjPas .................................................................................383
4.4.1 Konstanten, Typdefinitionen und Variablen.................................... 383
4.4.2 Prozeduren und Funktionen .......................................................... 384
4.5 Unit Printer ..................................................................................390
4.6 Unit SysUtils.................................................................................392
4.6.1 Konstanten, Typdeklarationen und Variablen................................. 392
4.6.2 Prozeduren und Funktionen .......................................................... 403
4.6.3 Exceptions .................................................................................... 480
4.6.4 Interfaces...................................................................................... 485
4.7 Unit Math.....................................................................................487
4.7.1 Konstanten, Typdeklarationen und Variablen................................. 487
4.7.2 Prozeduren und Funktionen .......................................................... 489
4.8 Unit StrUtils .................................................................................512
4.8.1 Konstanten, Typdeklarationen und Variablen................................. 512
4.8.2 Prozeduren und Funktionen .......................................................... 513
4.9 Unit DateUtils ..............................................................................530
4.9.1 Konstanten-, Typ- und Variablendefinitionen ................................. 530
4.9.2 Prozeduren und Funktionen .......................................................... 531
Einfache Formatierfunktionen......................................................... 531
Identifikationen ............................................................................. 532
Aufzählungen................................................................................ 535
Variationen zu aktuellem Datum und Zeit........................................ 537
Datumsextraktion .......................................................................... 539
Anfang und Ende des Jahres .......................................................... 540
Anfang und Ende des Monats......................................................... 541
Anfang und Ende der Woche ......................................................... 542
Anfang und Ende des Tags ............................................................ 544
Teile des Jahres............................................................................. 546
Teile des Monats ........................................................................... 547
Teile der Woche ............................................................................ 549
Teile des Tags ............................................................................... 550
Teile der Stunde ............................................................................ 551
10
Inhalt
Teile der Minute ............................................................................ 552
Teile der Sekunde .......................................................................... 552
Bereichsprüfungen ......................................................................... 553
Periodizität .................................................................................... 558
Zeiträume ..................................................................................... 563
Addition und Subtraktion................................................................ 567
Kodierung und Dekodierung kompletter Zeitstempel ........................ 570
Kodierung und Dekodierung (Woche des Jahres/Tag der Woche) ..... 571
Kodierung und Dekodierung (Tag des Jahres).................................. 572
Kodierung und Dekodierung (Woche des Monats)............................ 573
Ändern von Teilelementen .............................................................. 574
Vergleich von Datum und Zeit......................................................... 579
Routinen zum Auslösen von Ausnahmen .......................................... 585
Julianische und modif. Julianische Datumsumwandlung ................... 586
Unix-Zeitstempelunterstützung ........................................................ 587
Macintosh-Zeitstempel-Unterstützung .............................................. 587
DOS-Zeitstempel-Unterstützung ...................................................... 588
4.10 Unit dynlibs................................................................................589
4.11 Unit GetOpts ..............................................................................591
4.12 Unit HeapTrc..............................................................................595
4.13 Unit lineinfo ...............................................................................599
4.14 Unit infodwrf..............................................................................599
4.15 Unit Classes................................................................................600
4.15.1 Konstanten und Typen.................................................................600
4.15.2 Exceptions...................................................................................602
4.15.3 Interfaces ....................................................................................604
IDesignerNotify.............................................................................. 604
IComponentReference.................................................................... 604
IInterfaceList .................................................................................. 604
IStreamPersist ................................................................................ 607
4.15.4 Klassen .......................................................................................608
TAbstractObjectReader................................................................... 608
TAbstractObjectWriter .................................................................... 613
TBasicAction .................................................................................. 615
TBasicActionLink ............................................................................ 617
TBinaryObjectReader ..................................................................... 619
TBinaryObjectWriter....................................................................... 623
TBits.............................................................................................. 625
TCollection.................................................................................... 629
TCollectionItem ............................................................................. 632
TComponent ................................................................................. 634
TCustomMemoryStream ................................................................. 641
TDataModule ................................................................................ 643
TFiler ............................................................................................ 645
TFileStream ................................................................................... 646
TFPList........................................................................................... 647
THandleStream ............................................................................. 651
11
Inhalt
TInterfacedPersistent ...................................................................... 652
TInterfaceList................................................................................. 653
TList ............................................................................................. 656
TMemoryStream............................................................................ 660
TOwnedCollection......................................................................... 662
TOwnerStream.............................................................................. 662
TParser ......................................................................................... 663
TPersistent..................................................................................... 668
TReader........................................................................................ 669
TRecall ......................................................................................... 675
TResourceStream........................................................................... 676
TStream........................................................................................ 677
TStreamAdapter ............................................................................ 683
TStringList ..................................................................................... 686
TStrings ........................................................................................ 690
TStringStream ............................................................................... 700
TTextObjectWriter.......................................................................... 701
TThread........................................................................................ 701
TWriter ......................................................................................... 704
Kapitel 5
Compilerschalter
Seite 709
5.1
5.2
5.3
5.4
5.5
Lokale Direktiven ........................................................................709
Globale Direktiven......................................................................723
Bedingtes Kompilieren................................................................732
Makros.........................................................................................738
Nachrichten .................................................................................744
Stichwortverzeichnis Seite 747
Funktionen/Klassen/Schalter Seite 755
12
Inhalt
GELEITWORT
GELEITWORT
Liebe Free-Pascal-Anwender,
vor fast genau 10 Jahren, im Juli 1999, erhielt ich in meiner Eigenschaft als Initiator des Free-Pascal-Projekts von einem gewissen Jörg Braun eine E-Mail: Er wäre
Miteigentümer des Verlags C&L, hätte die Entwicklung von Free Pascal schon seit
einigen Jahren interessiert verfolgt und würde gerne die Dokumentation von Free
Pascal ins Deutsche übersetzt als Buch herausgeben. Nachdem ich meine erste
Überraschung überwunden hatte, schrieb ich ihm eine Antwort, daß ich mir das
schon verstellen könnte, wir das aber erst mit Michaël Van Canneyt klären müßten, denn weite Teile der Dokumentation stammen von ihm. Michael war auch
gleich einverstanden und so erschien Anfang 2000 das erste Buch zu Free Pascal
auf Deutsch. Das war der Beginn einer bis heute andauernden Zusammenarbeit
zwischen dem Verlag C&L und dem Free-Pascal-Entwicklungsteam: Parallel mit
den Arbeiten am ersten Buch zu Free Pascal fingen Michael Van Canneyt und ich
auch an, Artikel für die mit dem C&L-Verlag assoziierte Zeitschrift Toolbox, die
sich schwerpunktmäßig mit der Entwicklung unter Pascal und Delphi beschäftigt,
zu schreiben. Weiterhin organisierte der C&L-Verlag über mehrere Jahre den
Open-Source-Stand auf der Messe Systems in München, wo dann auch Free Pascal/Lazarus (die grafische Entwicklungsumgebung zu FPC) präsent waren und wir
den Besuchern erzählen konnten, was das Besondere an Free Pascal ist: Der Compiler ist plattformunabhängig und läuft nativ auf vielen Prozessoren und Betriebssystemen, selbst auf mobilen Geräten wie dem iPhone. Wird nur mit Funktionen
der Laufzeitbibliothek gearbeitet – die auf allen Plattformen gleich ist – und nicht
mit den Betriebssystemfunktionen, läuft dieser Code garantiert auf allen unterstützten Systemen. Außerdem ist FPC Open Source und zudem kostenlos. Dennoch kennt es alle Sprachkonstrukte von Delphi mit Ausnahme einiger auf .NET
zurückzuführender Erweiterungen, die ab Delphi 2005 eingeführt wurden. Andere
Sprachkonstrukte wie überladene Operatoren, die danach in Delphi aufgenommen
wurden, versteht FPC schon seit zehn Jahren.
Daß die Zusammenarbeit mit C&L nicht eingeschlafen ist, zeigt das vorliegende
Buch. Es ist keine Neuauflage des ersten Buches, sondern zu großen Teilen überarbeitet und aktualisiert, um die neuen Entwicklungen von Free Pascal widerzuspiegeln. Dies war auch notwendig, denn zum Zeitpunkt der Veröffentlichung des
ersten Buches war Free Pascal sechs Jahre alt und erst seit drei Jahren im Internet
verfügbar. Die damals aktuellen Versionsnummern bewegten sich im Bereich
0.99.x, die Version 1.0.0 war also noch gar nicht freigegeben. Inzwischen wird die
aktuelle Version 2.2.4 sein, wenn Sie dieses Buch in Händen halten. Die Zeitspanne zwischen dem Start der Entwicklung von Free Pascal und dem ersten Buch ist
also kleiner als die zwischen dem ersten und zweiten, vorliegenden Buch. Entspre-
14
Geleitwort
chend stark hat sich auch die Computerwelt und Free Pascal in dieser Zeit verändert: 1999 gab es Free Pascal für Intel-Prozessoren (i386-Plattform) und die Motorola-68k-Familie. Die i386-kompatiblen Systeme dominieren auch heute noch den
PC-Markt und werden inzwischen sogar von Apple in Macs verbaut, die 68kFamilie ist verschwunden und nur noch in einigen Embedded-Systemen zu finden.
Dies gilt auch für die Unterstützung von 68k-Prozessoren in Free Pascal: Die Compilerquellen enthalten noch Reste des Codes für die 68k-Familie in der Hoffnung,
daß sich jemand einer Aktualisierung annimmt, denn momentan lassen sich die
Quellen nicht mehr zu einem funktionierenden Compiler für diese Familie übersetzen.
Prozessor
Windows/
Windows Mobile
Linux
FreeBSD
OS X
NetWare
NetBSD
Solaris
MorphOS/
AmigaOS
DOS (Go32v2)
OS/2
BeOS/Haiku
GameBoy
Advance
Nintendo DS
i386
AMD64/
x86-64
PowerPC 64
–
Sparc
ARM
✰✰✰✰✰
PowerPC
–
✰✰✰✰✰
–
✰✰✰✰✰
✰✰✰✰✰
✰✰✰✰✰
✰✰✰✰✰
✰✰✰✰✰
✰✰✰✰✰
✰✰✰✰✰
✰✰✰✰✰
✰✰✰
–
–
✰✰✰✰✰
✰✰✰✰✰
✰✰✰✰✰
✰✰✰✰
✰✰✰
✰✰✰✰
–
–
–
–
–
✰✰✰
✰✰
✰
✰
✰
✰
✰✰✰
✰✰✰
–
✰✰✰✰
–
–
✰✰✰✰
–
–
–
–
✰✰✰✰✰
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
✰✰✰✰✰
–
–
–
–
–
✰✰✰✰✰
✰✰✰✰✰
✰✰✰
–
–
1
–
–
–
–
Tabelle 1: Free Pascal auf verschiedenen Plattformen. ✰✰✰✰✰ Jedes Release wird für
diese Plattform gebaut. ✰✰✰✰ Je nach Verfügbarkeit eines Entwicklers der für das
Release verantwortlich ist, wird ein Release für diese Plattform gebaut, oder nicht.
✰✰✰ Für diese Plattform muß man den Compiler und die Laufzeitbibliothek aus den
Quellen übersetzen, dies sollte jedoch ohne größere Probleme machbar sein.
✰✰ An der Plattform wird gelegentlich gearbeitet und mit etwas Glück läßt sich aus
den aktuellen Quellen ein funktionierender Compiler samt Laufzeitbibliothek bauen.
✰ Prinzipiell wird diese Plattform unterstützt, ohne größere Arbeiten kann jedoch kein
funktionierendes Free Pascal erzeugt werden. – Plattform/Prozessor-Kombination
existiert nicht/keine Unterstützung
1
Das iPhone und der iPod touch laufen mit einem leicht modifizierten Mac OS X auf einer
ARM-CPU. Die Verwendung von Free Pascal für diese Plattform erforderte zum Zeitpunkt
der Entstehung dieses Kapitels zwar noch einiges an Handarbeit, dies dürfte sich jedoch
in den nächsten Monaten ändern und spätestens mit dem nächsten großen Versionssprung zu Free Pascal 2.4.0 dürfte es eine vollwertige iPhone/iPod-Unterstützung geben.
Geleitwort
15
Auch wenn die 68k-Unterstützung in Free Pascal verschwunden ist, so war sie
doch der Grundstein und erstes Konzept für die Multiplattformfähigkeit von Free
Pascal. Neben vielen Lösungen, die zeigten, wie man den Compiler auf andere
Systeme portieren konnte, lernten wir auch, wie man es nicht macht. Den Arbeiten am 68k-Port verdanken wir also die heutige breite Unterstützung verschiedener Prozessoren. Basierend auf den Erfahrungen der 68k-Portierung wurde 1999
begonnen, große Teile des Compilers neu zu schreiben und multiplattformfähig zu
machen. Diese Arbeiten dauerten einige Jahre und es blieb keine Codezeile neben
der anderen, das Ergebnis war 2003 der ersten Free-Pascal-Compiler für PowerPC.
Nachdem die grundlegenden Arbeiten abgeschlossen waren, folgten schnell Portierungen auf weitere Prozessorfamilien: ARM, AMD64/x86-64 und damit die
Unterstützung von 64-Bit-Systemen, SPARC und PowerPC64. Damit deckt Free
Pascal alle wesentlichen Prozessorplattformen ab, wenn man kleine EmbeddedSysteme und iA64-basierte Großrechner außer acht läßt.
Parallel zu weiteren Prozessoren nahm auch die Zahl der Betriebssysteme zu, so
kamen im Lauf der Zeit Mac OS X, Solaris und auch Spielekonsolen wie der GameBoy Advance hinzu. Tabelle 1 soll dabei einen Überblick geben, wie gut die Unterstützung der verschiedenen Plattformen in Free Pascal realisiert ist. Eine (hoffentlich objektive) Wertung von ein bis fünf Sternen soll die Qualität der Unterstützung zeigen, dabei wurde im wesentlichen die Form der Verfügbarkeit (Release,
Snapshot, problemlos aus den Quellen übersetzbar) als Maßstab herangezogen.
Diese Tabelle spiegelt auch eine der wesentlichen Stärken von FPC wieder: Es
läuft auf praktisch jeder heutzutage halbwegs populären Softwareplattform und
zusammen mit Lazarus bietet FPC eine hochproduktive Entwicklungsumgebung
für die meisten Softwareentwicklungsszenarien, die sich vor kommerziellen Systemen wie Delphi nicht zu verstecken braucht, vor allem wenn man bedenkt, daß
mit Free Pascal/Lazarus nicht nur die Quellen für alle Laufzeitbibliotheken mitgeliefert werden, sondern auch die Quellen des Compilers sowie der IDE, natürlich
in modernem Object Pascal und damit jedem Anwender zugänglich.
Betrachtet man Tabelle 1 allerdings genauer, mag man sich vielleicht fragen, wie
es zustande kommt, daß Plattformen, die praktisch als tot zu betrachten sind (wie
beispielsweise OS/2) oder die ein Nischendasein fristen wie MorphOS, so stark
gepflegt werden, während im Gegensatz dazu relativ verbreitete Betriebssysteme
wie Solaris oder NetBSD schlechter wegkommen. Die Antwort ist, daß Free Pascal
ein Open-Source-Projekt ist und jeder daran mitarbeiten und sich um die Bereiche
kümmern kann, die ihm am Herzen liegen. Es gibt keine im eigentlichen Sinn
zentrale Kontrollinstanz oder eine Projektleitung, die vorgibt, was jeder zu machen hat. Natürlich ist es so, daß ein Kern an Entwicklern gewisse Grundregeln
bezüglich der Qualität von Patches vorgibt, Patches in die zentrale QuellcodeDatenbank überträgt und so weiter, aber im Endeffekt sind auch diese KernEntwickler auf die Zuarbeit der Free-Pascal-Community, der Nutzer und im Endeffekt auf Sie, verehrte Leser, angewiesen: sei es durch Bug-Reports, Patches, Testen, Supportarbeit für andere FPC-Anwender oder was auch immer.
16
Geleitwort
Wer sind nun diese Kern-Entwickler? Diese Frage läßt sich schwer beantworten,
als einigermaßen objektiven Maßstab möchte ich auf http://www.ohloh.net/p/
3311/contributors verweisen, denn dort finden Sie eine aus den Subversion-Daten
generierte Statistik, wieviel welcher Entwickler jeweils zu Free Pascal beigetragen
hat. Oft wird mir per Mail die Frage gestellt »An wen muß ich mich wenden, um
Mitglied des Free-Pascal-Entwicklungsteams zu werden?«. Meine Antwort darauf
ist ganz einfach: Das wird man automatisch durch Senden von Patches für Free
Pascal, am besten durch Anhängen an passende oder neue Bugreports. Wenn ein
Entwickler kontinuierlich Patches sendet, bekommt er irgendwann Schreibzugriff
auf die Quelltext-Datenbank und wird auch Mitglied der sogenannten CoreMailingliste und kann sich damit als Free-Pascal-Entwickler betrachten. Diese Mailingliste ist nicht öffentlich einsehbar und ein Abonnement kann nur durch eine Einladung erfolgen. Da stellt sich natürlich die Frage, ob das im Sinne des OpenSource-Gedankens von Free Pascal ist. Meiner Meinung nach schon, denn auf der
Liste werden Fragen diskutiert, die eben nicht unbedingt in die Öffentlichkeit gehören. Das betrifft oft Administratives, was die Infrastruktur von FPC betrifft, beispielsweise auch rechtliche Fragen im Zusammenhang mit FPC.
Trotz dieser geschlossenen Mailingliste bestehen genügend Möglichkeiten, sich
über Free Pascal zu informieren. An erster Stelle sei die offizielle Webseite http://
www.freepascal.org zu nennen. Sie bietet neben allgemeinen Informationen auch
ein Wiki zu Free Pascal, ein Archiv der Mailinglisten, Möglichkeiten, sich an den
Mailinglisten anzumelden, ein Forum in verschiedenen Sprachen sowie eine Online-Version der Dokumentation. Für deutschsprachige Anwender ist dies jedoch
sicherlich nicht die optimale Anlaufstelle, diese Lücke soll das vorliegende Buch
unter anderem schließen. Daneben bietet es natürlich auch die Möglichkeit, sich
offline gemütlich über Free Pascal zu informieren, Notizen der Dokumentation
hinzuzufügen oder während des Programmierens die gerade relevanten Seiten
aufgeschlagen zu haben, was bei einer Online-Dokumentation nicht immer ganz
einfach ist. Natürlich unterstützt der Kauf dieses Buchs auch die weitere Entwicklung von Free Pascal und mit dem C&L-Verlag profitiert ein langjähriger Förderer
des Projekts. Last but not least kann man das Buch als Fanartikel zu Free Pascal
sehen: Ich habe hier ein Buch mit dem Titel »Együtt könnyebb a programazás Free
Pascal« liegen, es ist ein ungarisches Buch über Free Pascal, auch wenn sich meine
ungarische Sprachkenntnisse in »tigrisek« (Tiger, Mehrz.) erschöpfen.
Damit möchte ich dieses Vorwort schließen, Ihnen im Namen von Michaël Van
Canneyt und in meinem Namen, der C&L-Redaktion und des ganzen Free-PascalTeams für Ihr Interesse an Free Pascal und diesem Buch danken und wünsche
Ihnen viel Spaß damit!
Ihr
Florian Klämpfl
Stichwortverzeichnis
2
2-Byte-Zeichen .......................................171
A
Abhängigkeiten zu ext. Packages............75
Abhängigk. zw. Code-Modulen prüfen ..104
Abhängigkeitsregeln für Units..................75
ABI (Application Binary Interface) .........135
ABI-Konventionen ...................................105
Abstract ..................................................199
Abstrakte Methode überschreiben........201
Action aktivieren, Ereignis......................617
Action aktualisieren ................................617
Action an Clients binden.........................618
Action auf Zielobjekt ausführen..............616
Action, geänderte Eigenschaften...........619
Action, neuen Client registrieren............616
Action, Update-Methode........................619
Actions, Basisklasse von........................615
Addition...................................................264
Adresse, springen an..............................343
Adreßoperator ................................. 52, 228
Aggregierte Objekte ...............................375
Akkumulator-Register.............................111
Alias.........................................................255
Alias-definierte Funktion, Prototyp ........110
Alias-Modifizierer....................................110
Alias-Namen ...........................................110
Alignment................................................135
Anführungszeichen aus String entfernen455
AnsiString......................................... 44, 700
AnsiString nach PChar, Typumwandl....169
AnsiString umwandeln ...........................364
AnsiString, einzelnes Zeichen.................292
AnsiString, Länge.......................... 168f, 170
Anweisung ..............................................233
Anweisungen ausführ. bis Bed. eintritt240f.
Anweisungen nicht ausführen................277
Anwendungs-Icon.....................................64
API-Inkompatibilitäten..............................54
Application Binary Interface setzen.........40
Arithmetische Operatoren......................229
Array........................................................174
Array (bit)packen....................................177
Array als Parameter e. Prozedur............250
Array kopieren ........................................177
Array von Strings verwalten ..................691
Array, Ausdr. in an Funk./Proz. überg....251
Array, Copy-on-Write.............................176
Array, dynamisches, Anfangslänge.....175f.
Array, größter/kleinster Wert in ............499
Array, mehrdimensionales.....................175
Array, statisches ....................................174
Array, zweidimensionales......................175
Array/Record initialisieren......................191
Arraygrenze ermitteln ............................175
Array-Konstante .....................................161
Arrayparameter, offene..........................250
asm .................................................244, 280
Assembler.........................................20, 103
Assembler, AT&T-Syntax ......................282
Assembler, Intel-Syntax.........................281
Assembler-Anweisungen einfügen........280
Assemblerbefehle ..................................279
Assembler-Blöcke einfügen...................243
Assemblercode, Art ................................. 40
Assemblerdateien (nicht) löschen........... 40
Assembler-Funktionen ...........................261
Assembler-Name, Mangling..................280
Assembler-Prozedur...............................280
AT&T-Assembler...................................... 44
Aufrufkonventionen ........................111, 122
Aufrufkonvention nach Pascal-Art.........259
Aufzählungstyp, Mindestanz. Byte vorgeb. 166
Aufzählungstypen...................................165
Aufzählungstypen, Speicherbelegung ...125
Ausdruck, einfacher ...............................223
Ausdruck, Komponenten........................223
Ausdrücke auswerten, Reihenfolge......... 50
Ausführbare Dateien/Units in best.
Verzeichnis schreiben ......................... 39
Ausnahme auslösen ...............................275
Ausnahmebehandlungsroutinen,
Basisklasse........................................482
Ausnahmen beim Streamen v. Komp....602
Ausnahmen.....................................243, 275
Ausrichtung, natürliche ..........................135
B
Backslash.................................................. 32
Bedingte Anweisungen..........................236
Bedingte Ausführung..............................237
Begin.......................................................236
Benannte Menge v. Methoden u.
Eigenschaften....................................215
Benannte Objekte verwalten .................632
Benannte Objekte, Collections verwalten...629
Bereichsprüfung vermeiden...................148
Bereichsüberprüfung................................ 41
Betriebssystem, für d. kompiliert wird.... 42
Betriebssystem, Handle lesen/schreib..651
Bezeichner definieren............................. 244
Bezeichner, Aufbau ................................ 156
Bezeichner, Gültigkeitsbereich .............. 272
Bezeichner, qualifizierter........................ 197
Bibliothek................................................ 274
Bibliothek an fest. Adr. in Speich. laden . 61
Bibliothek aus mehreren Units erzeugen. 86
Bibliothek dynamisch in C laden ............. 60
Bibliothek importieren.............................. 58
Bibliothek kompilieren............................ 123
Bibliothek schreiben................................. 57
Bibliothek, Aufrufkonvention.................... 58
Bibliothek, dynamische.......................... 589
Bibliothek, Funktion exportieren......58, 122
Bibliothek, Programm linken an............. 121
Bibliothek, relozierbare............................. 61
Bibliothek, Suchpfad ................................ 39
Big-Endian ......................................312, 345
Big-Endian-Code erzeugen....................... 40
Binäre Schiebeoperationen.................... 148
Bit-Array, Zugriff auf Wert..................... 628
Bit-Arraygröße berechnen..................... 600
Bit-Collection verwalten ........................ 625
Bitgepackte Strukturen, Beschränk. ..... 174
Bitpacked/Bitpacken............................. 173f
Bit-Werte im Array, Operationen auf .... 626
Bit-Werte, Collections von, in
indiziertem Array speichern ............. 625
Block, Gültigkeitsbereich ....................... 273
Blöcke verschachteln............................. 271
Blockread................................................ 182
Blockwrite .............................................. 182
Boolesche Ausdrücke auswerten.......... 238
Boolesche Operatoren ........................... 231
Boolesche Typen, Speicherbelegung.... 125
Boolesche Werte ablegen ..................... 625
Byte verschieben ................................... 344
Byte ........................................................ 164
ByteBool ................................................. 164
Byte-Packmechanismus........................ 173
Byte-Reihenfolge ändern ....................... 366
C
C++-Inline-Konstruktionen .................... 44
Call by Reference................................... 247
Call by Value........................................... 247
Callback-Funktionen............................... 208
Cardinal................................................... 164
Case-Anweisungen........................149, 237
C-Aufrufkonventionen ............................ 256
CDecl ...................................................... 256
748
Stichwortverzeichnis
Char......................................................... 168
C-Header nach Pascal konvertieren........ 84
C-Konstrukte in FPC ............................... 234
Class ....................................................... 207
classesh.inc............................................ 608
Classes-Unit ........................................... 600
C-Library, linken mit ................................. 43
Client-Steuerelemente, Liste von löschen .. 615
C-Makros.................................................. 44
Codeblöcke, Name-Mangling ................ 108
Codegenerierungprozeß........................... 40
Codesegment-Register, Inhalt............... 319
Collection durchsuchen.......................... 631
Collection verwalten .............................. 630
Collection, Elemente............................... 632
COM, Eigenschaften ......................215, 217
COM-Objekte, Grund-Interface.............. 374
Comp ...................................................... 167
Compiler kompilieren .........................65, 69
Compiler-Betriebssystem ausgeben....... 37
Compilerdatum ausgeben........................ 37
Compiler-Kommandozeile........................ 80
Compilermodus setzen ............................ 48
Compileroptionen/Suchpfade .................. 73
Compilerprozessor ausgeben .................. 37
Compilerversion ausgeben ...................... 37
Const......................................................... 54
Contained Objekte.................................. 375
Copy-on-Write........................................ 170
Copyright ausgeben................................. 37
C-Programm, Variable verwenden in .... 122
C-Prozedur, externe ............................... 260
CPU-Register sichern............................. 260
Cross-Compilierung............................43, 67
Currency ................................................. 167
cvar-Bezeichner..............................119, 122
Cygwin-Tools............................................ 20
D
Datei abschneiden..........................368, 444
Datei entfernen...............................324, 429
Datei für Lese-/Schreibzugriff öffnen..... 600
Datei öffnen ........................... 353, 354, 443
Datei schließen....................................... 647
Datei suchen...................................436, 437
Datei, lesen aus ...................................... 443
Datei, neue anlegen................................ 442
Datei, Position in..................................... 326
Datei, prüfen auf Vorhandensein............ 434
Datei, schreiben in..........................373, 444
Datei, untypisierte, Zugriff auf ............... 182
Datei, weitere Daten anhängen ............. 309
Datei, Werte lesen aus........................... 350
Dateiänderung, letzte ............................. 433
Dateiattribut-Einstellungen .................... 435
Dateibehandlung .................................... 442
Dateideklaration ..................................... 182
Dateieinträge, Zahl der........................... 327
Dateien, Namen der geöffneten ausgeben38
Dateien, zu kompilierende festlegen........ 75
Dateiende, Positionszeiger am .............. 324
Dateiende-Kennung...................................56
Dateiendung ändern............................... 429
Dateierweiterung ................................... 433
Dateifunktionen ...................................... 428
Dateihandle schließen............................ 442
Dateimaske ...............................................56
Dateiname ändern.................................. 352
Dateiname zuweisen.............................. 310
Dateiname, relativer/absoluter.............. 431
Dateinamen vergleichen........................ 428
Dateinamen, Groß-/Kleinschreibung.... 56, 288
Dateinamen, lange ............................. 32, 56
Dateinamen, länger als 8+3 Zeichen ... 289
Dateinamenlänge, Maximalwert..............56
Dateipfadlänge....................................... 289
Dateiposition .......................................... 444
Dateipositionszeiger setzen................... 357
Dateisuche.................................................32
Dateisuchpfad hinzufügen ........................39
Dateitypen......................................133, 182
Dateizeit.................................................. 435
Dateizugriff, Konstanten für ......................57
Datenausrichtung (automat.). .......135, 148
Datenbankzugriff, Komponenten für...... 643
Datenblöcke, Name-Mangling............... 106
Datenformate ......................................... 124
Datenmodul erzeugen/zerstören ........... 645
Datenmodule verwalten ........................ 643
Datensegment-Register, Inhalt ............. 322
Datenstrom, Position ............................. 679
Datenstrom, Rohdaten schreiben in...... 614
Datenstrom, schreiben/lesen ................ 614
Datenstrom, Speicherbereich der Daten643
Datenstrom, Wert lesen aus .........672, 706
Datenstrom, Werte lesen ..............608, 620
Datenstrom, Werte schreiben in...624, 678
Datenstrom, Zeichenkette lesen aus..... 673
Datenstrominhalt in Datei schreiben..... 642
Datenstromsystem, Basisklasse........... 668
Datentyp.........................................162, 294
Datentypen, boolesche.......................... 164
Datentypen, plattformunabhängige ...... 162
Datentypen, strukturierte....................... 173
DateUtils................................................. 530
Datum erhöhen....................................... 425
Datum ..................................................... 537
Datum, aktuelles ............................420, 537
Datum, best. Zeit hinzufügen................. 567
Datum/Zeit vergleichen ......................... 579
Datums- und Zeitangaben manipulieren530
Datums-/Zeit-Funktionen ....................... 419
Datums-/Zeitwert formatieren............... 409
Datumsanteil .......................................... 531
Datumsextraktion................................... 539
Datumsformatierung.............................. 419
Datumsumwandlung, julianische .......... 586
Debugger aufrufen ....................................95
Debug-Informationen auslesen........ 94, 599
Debug-Informationen, Optionen ...............41
Default-Aufrufkonvention d. Compilers....40
DEF-Datei...................................................41
Delegaten................................................375
Delphi-Code portieren...............................53
Delphi-Extensions ausschalten ................44
Delphi-Kompatibilität ................. 17, 44, 383
Delphi-Kompatibilitätsmodus...................48
Delphi-Modus............................................48
Destruktor(en).................................. 50, 197
Dezimaltrennzeichen...............................409
Dispatch-Interface ......................... 188, 374
Dispose, Syntax ......................................197
Distributionspaket.....................................74
Division....................................................264
DLL.................................................... 57, 274
done...........................................................45
Doppelte Case-Labels...............................49
DOS-Extender .........................................140
DOS-Speicher unter Go32 ......................140
DOS-Units..................................................93
DOS-Zeitstempel.....................................588
Double .....................................................167
Drucker....................................................390
Druckgerät zuweisen..............................390
dwarf-Debug-Informationen...... 42, 94, 599
Dyn. einbindb. Bibliotheken u. Linux ........40
Dynamische Bibliothek anlegen.............123
Dynamisches Laden von
Bibliotheksroutinen............................589
E
Eigenschaft streamen.............................214
Eigenschaft, globale ...............................192
Eigenschaft, Lesebezeichner..................211
Eigenschaft, Schreibbezeichner.............212
Eigenschaft, Werte zuweisen ................210
Eigenschaften ................................ 192, 210
Eigentümer (Owner), Info über,..............662
Ein-/Ausgabe überprüfen..........................41
Ein-/Ausgabepuffer zuweisen ................360
Ein-/Austrittscode...................................114
Elternklasse.............................................376
Elternkomponente ermitteln...................638
End...........................................................236
Endianness................................................55
Ergebnisregister......................................105
Exception-Blöcke....................................243
Exception-Klassen ..................................278
Exceptions...............................................275
Exceptions, verschachtelte....................278
Exception-Schlüsselworte........................45
Executable, Optionen................................43
Exit............................................51, 244, 246
Export ............................................. 257, 275
Export-Abschnitt, Namen.......................110
Extended .................................................167
External ............................................ 58, 254
External-Direktive .................................118f.
Externe Variablen, Zugriff auf.................119
Externen Code linken..............................118
F
FAR-/NEAR-Bezeichner............................49
749
Stichwortverzeichnis
Fehlerbehandlung ...................................243
Fehlermeldungen anzeigen.......................38
Fehlersuche, Unterstützung der prüfen ...95
Felder e. Instanz, Zugriff auf...................196
Felder, statische e. Objekts....................196
Felder/Methoden, Zugriff auf .................195
Finalanweisung end, Text danach ...........53
Fixpunktformat........................................406
Fließkommaeinheit initialisieren.............367
Fließkommazahl umwandeln .................405
Formatdefinitionen..................................409
Format-Platzhalter ersetzen ...................445
Formatstring, Trennung von Bereichen .410
Formulardatei-Inhalt lesen......................664
Forward............................................ 52, 253
FPC ............................................................48
fpc.cfg .................................................32, 45
fpcmake ..............................................70, 71
fpdoc .........................................................83
Framepointer-Register ...........................105
Free Class Library.....................................18
Free ................................................ 616, 647
Free-Pascal-Compilermodus....................48
Funktion mehrmals mit anderen
Parameterlisten definieren................252
Funktion überladen .................................258
Funktion, dieselbe für versch. Typen.....252
Funktion, Ergebnis ..................................244
Funktion, Ergebnisvariable .....................246
Funktion, globale in Unit deklarieren......259
Funktion, Zugriff auf über Objektdatei ...259
Funktion/Prozedur exportieren...............275
Funktionen aus Bibliothek exportieren...122
Funktionen ohne Instanz .........................203
Funktionen über Index ansprechen........119
Funktionen überladen ..............51, 244, 252
Funktionen, erweiterte v. FPC..................50
Funktionsaufruf .......................................225
Funktionsdef. ohne sofort. Implement. ..253
Funktions-Deklaration.............................245
Funktionsergebnis...................................245
Funktionsergebnis, Rückgabe................111
G
gdb ............................................................94
Generics ..................................................218
GetMemoryManager..............................136
Gleitkomma-Ergebnisregister ................105
Gleitkommaformat-Werte......................398
Gleitkomma-Operationen emulieren........40
Gleitkommaprozessor, Genauigkeit .......488
Gleitkommatypen ...................................167
Gleitkommatypen, Speicherbelegung ...125
Gleitkommazahl umwandeln..................405
Gleitkommazahlen, Datentyp .................667
Gleitkommeinheit, Rundungsmodus......495
GNU as......................................................20
GNU getopts ...........................................591
GNU gettext............................................131
GNU ld.......................................................20
GNU make.................................................20
GNU Windres ........................................... 62
Goto.......................................... 44, 233, 235
gprof.......................................................... 98
Groß-/Kleinschreibung............................155
Großbuchstaben, umwandeln in....370, 461
GTK..........................................................208
GUI-Anwendungstyp einschalten............ 54
GUID........................................................215
GUID-Wert erzeugen..............................478
H
h2pas(pp) ...............................................84f.
Heap-Manager ...............................135, 331
Heapspeicher..........................................136
Heapverfolgung ......................................598
Heimatverzeichnisses des Anwenders .440
Hexadezimale Schreibweise..................333
Hinweis-Steueranweisung .....................156
I
i18n .................................................127, 161
IDE............................................................. 17
IInterfaceList...........................................604
ImageBase-Adresse................................. 61
Include-Dateien, Suchpfad....................... 39
Indexnummer e. Prozedur......................119
Informationen anzeigen............................ 38
Inhalt e. and. Streams/Datei laden ........661
Inherited..........................................201, 210
init.. ........................................................... 45
Inline........................................................257
Inline-Assemblermakros ........................279
Inline-Routinen........................................149
Instanz beenden .....................................377
Instanz e. akt. Klasse entfernen .............377
Instanz, VMT-Zeiger auf.........................377
Int64................................................163, 164
Integer.....................................................164
Integer, 64 Bit.........................................167
Integer, Wert von ...................................292
Integer-Operationen, Überlauf prüfen...... 41
Integer-Typen, Speicherbelegung .........124
Integertypen, vordefinierte ....................163
Integerüberläufe überprüfen .................... 41
Integer-Werte, Länge.............................487
Integerzahl ohne Überlauf ......................289
Intel-Assembler ........................................ 44
Interface..........................................188, 215
Interface von Komponentenoperation
informieren ........................................639
Interface, Alias eines..............................217
Interface, Definition ................................215
Interface, Eltern-Interface angeben.......217
Interface, Kennung .................................216
Interface-Instanz erzeugen.....................215
Interfaces in COM, Basis .......................217
Internationalisierung.......................127, 161
Interoperabilität v. Objektdateien..........135
Interrupt ............................................50, 257
IStreamPersist........................................607
IUnknown................................................217
J
Jahr.................................................420, 531
Jahr, Teile des........................................ 546
Jahre, Zahl der ganzen...................558, 563
Jahresanfang/-ende............................... 540
Jahresanteil....................................532, 539
Julianische Datumsumwandlung .......... 586
K
Kalenderwoche...............................535, 546
Kalenderwochen numerieren................. 535
Kindkomponenten .................................. 636
Klasse nicht registriert ........................... 602
Klasse, Definition.................................... 202
Klasse, generische ................................. 218
Klasse, generische, spezialisierter Typ v. ... 220
Klasse, Sichtbarkeit von......................... 202
Klasse, Standardeigenschaft ................. 214
Klasse, Typinformation .......................... 378
Klassen instantiieren .............................. 205
Klassendefinition, generische ................ 219
Klassendeklaration, lokale
Typ-/Variablenblock-Definition......... 219
Klasseneigenschaft ................................ 192
Klassenerzeugung, Template für ........... 218
Klasseninstanz erzeugen/entfernen....... 206
Klasseninstanzen verwalten .................. 600
Klassenkomponenten, Gültigkeitsber.... 273
Klassenkonstruktor, unsichtb. Deklar. ... 114
Klassenmethode aufrufen ..............206, 207
Klassenmethode, Deklaration ................ 207
Klassenmethoden (Definition)................ 203
Klassennamen d. akt. Klasse ................. 378
Klassen-Operatoren................................ 232
Klassen-Properties in andere Klasse
kopieren............................................. 675
Klassentyp prüfen .................................. 232
Klassen-VMT, Speicherlayout ............... 134
Klassenzeiger.......................................... 203
Kleinbuchstaben..................................... 343
Kleinbuchstaben, umwandeln
in...............................428, 456, 460, 471
Kommandozeilen-Optionen.................... 591
Kommandozeilenparameter, Zahl der ... 347
Kommandozeilensortierung ................... 591
Kommentare........................................... 154
Kompilieren, Fehlermeldungen .............. 35f.
Kompilierung, bedingte...................... 38, 41
Komponente entfernen........................... 638
Komponente lesen.................................. 621
Komponente, Eigentümer ...................... 639
Komponente, Wert speichern in............ 641
Komponenten in WindowsRessourcen speichern ...................... 680
Komponenten streamen.................646, 671
Komponenten, Benachrichtigung
senden an.......................................... 637
Komponentendaten binär speichern ..... 623
Komponentendaten lesen ...................... 620
Komponentendaten schreiben............... 705
Komponentendaten schreiben,
750
Stichwortverzeichnis
Treiberklasse..................................... 613
Komponenteninstanz zurückgeben........ 604
Komponentenkinder, Streaming
verhindern ......................................... 646
Komponentenklassenreferenz................ 675
Komponentenname ................................ 641
Komponentenstatus ............................... 636
Komponentenstatus, Flags .................... 640
Komprimierte Objekte............................ 195
Kon-/Destruktor-Aufrufe......................... 113
Konfiguration, Kommandozeilenoptionen ..... 37
Konfigurationsdatei ............................32, 36
Konfigurationsdatei suchen...................... 45
Konfigurationsdatei, Direktiven................ 46
Konfigurationsdatei, Standard-, übergehen .. 37
Konfigurationsdatei, zweite...................... 45
Konfigurationsdateien, Verzeichnis für .. 438
Konstante, mit Wert vorbelegte............ 159
Konstante, normale ................................ 159
Konstante, typisierte .............................. 159
Konstanten typisierte, Ausrichtung ....... 135
Konstanten vorab berechnen................. 146
Konstanten, erlaubte .............................. 160
Konstanten-/Const-Parameter............... 249
Konstanten-Array ................................... 250
Konstruktor ............................................. 197
Konvertierfunktionen .............................. 403
Kopieren bei Schreibzugriff .................... 170
Kurzschlußauswertung boolescher
Ausdrücke .................................148, 165
Kylix-Kompatibilitäts-Unit ........................ 44
L
Label erlauben ........................................ 158
Label ........................................ 44, 233, 271
Ländereinstellungen ............................... 392
Late Binding............................................ 188
Laufwerksbuchstabe.............................. 432
Laufwerksbuchstaben, Zeichen............. 287
Laufwerksgröße ..................................... 430
Laufwerkstrennzeichen ............................ 56
Laufzeitbibliothek...................................... 17
Laufzeitfehler-Backtraces,
Zeilennummern ................................... 98
Lazarus...................................................... 17
Leerzeichen am Stringende/-anfang
löschen .............................................. 452
Leerzeichen in String suchen ................. 516
Lese-/Schreib-Bezeichner verstecken... 193
Lese-/Schreiboperationen synchronisieren .485
LIB............................................................. 57
Library..................................................... 274
Linken................................................35, 117
Linker ........................................................ 20
Linker nicht aktivieren .............................. 41
Linker, dynamischer................................. 39
Linker, externer......................................... 43
Linker, interner.......................................... 43
Linux-/BSD-Units...................................... 94
Liste an and. Stelle kopieren.................. 660
Liste d. Interfac. speichern/verwalten... 653
Liste sperren/entsperren ....................... 606
Liste verwalten....................................... 648
Liste, Einträge verwalten....................... 606
Liste, Interfaces entfernen aus.............. 605
Liste, NIL-Pointer entfernen................... 650
Liste, Wert suchen in............................. 659
Liste, Werte verwalten.......................... 649
Liste, Zeiger verwalten ..................650, 657
Listen zusammenfügen..................650, 659
Listen, Stringverwaltung........................ 688
Listen-Aufnahmefähigkeit...................... 649
Listeneinträgen-Trennzeichen ..................56
Listenverwaltung ...................605, 613, 687
Little-Endian....................................342, 345
Local ....................................................... 258
Locales ................................................... 392
Logische Operatoren.............................. 230
Logo, FPC-, ausgeben...............................37
LongBool................................................. 164
LongInt.................................................... 164
LongWord............................................... 164
M
Macintosh-Pascal .....................................44
Macintosh-Zeitstempel.......................... 587
MACPAS ...................................................48
Mac-Pascal-Kompatibilitätsmodus..........48
make, kompilieren mit ..............................66
make, Variablen a. Kommandoz. überg. ..77
Makedatei f. GNU make anlegen .... 20, 70f.
Makedatei, Archivierungsregeln ..............82
Makedatei, benötigte Programme...........76
Makedatei, Build-Regeln ..........................82
Makedatei, Compiler-Kommandozeile.....80
Makedatei, Dateiendungen ......................81
Makedatei, Informationsregeln ................83
Makedatei, Installationsregeln .................82
Makedatei, Löschregeln ...........................82
Makedatei, Musterregeln.........................82
Makedatei, Programmnamen ..................80
Makedatei, Variablen in............................77
Makedatei, Verzeichnisvariablen ........... 77f
Makedatei, Zieldateien .............................81
Makedatei, Zielvariablen ..........................79
Makedatei-Variablen.................................78
Makefile.fpc, Aufbau.................................72
Makefiles...................................................70
Makros auflisten .......................................38
Mathematische Funktionen................... 489
Mehrfachvererbung ............................... 215
MemAvail/MaxAvail.................................53
Menge, Anzahl der Zeichen................... 182
Mengenelemente................................... 227
Mengenkonstruktoren............................ 226
Mengen-Operatoren .............................. 231
Mengentyp............................................. 181
Mengentypen, Speicherbelegung ......... 131
Message-Methoden .............................. 208
Methode ersetzen.................................. 207
Methode überschreiben ................199, 206
Methode, abstrakte ............................... 201
Methode, Adresse e. suchen .................379
Methode, Deklaration .................... 198, 206
Methode, statische.................................199
Methode, virtuelle.......................... 199, 206
Methoden ohne Instanz ..........................207
Methoden, virtual definierte.....................54
Methodenaufrufe ........................... 111, 198
Methoden-Designator.............................225
Methoden-Properties .............................674
Millisekunde............................................530
Millisekunden umwandeln .....................426
Millisekundenanteil.................................540
MingW32-Tools........................................20
Minute.....................................................530
Minute, Teile der.....................................552
Minuten, Zahl der ganzen.......................561
Minutenanteil..........................................539
MMX .......................................................115
Modifikatoren..........................................255
Modifizierer, Liste der.............................156
Monat, Teile des.....................................547
Monate, Zahl der ganzen............... 559, 563
Monatsanfang/-ende..............................541
Monatsanteil...........................................539
MSide........................................................17
Multimediadaten ....................................116
Multiplikation ..........................................264
N
Nachfolgendes Element .........................365
Nachr. ü. Listenänderungen versenden.657
Nachrichtenbehandlungsroutinen..........208
Nachrichtenbezeichner, Strings als .......208
Name-Mangling......................................106
New, Syntax ...........................................197
Nicht-visuelle Objekte, Container ..........643
Nostackframe .........................................258
Nullterminierte Strings .................. 169, 172
O
Objekt deklarieren...................................194
Objekt instantiieren.................................197
Objekt, komprimiertes............................195
Objekt, Sichtbarkeit von.........................202
Objekt, Zeiger auf ...................................202
Objektdatei................................................35
Objektdatei linken...................................120
Objektdateien, Suchpfad..........................39
Objekte ohne eigenen Referenzzähler....375
Objektfelder ............................................196
Objektkonstruktor, unsichtb. Deklarat. ..113
Objektmethoden .....................................198
Objektmethoden-Aufrufe........................234
Objektpersistentes Streaming ...............607
Objektpersistenz .....................................600
ObjFPC-Modus ...................................44, 48
OnCreate/OnDestroy auslösen,
Zeitpunkt............................................645
OnExecute...............................................617
OnUpdate-Event auslösen......................617
Operand...................................................223
751
Stichwortverzeichnis
Operator deklarieren...............................261
Operator überladen.......................... 52, 261
Operatoren, Priorität ...............................223
Optimierungsmethoden............................42
Ordinaltypen an Bitgrenzen ausrichten..173
Ordinaltypen, Größe ...............................163
Originaldatenstrom .................................663
OS/2-Units.................................................94
Out-Parameter ........................................248
Overlay......................................................50
Overload..................................................258
Override...................................................206
Owner/Owned-Beziehungen ......... 600, 636
Owner-Referenzen speichern.................662
P
Package-Informationen ............................74
Packages...................................................17
Packages, Abhängigkeiten zu externen...75
Packed Objects.......................................195
Packen auf Bytegrenzen.........................173
Paket verteilen..........................................74
Parameter als Wertparameter
deklarieren.........................................247
Parameter von links n. rechts
übergeben..........................................259
Parameter, Defaultwert..........................247
Parameter/lok. Variablen v. Methoden....54
Parameter-Alignment .............................115
Parameterlisten ............................... 49, 246
Parameter-Übergabe..............................115
Pascal......................................................259
PChar.......................................................172
PChars addieren .....................................172
Peephole-Optimierung............................149
Periodizität ..............................................558
Persistente Klasse, Status sichern.........675
Persistentes Objekt freigeben................668
Pfadangabe extrahieren .........................433
Pfadbegrenzer entfernen........................431
Pfadtrenner hinzufügem .........................441
Pfadtrennzeichen ........................... 287, 289
Plattform, Übersetzen für andere.............67
Platzhalter für Zahlen..............................409
Pointer-Collections verwalten................657
Pointer-Typen, Speicherbelegung..........127
Pointer-Zugriffe auf Heap .........................41
Portabler Code..........................................48
Portierung..................................................48
POSIX-Threads .......................................141
Potenzierung ...........................................264
PPU-Datei....................................... 103, 267
ppudump...................................................86
ppumove ...................................................86
Präprozessor .............................................64
Präprozessor v. h2pas..............................85
Pretty-Printer ............................................87
Private............................................ 195, 202
Profiler.................................................42, 98
Programm kompilieren.................... 35, 104
Programmaufbau....................................266
Programmausführung anhalten .....333, 478
Programmblock......................................266
Programmgröße verringern ..................... 36
Programmkopf........................................266
Programmname, aktueller .....................429
Programmteile immer ausführen...........277
Properties streamen...............................636
Properties .......................................192, 210
Property lesen ........................................621
Protected ........................................195, 202
Prozedur, Ergebnis..................................244
Prozedur, Referenz auf zuweisen............. 53
Prozedur/Funktion anderen Namen
geben.................................................255
Prozedurale Variable...............................226
Prozedurale Variable aufrufen................234
Prozedurale Variable zuweisen ..............185
Prozeduranweisungen............................234
Prozedurdeklaration................................244
Prozedurdeklarationen anzeigen.............. 38
Prozeduren/Funktionen, bearbeitete
ausgeben............................................. 38
Prozeduren/Funktionen, verschachtelte 113
Prozedurtypen ........................................135
Prozedurzeiger........................................184
Prozeß-Exitcode, Maximalwert ............... 56
Prozeßmanipulation................................476
Prozessormapping..................................105
Prozessorspezifische Optimierungen.....149
ptop........................................................... 87
ptopu......................................................... 90
PtrInt .......................................................294
PtrUInt.....................................................294
Public ..................................... 195, 202, 259
Public-Modifizierer .................................110
Puffer freigeben..............................329, 620
Puffereinträge in Datei schreiben ..........313
Q
Quellcode-Optionen.................................. 44
Quelltext, Dateien einbinden.................... 34
QWord ..................................................163ff
Registerbelegung auf PowerPC/-64...... 106
Registerbelegung auf SPARC................ 106
Registerbelegung auf x86-64 ................ 106
Registerkonventionen ............................ 105
Registersicherung .................................. 111
Registerzuordnung a. Plattformen......... 105
Reintroduce ............................................ 207
RES ........................................................... 62
Reservierter Speicher, Größe ................ 642
Reset......................................................... 50
Resource Workshop ................................ 62
ResourceString..............................127f, 161
Ressource entsperren............................ 369
Ressource laden..................................... 343
Ressourcefreigabe ................................. 331
Ressourcen einbinden.............................. 61
Ressourcen-Compiler............................... 39
Ressourcendatei ...................................... 62
Ressourcendateien erzeugen .................. 62
Ressourcenheader lesen/schreiben ...... 681
Ressourcen-Linker.................................... 39
Ressourcenstream konvertieren ............. 91
Ressourcenstream, Instanz verwalten.. 677
Ressourcenstring-Datei bearbeiten....... 129
Ressourcenstring-Datei ......................... 128
Ressourcenstrings in laufend. Progr.
übersetzen......................................... 131
Ressourcenstrings .........................127, 161
Result...................................................... 246
Rewrite ..................................................... 50
Rhide/GCC-Kompatibilitätsmodus........... 38
Routine als Interrupt-Handler ................ 257
Routine in ext. Objektdatei dekl. ........... 254
Routine, Adresse von............................. 135
rstconv..............................................91, 129
RST-Datei ............................................... 128
RTL kompilieren........................................ 65
RTL übersetzen......................................... 68
RTL-Event ............................................... 356
RTTI .......................................................... 55
Runden.................................................... 355
Rundung von Gleitkommawert.............. 506
R
S
Raise-Anweisung ...................................275
Read-Methoden v. Properties................605
Real .........................................................167
Rechenoperatoren überladen.................264
Record.....................................................194
Record, neues Feld hinzufügen..............178
Record, variante Teile verschachteln....179
Record, Zeiger auf ..................................202
Record-Elemente, Ausrichtung..............179
Recordfelder, Gültigkeitsbereich ...........273
Record-Konstante...................................161
Record-Typen.........................................178
Referenzgezählte Objekte ......................375
Register...........................................186, 260
Register, veränderte...............................279
Registerbelegung auf ARM....................106
Registerbelegung auf i386.....................106
SafeCall................................................... 260
Sättigungsarithmetik.............................. 116
SaveRegisters ........................................ 260
Schaltjahr .......................................425, 530
Schleife, an Ende springen..................... 318
Schleife, springen aus............................ 313
Schlüsselworte, Liste der ...................... 155
Schnittstelle zur Betreuung einer Liste
von Interfaces ................................... 605
Schreiben in Datei .................................. 373
Schreibobjekt verwalten........................ 705
Sekunde.................................................. 531
Sekunde, Teile der.................................. 552
Sekunden/Millisek., Zahl der ganzen..... 562
Sekundenanteil....................................... 540
Self..................................................111, 198
Self-Bezeichner ...................................... 196
752
Set........................................................... 181
SetMemoryManager.............................. 136
Set-Typecasts .......................................... 50
Shared Libraries auf Win. erzeugen ........ 61
Shared Library ......................... 57, 257, 589
ShortInt ................................................... 164
ShortString.............................................. 168
ShortString, Deklaration......................... 168
ShortString, Länge.................................. 169
Sichtbarkeit v. Objekten......................... 202
Sichtbarkeit ............................................ 195
Single ...................................................... 167
Singuläre arithmetische Operatoren...... 229
Slash ......................................................... 32
SmallInt................................................... 164
Smartlinken beim Kompilieren................. 41
Smartlinking....................................123, 149
SO ............................................................ 57
SoftFloat ................................................. 260
SoundEx.................................................. 512
SoundEx, deutsch................................... 525
Speicher füllen........................................ 327
Speicher vom Heap anfordern............... 660
Speicher, verfügbarer freier..................... 53
Speicher-/Portzugriff ................................ 49
Speicheradresse, Verweis auf............... 183
Speicherbelegung ausgeben ................. 597
Speicherbereich anfordern..................... 308
Speicherbereich durchsuchen ............... 336
Speicherbereich reservieren.................. 331
Speicherbereiche vergleichen .......314, 404
Speicherblockgröße ............................... 344
Speicherblockgröße ändern................... 352
Speicher-Datenstrom verwalten ........... 661
Speicher-Datenstrom, Datei laden in..... 661
Speicherfreigabe ............................321, 330
Speicherlöcher finden .............................. 98
Speichermanager installieren ................ 359
Speichermanager................................... 298
Speichermanager, eigener..................... 136
Speicheroperationen .............................. 641
Speicherplatz, freier ............................... 430
Speicherverwaltung ............................... 124
Speicherverwaltung, automatische ...... 600
Speicherzuweisungen/-freigaben.......... 595
Sprachmodus ........................................... 44
Sprunganweisung .................................. 235
Sprungmarke.......................................... 233
stabs ......................................................... 94
Stabs-Debug-Information......................... 41
Stabs-Debuginformationen.................... 599
Stack vergrößern.................................... 112
Stack, Parameter von links nach
rechts schieben................................. 260
Stack, Parameter von rechts nach
links schieben.................................... 260
Stackbereinigung ................................... 111
Stackframe beim Prozeduraufruf........... 115
Stackframe erzeugen ............................. 258
Stackgröße eines neuen Threads.......... 286
Stackgröße festlegen............................... 41
Stichwortverzeichnis
Stack-Konfiguration................................ 111
Stackpointer........................................... 105
Stackrahmen, keiner.............................. 149
Stacküberprüfung .....................................41
Stackzeiger............................................. 362
Standard-Aufrufkonvention v. FPC........ 186
Standard-Diagnostics-OutputDateihandle, Wert ...............................56
Standard-Input-Dateihandle, Wert...........56
Standard-Output-Dateihandle, Wert........56
Standard-Units..........................................92
static..........................................................45
Statische Bibliothek anlegen ................. 123
Statusflags von Komponenten .............. 640
StdCall .................................................... 260
Steuerzeichen......................................... 159
Stored ..................................................... 214
Stream zerteilen in Tokens .................... 664
Stream, Daten aus Ressourcenobjekt
lesen.................................................. 677
Stream, Objektstatus............................. 607
Streamen von Komponenten................. 671
Streaming, Basisklasse ......................... 678
Streaming-Unterstützung ...................... 600
Streams verschlüsseln/komprimieren .. 662
Streams, Elternklasse ............................ 641
String ...................................................... 159
String beim Laden e. Formulars
übersetzen ........................................ 675
String bestimmter Länge erzeugen....... 360
String in Anführungszeichen..........451, 456
String in Datumsangabe ........................ 412
String in Gleitkommazahl umwandeln .. 419
String in Integer umwandeln .........414, 419
String in Währungsangabe.................... 411
String in Wörter aufteilen ...................... 364
String in Zeitangabe umwandeln .......... 415
String kopieren....................................... 518
String lesen/setzen ................................ 691
String prüfen........................................... 514
String, Länge .......................................... 168
String, Leerzeichen................................. 697
String, Speicher reservieren für............. 466
String, Zeichen einfügen ........................ 513
String, Zeichen ersetzen ........................ 469
String, Zeichen unter ASCII #32........... 697
String, Zeiger auf letztes Zeichen.......... 458
String, Zeilentrenner............................... 696
String-Collections verwalten .........648, 657
String-Deklaration, Schalter................... 168
Stringende.............................................. 469
Stringgröße ............................................ 289
Stringlänge setzen ................................. 359
Stringliste verwalten.............................. 600
Stringliste, Darstellung........................... 698
Stringliste, Dateiinhalt laden.................. 695
Stringlistenvergleich .............................. 693
Stringlistenverwaltung........................... 687
String-Operator ...................................... 231
String-Referenzzähler............................. 170
Strings addieren..................................... 172
Strings aneinanderfügen ........................172
Strings verbinden....................................318
Strings vergleichen.................................454
Strings verwalten ...................................692
Strings, Groß-/Kleinschreibung ..............689
Strings, nullterminierte addieren............231
Strings, Nullterminierung........................169
Stringtabellen aktualisieren....................129
Stringtabellen............................................62
String-Typen, Speicherbelegung ...........127
Stringumwandlung .................................520
Stringvergleich........................................361
strip ...........................................................36
Struktur, Ausrichtung .............................135
Stunde.....................................................530
Stunde, Teile der.....................................551
Stunden, Zahl der ganzen.......................560
Stundenanteil..........................................539
Subroutine beenden................................326
Subtraktion..............................................264
Symbole ..................................................154
Symbole, Zugriff v. außen ......................110
Systemton...............................................478
System-Unit ..............................................45
T
TAbstractObjectReader .........................608
Tag der Woche, erster ...........................542
Tag der Woche, letzter...........................543
Tag des Jahres .......................................572
Tag des Monats, erster..........................542
Tag des Monats, letzter .........................542
Tag, letzter des Jahres...........................541
Tag, Teile des..........................................550
Tage im Jahr...........................................536
Tage in einem Jahr.................................530
Tage in einem Monat..............................530
Tage, Zahl der ganzen ................... 560, 564
Tagesanfang/-ende.................................544
Tagesdatum............................................543
TAlignment, Aufzählungswerte..............601
Target-Betriebssystem angeben .............42
Tausendertrennzeichen ..........................406
Tausender-Trennzeichen ........................410
TBasicAction...........................................615
TBasicActionLink ....................................617
TBinaryObjectReader .............................619
TBinaryObjectWriter ..............................623
TBits ........................................................625
TCollection ..................................... 600, 629
TCollectionItem.......................................632
TComponent ...........................................634
TComponent-Klasse, neue Instanz.........636
TCustomMemoryStream .......................641
TDataModule ..........................................643
Teilbereichstypen ...................................166
Temporärdatei, Name der......................440
Temporärverzeichnis ..............................440
Testprogramme........................................30
Textausrichtung in Textsteuerelem.......601
Textdateien.............................................134
753
Stichwortverzeichnis
Stichwortverzeichnis
TextRec.....................................................50
TFiler........................................................645
TFPList ....................................................647
THandleStream.......................................651
Thread anhalten......................................323
Thread beenden......................................322
Thread-Funktionen..................................141
Thread-ID ....................................... 143, 331
Thread-lokaler Speicher .........................141
Thread-Management................................54
Thread-Manager............................ 141, 145
Thread-Manager installieren..................361
Thread-Priorität.......................................703
Thread-Routinen, systemspezifische.....141
Threads des Betriebssystems ...............703
Threads verwalten..................................703
ThreadVar....................................... 141, 192
Thread-Variablen ....................................192
TInterfaceList ..........................................653
TList........................................600, 648, 656
TMemoryStream ....................................660
TObject....................................................376
TObject, Instanz von erzeugen...............376
TOwnedCollection ..................................662
TOwnerStream .......................................662
TP. .............................................................48
TP/BP-7.0-Kompatibilität .........................44
TParser....................................................663
TPersistent..............................................668
TReader...................................................669
TRecall ....................................................675
TResourceStream...................................676
Try..Except..............................................276
Try..Finally...............................................277
TStream ......................................... 600, 677
TStreamAdapter.....................................683
TStringList...................................... 600, 686
TStrings...................................................690
TStringStream.........................................700
TThread ...................................................701
Turbo-Pascal-Kompatibilitätsmodus .17, 48
Turbo-Pascal-Konstrukte..........................49
TWriter....................................................704
Typ, prozeduraler....................................184
Typ-Bezeichner.......................................162
Typblock..................................................219
Typecast .................................................227
Typen, gepackte, strukturierte...............173
Typen, komplexe ......................................50
Typüberprüfung beim Parsen.................106
Typumwandlung....................171, 227, 228
Typumwandlung, bedingte ....................232
Übergabe von Werten, direkte ..............247
U
Uhrzeit .....................................................533
Umgebungsvariable ermitteln................477
Unicode-Umwandlungstabelle laden.......39
Unicode-Zeichenkettenverarbeitung......474
UniqueString ...........................................170
Unit kompilieren............................... 35, 103
Unit System ............................................266
Unit, dynam./statisch gelinkt.................123
Unit, Gültigkeitsbereich..........................273
Unit, Inhalt anzeigen................................. 86
Unit, Interfaceteil....................................267
Unit, Struktur ..........................................267
Unit-Abhängigkeiten...............................270
Unit-Beschreibungsdateien....................104
Unitdatei .................................................103
Unit-Datei, Endung..................................267
Unit-Dateien, Suchpfad ............................ 39
unitdiff....................................................... 91
Unit-Dokumentationstool ......................... 83
Unit-Interface-Sektionen, Unterschied .... 91
Unit-Namen .............................................. 34
Unit-Quelltext............................................ 35
Units laden, Reihenfolge .......................... 39
Units linken .............................................123
Units, Abhängigkeitsregeln...................... 75
Units, gegenseitig einbinden..................270
Units, mitgelieferte................................... 92
Units, smartgelinkte ................................. 43
Units, statische linken mit........................ 43
Units, vom Programm benötigte ...........266
Units/Programme installieren .................. 74
Unix-Zeitstempel ....................................587
Unterfunktionen aufrufen........................234
Uses-Anweisung ....................................266
Uses-Klausel, Reihenfolge........................ 39
UTF-8-String, übersetzen in ...................309
V
Var...........................................................189
VarArgs...................................................260
Variable exportieren ...............................122
Variable...................................................188
Variable, Betrag......................................307
Variable, externe ....................................190
Variable, globale.....................................188
Variable, initialisierte ..............................160
Variable, lokale .......................................188
Variable, Ordinalwert..............................346
Variable, Startwert .................................190
Variable, thread-lokale ...........................192
Variable, Zugriff a. über C-Name ...........119
Variablen trashen...................................... 41
Variablen, initialisierte ............................190
Variablen-/Typgröße ermitteln...............362
Variablen-Deklaration .............................189
Variablenreferenz....................................225
Variablentyp auf anderen zuweisen.......262
Variablen-Typumwandlung....................228
Variante, Typen zuweisen......................187
Varianten.................................................186
Var-Parameter ........................................247
Var-Parameter, Defaultwert...................248
Vergleichsoperatoren überladen............265
Vergleichsoperatoren .....................223, 232
Verschlüsselung .....................................529
Versionsinformationen.............................. 63
Verzeichnis ändern .................................314
Verzeichnis anlegen .......................344, 429
Verzeichnis entfernen............................. 355
Verzeichnis ermitteln.............................. 331
Verzeichnis v. Units/Programmen
säubern ............................................... 72
Verzeichnis, aktuelles............................. 439
Verzeichnis, prüfen auf Vorhandensein..... 430
Verzeichnisangabe ohne Laufwerksbuchstaben ....................................... 432
Verzeichnisfunktionen ............................ 428
Verzeichnis-Trennzeichen ersetzen ....... 431
Verzeichnistrennzeichen ersetzen ......... 442
Verzeichnistrennzeichen .................... 32, 56
Virtual...................................................... 199
virtuelle Methode................................... 197
virtuelle Methode, Elternklasse ............. 210
Virtuelle Methode, Inherited .................. 207
VMT ........................................................ 203
Vorgänger eines Elements..................... 348
Vorwärts-Typdeklaration ....................... 162
Vorzeichen e. Parameters ausgeben..... 507
W
Währungsangabe in String.................... 405
Währungsformat.................................... 406
Warnungen ausgeben.............................. 38
Wert an aufruf. Routine zurückgeben ... 248
Werte, mehrere in Variable speichern .. 173
Wertparameter ...................................... 247
WideChar ............................................... 171
WideString ....................168, 171, 332, 392
WideString-Manager installieren .......... 361
WideString-Manager............................. 392
WideString-Manager............................... 54
WideStrings vergleichen ....................... 474
Wiederholte Ausführ. einer Anweis. ..... 239
Wiederholungsanweisungen................. 236
Windows-Backslash aus Pfadnamen
entfernen........................................... 431
Windows-Ressourcen ............................. 61
Windows-Units ........................................ 93
Windres.................................................... 62
Wissenschaftliche Notation .................. 410
Wissenschaftliches Format................... 406
Woche des Monats ............................... 573
Woche eines Jahres, erste.................... 535
Woche .................................................... 531
Woche, Teile der.................................... 549
Woche/Tag en-/dekodieren................... 571
Wochen, Zahl der ganzen ..............559, 564
Wochenanfang/-ende ............................ 542
Wochenanteil ......................................... 539
Wochentag.....................................423, 530
Wochentag, letzter ................................ 538
Word....................................................... 164
WordBool ............................................... 164
Wort aus String extrahieren .................. 519
WriteLn..................................................... 52
X
XN Resource Editor.................................. 62
754
Stichwortverzeichnis
Z
Zahl in String umwandeln ...................... 363
Zahl, Binärnotation ................................. 157
Zahl, Dezimalformat ............................... 157
Zahl, Hexadezimalformat ....................... 157
Zahl, Oktalformat.................................... 157
Zahlenformat, allgemeines..................... 406
Zahlen-Schreibweise.............................. 157
Zahlenwert in Zahl umwandeln.............. 371
Zeichen entfernen................................... 321
Zeichen(ketten)typen............................. 168
Zeichenkette in Gleitkommawert
umwandeln ....................................... 413
Zeichenkette, Position von..................... 348
Zeichenketten formatieren..................... 444
Zeichenketten vergleichen..................... 232
Zeichenketten, Aufbau ........................... 159
Zeichenkettenbegrenzer......................... 168
Zeichenketten-Konstanten ..................... 171
Zeichenkettenlänge........................341, 365
Zeichenkettenverarbeitung .................... 454
Zeichen-Typen, Speicherbelegung ........ 125
Zeiger...................................................... 183
Zeiger auf Array von Zeigern ................. 601
Zeiger auf Objekt auf d. Heap ................ 205
Zeiger auf Parameter ............................. 308
Zeiger dereferenzieren ........................... 183
Zeiger in Liste einführen......................... 648
Zeiger zurückgeben................................ 349
Zeiger, typisierter................................... 162
Zeigerarithmetik..................................... 173
Zeigercollections verwalten .................. 647
Zeigerliste verwalten ............................. 600
Zeigervariablen umwandeln .................. 228
Zeilenende e. Textdatei ......................... 361
Zeilenende, Positionszeiger am ............. 324
Zeilenendekennung austauschen .......... 444
Zeilenende-Markierung.................... 56, 289
Zeilennummer ausgegeben ......................38
Zeilentrenner .......................................... 696
Zeilenumbruch in Textdaten.................. 286
Zeilenvorschub in Ausgabe ................... 373
Zeit, aktuelle........................................... 537
Zeit, Exceptions...................................... 585
Zeitanteil................................................. 531
Zeit-Formatierung .................................. 419
Zeitstempel en-/dekodieren................... 570
Zeitstempel vergleichen ................553, 579
Zeitstempel, DOS ................................... 588
Zeitstempel, Elemente ändern............... 574
Zeitstempel, Macintosh......................... 587
Zeitstempel, Unix ................................... 587
Zielprozessor .............................................73
Zufallszahl............................................... 349
Zusammengesetzte Anweisungen........ 236
Zusammengesetzte Typen,
Speicherbelegung............................. 132
Zuweisungsanweisungen.......................234
Zuweisungsoperator...................... 234, 262
Zwischenspeicherung im Storage
aktualisieren ......................................676
Funktionen/Klassen/Schalter
A
AbandonSignalHandler...........................476
Abort .......................................................476
Abs ..........................................................307
AbstractError ..........................................308
AcquireExceptionObject.........................308
AddChar ..................................................513
AddCharR................................................513
AddDisk...................................................428
AddExitProc ............................................308
Addr.........................................................308
AddTerminateProc .................................476
AdjustLineBreaks....................................444
Align ........................................................308
AllocMem................................................308
AnsiCompareFileName...........................428
AnsiCompareStr .....................................454
AnsiCompareText...................................455
AnsiContainsStr ......................................513
AnsiContainsText....................................513
AnsiEndsStr.............................................513
AnsiEndsText ..........................................513
AnsiExtractQuotedStr.............................455
AnsiIndexStr ...........................................514
AnsiIndexText.........................................514
AnsiLastChar...........................................456
AnsiLeftStr ..............................................514
AnsiLowerCase.......................................456
AnsiLowerCaseFileName .......................428
AnsiMatchStr..........................................514
AnsiMatchText .......................................514
AnsiMidStr..............................................514
AnsiPos ...................................................456
AnsiProperCase ......................................515
AnsiQuotedStr.........................................456
AnsiReplaceStr .......................................515
AnsiReplaceText.....................................515
AnsiResemblesText................................515
AnsiReverseString ..................................515
AnsiRightStr............................................515
AnsiSameStr...........................................457
AnsiSameText ........................................457
AnsiStartsStr...........................................516
AnsiStartsText ........................................516
AnsiStrComp...........................................457
AnsiStrIComp..........................................458
AnsiStrLastChar......................................458
AnsiStrLComp.........................................459
AnsiStrLIComp........................................459
AnsiStrLower ..........................................460
AnsiStrPos ..............................................460
AnsiStrRScan..........................................461
AnsiStrScan............................................461
AnsiStrUpper ..........................................461
AnsiToUtf8..............................................309
AnsiUpperCase.......................................461
AnsiUpperCaseFileName.......................428
Append ...................................................309
AppendStr...............................................462
ApplicationName....................................429
ArcCos ....................................................489
ArcCosH..................................................489
ArcosH ....................................................489
ArcSin .....................................................490
ArcSinH...................................................490
Arctan .....................................................309
ArcTan2 ..................................................490
ArcTanH..................................................491
ArrayStringToPPChar.............................309
ArSinH.....................................................491
ArTanH....................................................491
Assert......................................................310
Assign .....................................................310
Assigned .................................................310
AssignFile ...............................................384
AssignLst ................................................390
AssignStr ................................................462
B
BasicEventCreate...................................311
BasicEventDestroy .................................311
BasicEventResetEvent ...........................311
BasicEventSetEvent ...............................311
BasicEventWaitFor.................................311
BCDToInt.................................................403
Beep........................................................478
BeginThread ...........................................311
BEtoN......................................................312
BinStr ......................................................312
BinToHex ................................................516
Blockread................................................312
Blockwrite...............................................313
BoolToStr ................................................403
Break.......................................................313
ByteToCharIndex....................................404
ByteToCharLen.......................................404
ByteType ................................................404
C
CAlloc......................................................381
CallTerminateProcs................................476
Ceil.......................................................... 491
ChangeFileExt......................................... 429
CharToByteLen....................................... 404
CharToByteLen....................................... 462
ChDir ....................................................... 314
Chr .......................................................... 314
ClearExceptions ..................................... 492
Close....................................................... 314
CloseFile ................................................. 384
CompareByte ......................................... 314
CompareChar ......................................... 315
CompareChar0 ....................................... 316
CompareDate ......................................... 580
CompareDateTime................................. 579
CompareDWord ..................................... 317
CompareMem ........................................ 404
CompareMemRange.............................. 404
CompareStr ............................................ 463
CompareText.......................................... 463
CompareTime......................................... 581
CompareValue........................................ 492
CompareWord........................................ 317
ComposeDateTime ................................ 420
Concat .................................................... 318
Continue.................................................. 318
Copy........................................................ 319
Copy2Space........................................... 516
Copy2SpaceDel...................................... 516
Copy2Symb............................................ 517
Copy2SymbDel ...................................... 517
Cos.......................................................... 319
CoSecant ................................................ 492
CosH ....................................................... 492
Cot .......................................................... 492
Cotan ...................................................... 492
CreateDir................................................. 429
CreateGUID............................................. 478
csc .......................................................... 493
CSeg ....................................................... 319
CurrentYear ............................................ 420
CurrToStr ................................................ 405
CurrToStrF .............................................. 405
CycleToRad ............................................ 493
D
Date ........................................................ 420
DateOf..................................................... 531
DateTimeToDosDateTime...................... 588
DateTimeToFileDate............................... 421
DateTimeToJulianDate .......................... 586
DateTimeToMac .................................... 587
756
Funktionen/Klassen/Schalter
DateTimeToStr ....................................... 421
DateTimeToString .................................. 421
DateTimeToSystemTime ....................... 422
DateTimeToTimeStamp......................... 422
DateTimeToUnix..................................... 587
DateToStr................................................ 422
DayOf ...................................................... 539
DayOfTheMonth ..................................... 548
DayOfTheWeek ...................................... 549
DayOfTheYear......................................... 547
DayOfWeek ............................................ 423
DaysBetween ......................................... 560
DaysInAMonth........................................ 537
DaysInAYear........................................... 536
DaysInMonth .......................................... 536
DaysInYear.............................................. 536
DaySpan ................................................. 564
Dec.......................................................... 320
Dec2Numb.............................................. 517
DecodeDate............................................ 423
DecodeDateDay...................................... 572
DecodeDateFully .................................... 423
DecodeDateMonthWeek ....................... 573
DecodeDateTime.................................... 570
DecodeDateWeek .................................. 571
DecodeDayOfWeekInMonth.................. 584
DecodeSoundexInt ................................. 517
DecodeSoundexWord............................ 518
DecodeTime ........................................... 423
DefaultAnsi2AnsiMove .......................... 320
DefaultAnsi2UnicodeMove.................... 320
DefaultAnsi2WideMove......................... 320
DefaultWide2AnsiMove......................... 321
DegToGrad.............................................. 493
DegToRad ............................................... 493
DelChars ................................................. 518
Delete...................................................... 321
DeleteFile................................................ 429
DelSpace................................................. 518
DelSpace1 .............................................. 518
DirectoryExists ....................................... 430
DiskFree.................................................. 430
DiskSize................................................... 430
Dispose ................................................... 321
DisposeStr .............................................. 464
DivMod ................................................... 493
DoDirSeparators ..................................... 431
DoneCriticalSection................................ 322
DoneThread ............................................ 322
DosDateTimeToDateTime...................... 588
DSeg ....................................................... 322
Dump_Stack........................................... 322
DumpExceptionBackTrace .................... 322
DumpHeap.............................................. 597
DupeString.............................................. 518
DynArraySetLength................................ 322
E
EBitsError................................................ 602
EClassNotFound ..................................... 602
EComponentError ................................... 602
EFCreateError ......................................... 602
EFilerError ............................................... 602
EFOpenError ........................................... 602
EInvalidArgument................................... 511
EInvalidImage......................................... 602
EInvalidOperation................................... 602
EListError ................................................ 602
EMethodNotFound................................. 603
EncodeDate ............................................ 424
EncodeDateDay...................................... 572
EncodeDateMonthWeek ....................... 573
EncodeDateTime.................................... 570
EncodeDateWeek .................................. 571
EncodeDayOfWeekInMonth.................. 584
EncodeTime............................................ 424
EndOfADay ............................................. 545
EndOfAMonth......................................... 542
EndOfAWeek.......................................... 544
EndOfAYear ............................................ 541
EndOfTheDay.......................................... 544
EndOfTheMonth ..................................... 541
EndOfTheWeek ...................................... 543
EndOfTheYear......................................... 540
EndThread .............................................. 323
EnsureRange .......................................... 494
EnterCriticalSection ............................... 323
EnumResourceLanguages ..................... 323
EnumResourceNames ........................... 323
EnumResourceTypes............................. 324
Eof .......................................................... 324
EoLn ........................................................ 324
EOutOfResources................................... 603
EParserError ........................................... 603
Erase....................................................... 324
EReadError.............................................. 603
EResNotFound........................................ 603
Error ........................................................ 325
EStreamError.......................................... 603
EStringListError ...................................... 603
EThread .................................................. 603
EThreadDestroyCalled ........................... 603
EWriteError............................................. 604
ExceptAddr ............................................ 484
ExceptFrameCount ................................ 484
ExceptFrames ........................................ 484
Exception................................................ 482
ExceptionErrorMessage ........................ 484
ExceptObject.......................................... 484
Exclude................................................... 325
ExcludeTrailingBackslash...................... 431
ExcludeTrailingPathDelimiter ................ 431
ExecuteProcess ..................................... 476
Exit.......................................................... 326
Exp.......................................................... 326
ExpandFileName.................................... 431
ExpandUNCFileName ............................ 432
ExtractDelimited .................................... 518
ExtractFileDir.......................................... 432
ExtractFileDrive...................................... 432
ExtractFileExt ......................................... 433
ExtractFileName .................................... 433
ExtractFilePath........................................433
ExtractRelativePath................................433
ExtractShortPathName ..........................433
ExtractSubstr..........................................519
ExtractWord ...........................................519
ExtractWordPos .....................................519
F
FileAge ....................................................433
FileClose..................................................442
FileCreate................................................442
FileDateToDateTime ...............................434
FileExists .................................................434
FileGetAttr...............................................435
FileGetDate .............................................435
FileIsReadOnly ........................................434
FileOpen ..................................................443
FilePos.....................................................326
FileRead ..................................................443
FileSearch ...............................................436
FileSeek...................................................444
FileSetAttr...............................................436
FileSetDate..............................................437
Filesize.....................................................327
FileTruncate ............................................444
FileWrite..................................................444
FillByte ....................................................327
FillChar ....................................................328
FillDWord ................................................328
FillWord...................................................328
FinalizeResourceTables..........................385
FindClose.................................................437
FindCmdLineSwitch................................476
FindFirst ..................................................437
FindNext..................................................438
FindPart...................................................519
FindResource ..........................................329
FindResourceEx ......................................329
float_raise ...............................................329
FloattoCurr ..............................................405
FloatToDateTime ....................................405
FloatToDecimal.......................................405
FloatToStr................................................405
FloatToStrF..............................................406
FloatToText .............................................407
FloatToTextFmt ......................................408
Floor.........................................................494
Flush........................................................329
FlushThread ............................................330
FmtStr .....................................................445
ForceDirectories......................................438
Format.....................................................445
FormatBuf ...............................................408
FormatCurr..............................................409
FormatDateTime.....................................409
FormatFloat.............................................409
Frac .........................................................330
Free .........................................................381
FreeAndNil ..............................................479
FreeLibrary..............................................590
Freemem.................................................330
7 57
Funktionen/Klassen/Schalter
FreeMemory ...........................................331
FreeResource..........................................331
Frexp .......................................................494
G
get_caller_addr ......................................333
get_caller_frame....................................333
get_frame ...............................................333
GetAppConfigDir.....................................438
GetAppConfigFile....................................438
GetCapacity ............................................605
GetCmdLineArg ......................................520
GetCurrentDir..........................................439
GetCurrentThreadID................................331
GetDir ......................................................331
GetDirs ....................................................439
GetEnvironmentString ............................477
GetEnvironmentVariable.........................477
GetEnvironmentVariableCount ...............477
GetExceptionMask .................................495
GetFileHandle..........................................440
GetFPCHeapStatus.................................331
GetHeapStatus .......................................331
GetLastOSError .......................................477
GetLineInfo..............................................599
GetLineInfo..............................................599
GetLocalTime..........................................425
GetLongOpts...........................................592
GetMem ..................................................331
GetMemory.............................................332
GetMemoryManager..............................332
GetModuleName....................................478
GetOpt.....................................................592
GetPrecisionMode..................................495
GetProcAddress .....................................590
GetProcedureAddress............................590
GetProcessID..........................................332
GetResourceManager............................332
GetResourceStringCurrentValue............385
GetResourceStringDefaultValue ............385
GetResourceStringHash.........................386
GetResourceStringName .......................386
GetRoundMode ......................................495
GetTempDir ............................................440
GetTempFileName .................................440
GetThreadID............................................332
GetThreadManager................................332
GetUnicodeStringManager ....................332
GetUserDir ..............................................440
GetVariantManager................................332
GetWideStringManager.........................332
GradToDeg..............................................495
GradToRad..............................................495
GUIDToString..........................................479
H
Halt..........................................................333
Hash........................................................387
Hex2Dec .................................................520
HexStr.....................................................333
HexToBin ................................................520
Hi ...........................................................334
High......................................................... 334
HINSTANCE............................................ 335
HookSignal.............................................. 478
HourOf..................................................... 539
HourOfTheDay........................................ 550
HourOfTheMonth.................................... 548
HourOfTheWeek..................................... 549
HourOfTheYear....................................... 547
HoursBetween........................................ 560
HourSpan................................................ 565
Hypot ...................................................... 495
I
IComponentReference ........................... 604
Identifikationen....................................... 532
IDesignerNotify....................................... 604
IDesignerNotify.Modified....................... 604
IDispatch................................................. 374
IDispatch.GetIDsOfNames..................... 374
IDispatch.GetTypeInfo ........................... 374
IDispatch.GetTypeInfoCount.................. 374
IDispatch.Invoke..................................... 374
ifthen....................................................... 496
IfThen...................................................... 520
IInterfaceComponentReference ............ 604
IInterfaceList........................................... 604
IInvokable ............................................... 374
Inc .......................................................... 335
IncAMonth.............................................. 425
IncDay..................................................... 568
IncHour ................................................... 568
758
Include .................................................... 336
IncludeTrailingBackslash ....................... 441
IncludeTrailingPathDelimiter.................. 441
IncMilliSecond........................................ 569
IncMinute................................................ 568
IncMonth ................................................ 425
IncSecond............................................... 569
IncWeek ................................................. 568
IncYear.................................................... 567
IndexByte ............................................... 336
IndexChar ............................................... 336
IndexChar0 ............................................. 337
IndexDWord ........................................... 337
IndexWord.............................................. 337
InitCriticalSection ................................... 338
InitPrinter ................................................ 391
InitThread................................................ 338
InitThreadVars ........................................ 338
InquireSignal........................................... 478
InRange................................................... 496
Insert....................................................... 338
Int ........................................................... 339
InterLockedCompareExchange.............. 339
InterLockedDecrement........................... 339
InterLockedExchange............................. 339
InterLockedExchangeAdd...................... 339
InterLockedIncrement ............................ 340
IntPower ................................................. 496
IntToBin................................................... 520
IntToHex ................................................. 410
IntToRoman ............................................ 521
IntToStr................................................... 411
InvalidDateDayError ............................... 586
InvalidDateMonthWeekError ................. 586
InvalidDateTimeError.............................. 585
InvalidDateWeekError............................ 585
InvalidDayOfWeekInMonthError............ 586
IOResult .................................................. 340
IReadWriteSync..................................... 485
Is_Intresource ........................................ 341
IsDelimiter............................................... 464
IsEmptyStr.............................................. 521
IsEqualGUID............................................ 479
IsInfinite .................................................. 496
IsInLeapYear........................................... 532
IsLeapYear.............................................. 425
IsLstAvailable ......................................... 391
IsMemoryManagerSet........................... 341
IsNan....................................................... 497
IsPathDelimiter....................................... 441
IsPM........................................................ 532
IsSameDay ............................................. 538
IsToday ................................................... 538
IStreamPersist........................................ 607
IStreamPersistLoadFromStream ........... 607
IStreamPersistSaveToStream ............... 607
IsValidDate.............................................. 532
IsValidDateDay ....................................... 533
IsValidDateMonthWeek......................... 534
IsValidDateTime ..................................... 533
IsValidDateWeek.................................... 534
Funktionen/Klassen/Schalter
IsValidIdent............................................. 464
IsValidTime............................................. 533
IsWild ..................................................... 521
IsWordPresent ....................................... 521
IsZero...................................................... 497
IUnknown ............................................... 374
J
JulianDateToDateTime .......................... 586
K
KillThread................................................ 341
L
LastDelimiter .......................................... 465
LdExp...................................................... 497
LeaveCriticalSection .............................. 341
LeftBStr .................................................. 521
LeftStr..................................................... 465
LeftStr..................................................... 522
Length..................................................... 341
LEtoN ...................................................... 342
Ln .......................................................... 342
lnxp1....................................................... 497
Lo .......................................................... 342
LoadLibrary............................................. 590
LoadResource ........................................ 343
LoadResString........................................ 387
LockResource......................................... 343
Log10...................................................... 497
Log2........................................................ 498
LogN ....................................................... 498
LongJmp ................................................ 343
Low......................................................... 343
LowerCase ............................................. 343
LowerCase ............................................. 465
M
MacTimeStampToUnix.......................... 587
MacToDateTime .................................... 587
MakeLangID ........................................... 344
Malloc..................................................... 382
Max ........................................................ 499
MaxIntValue........................................... 499
MaxValue ............................................... 499
Mean ...................................................... 500
MeanAndStdDev.................................... 500
MemSize ................................................ 344
MidBStr .................................................. 522
MidStr..................................................... 522
MilliSecondOf......................................... 540
MilliSecondOfTheDay ............................ 551
MilliSecondOfTheHour........................... 551
MilliSecondOfTheMinute....................... 552
MilliSecondOfTheMonth........................ 549
MilliSecondOfTheSecond ...................... 552
MilliSecondOfTheWeek......................... 550
MilliSecondOfTheYear ........................... 547
MilliSecondsBetween............................ 562
MilliSecondSpan .................................... 567
Min.......................................................... 501
MinIntValue ............................................ 501
MinuteOf .................................................539
MinuteOfTheDay.....................................550
MinuteOfTheHour ...................................551
MinuteOfTheMonth ................................548
MinuteOfTheWeek .................................549
MinuteOfTheYear....................................547
MinutesBetween ....................................561
MinuteSpan.............................................566
MinValue .................................................502
MkDir.......................................................344
MomentSkewKurtosis............................503
MonthOf ..................................................539
MonthOfTheYear.....................................546
MonthsBetween .....................................559
MonthSpan .............................................563
Move .......................................................344
MoveChar0 .............................................344
MSecsToTimeStamp..............................426
N
New.........................................................345
NewStr....................................................465
Norm .......................................................503
Now.........................................................426
NPos........................................................522
NthDayOfWeek.......................................583
NtoBE ......................................................345
NtoLE.......................................................345
Null ..........................................................346
Numb2Dec..............................................522
Numb2USA.............................................522
O
OctStr......................................................346
Odd..........................................................346
Ofs ...........................................................346
Ord...........................................................346
OutOfMemoryError .................................484
P
PadCenter ...............................................522
PadLeft ....................................................523
PadRight..................................................523
ParamCount ............................................347
ParamStr.................................................347
ParamStr.................................................387
Periodizität ..............................................558
Pi..............................................................348
PopNStdDev ...........................................504
Pos...........................................................348
PosEx.......................................................523
PosSet .....................................................523
PosSetEx .................................................523
Power......................................................504
Pred .........................................................348
Prefetch...................................................349
PreviousDayOfWeek ..............................538
Ptr 349
Q
QuotedStr................................................451
759
Funktionen/Klassen/Schalter
R
RadToCycle.............................................504
RadToDeg ...............................................505
RadToGrad ..............................................505
RaiseLastOSError....................................478
RaiseList..................................................349
RandG......................................................505
Random...................................................349
RandomFrom ..........................................523
Randomize ..............................................350
Read ........................................................350
ReadBarrier.............................................351
ReadDependencyBarrir ..........................351
ReadLn ....................................................351
ReadWriteBarrier....................................351
Real2Double............................................351
ReAlloc....................................................382
ReAllocMem ...........................................352
ReAllocMemory......................................352
RecodeDate ............................................577
RecodeDateTime ....................................578
RecodeDay..............................................575
RecodeHour ............................................575
RecodeMilliSecond.................................577
RecodeMinute ........................................576
RecodeMonth .........................................574
RecodeSecond........................................576
RecodeTime............................................577
RecodeYear.............................................574
ReleaseExceptionObject ........................352
RemoveDir ..............................................441
RemoveLeadingChars ............................524
RemovePadChars...................................524
RemoveTrailingChars.............................524
Rename...................................................352
RenameFile.............................................441
ReplaceDate ...........................................426
ReplaceTime...........................................426
Reset.......................................................353
ResetResourceTables ............................388
ResourceStringCount .............................388
ResourceStringTableCount ....................388
Ressourcenstrings..................................512
ResumeThread .......................................354
ReverseString .........................................524
Rewrite ...................................................354
RightBStr ................................................524
RightStr...................................................466
RightStr...................................................524
RmDir ......................................................355
Rol ...........................................................355
RomanToInt ............................................524
Ror...........................................................355
Round......................................................355
RoundTo..................................................506
RPos........................................................525
RPosex....................................................525
RTLEventCreate......................................356
RTLEventDestroy....................................356
RTLEventResetEvent..............................356
RTLEventSetEvent..................................356
RTLEventSync ........................................ 356
RTLEventWaitFor................................... 356
RunError.................................................. 356
S
SafeLoadLibrary ..................................... 479
SafeLoadLibrary ..................................... 590
SameDate............................................... 582
SameDateTime....................................... 582
SameFileName....................................... 442
SameText ............................................... 466
SameTime .............................................. 583
SameValue ............................................. 506
ScanDateTime........................................ 587
SearchBuf............................................... 525
Sec.......................................................... 506
Secant..................................................... 506
SecondOf................................................ 540
SecondOfTheDay ................................... 551
SecondOfTheHour.................................. 551
SecondOfTheMinute .............................. 552
SecondOfTheMonth............................... 549
SecondOfTheWeek................................ 550
SecondOfTheYear .................................. 547
SecondsBetween................................... 562
SecondSpan ........................................... 566
Seek........................................................ 357
SeekEoF.................................................. 357
SeekEoLn ................................................ 358
Seg.......................................................... 358
SetCapacity............................................ 605
760
SetCThreadManager.............................. 382
SetCurrentDir.......................................... 442
SetCWideStringManager ...................... 382
SetDirSeparators.................................... 442
SetExceptionMask ................................. 506
SetHeapExtraInfo ................................... 597
SetHeapTraceOutput ............................. 598
SetJmp ................................................... 358
SetLength ............................................... 359
SetMemoryMananager.......................... 359
SetPrecisionMode.................................. 506
SetResourceManager ............................ 359
SetResourceStrings ............................... 388
SetResourceStringValue ........................ 389
SetRoundMode ...................................... 506
SetString................................................. 360
SetTextBuf.............................................. 360
SetTextLineEnding ................................. 361
SetThreadManager ................................ 361
SetUnicodeStringManager .................... 361
SetUnitResourceStrings......................... 389
SetVariantManager................................ 361
SetWideStringManager......................... 361
ShortCompareText................................. 361
ShowException....................................... 485
Sign......................................................... 507
SimpleRoundTo ...................................... 507
Sin.. ......................................................... 362
SinCos..................................................... 507
SinH......................................................... 507
SizeOf...................................................... 362
SizeOfResource ...................................... 362
Sleep ....................................................... 478
Soundex.................................................. 525
SoundexCompare................................... 527
SoundexInt.............................................. 527
SoundexProc .......................................... 527
SoundexSimilar ...................................... 527
SoundexWord ........................................ 527
Space...................................................... 362
SPtr ......................................................... 362
Sqr........................................................... 363
Sqrt ......................................................... 363
SScanf..................................................... 451
SSeg........................................................ 363
StartOfADay ........................................... 545
StartOfAMonth....................................... 542
StartOfAWeek........................................ 543
StartOfAYear .......................................... 540
StartOfTheDay........................................ 544
StartOfTheMonth ................................... 541
StartOfTheWeek .................................... 542
StartOfTheYear....................................... 540
StdDev .................................................... 508
Str.. ......................................................... 363
StrAlloc ................................................... 466
StrBufSize ............................................... 466
StrByteType ........................................... 467
StrCat...................................................... 467
StrCharLength ........................................ 467
StrComp.................................................. 467
Funktionen/Klassen/Schalter
StrCopy................................................... 468
StrDispose.............................................. 468
StrECopy................................................. 468
StrEnd ..................................................... 469
StrFmt..................................................... 452
StrIComp ................................................ 469
StringOfChar........................................... 364
StringReplace......................................... 469
StringsReplace....................................... 527
StringToGUID ......................................... 479
StringToPPChar...................................... 364
StringToUnicodeChar............................. 364
StringToWideChar ................................. 364
StrLCat.................................................... 470
StrLComp ............................................... 470
StrLCopy................................................. 470
StrLen ..................................................... 365
StrLen ..................................................... 471
StrLFmt................................................... 452
StrLIComp .............................................. 471
StrLower................................................. 471
StrMove.................................................. 472
StrNew ................................................... 472
StrNextChar ........................................... 472
StrPas..................................................... 365
StrPas..................................................... 472
StrPCopy ................................................ 473
StrPLCopy .............................................. 473
StrPos..................................................... 473
StrRScan ................................................ 473
StrScan................................................... 473
StrToBool................................................ 411
StrToBoolDef .......................................... 411
StrToCurr................................................ 411
StrToCurrDef .......................................... 412
StrToDate ............................................... 412
StrToDateDef.......................................... 412
StrToDateTime....................................... 412
StrToDateTimeDef ................................. 413
StrToFloat............................................... 413
StrToFloatDef ......................................... 414
StrToInt................................................... 414
StrToInt64 .............................................. 414
StrToInt64Def......................................... 415
StrToIntDef ............................................. 415
StrToQWord ........................................... 415
StrToQWordDef ..................................... 415
StrToTime............................................... 415
StrToTimeDef ......................................... 416
StrUpper................................................. 474
StuffString .............................................. 528
Succ........................................................ 365
Sum ........................................................ 508
SumInt .................................................... 509
SumOfSquares ....................................... 509
SumsAndSquares .................................. 509
Supports................................................. 479
SuspendThread ...................................... 365
Swap ...................................................... 365
SwapEndian ........................................... 366
SysAllocMem......................................... 366
SysAssert................................................366
SysBackTraceStr....................................366
SysFreemem...........................................366
SysFreememSize....................................366
SysGetFPCHeapStatus...........................366
SysGetHeapStatus .................................366
SysGetmem ............................................366
SysInitExceptions ...................................367
SysInitFPU...............................................367
SysInitStdIO ............................................367
SysMemSize...........................................367
SysReAllocMem .....................................367
SysResetFPU ..........................................367
SysSetCtrlBreakHandler.........................367
SystemTimeToDateTime........................427
SysTryResizeMem..................................367
T
Tab2Space..............................................528
TAbstractObjectReader .........................608
TAbstractObjectWriter ..........................613
TAggregatedObject................................375
Tan...........................................................510
TanH ........................................................510
TBasicAction...........................................615
TBasicActionLink ....................................617
TBinaryObjectReader .............................619
TBinaryObjectWriter ..............................623
TBits ........................................................625
TCollection ..............................................629
TComponent ...........................................634
TContainedObject...................................375
TDataModule ..........................................643
TDateTime...............................................420
TextToFloat .............................................416
TFiler........................................................645
TFiler.Ancestor........................................646
TFileStream.............................................646
TFPList ....................................................647
THandleStream.......................................651
ThreadGetPriority ...................................367
ThreadSetPriority....................................368
ThreadSwitch..........................................368
Time ........................................................427
TimeOf.....................................................531
TimeStampToDateTime .........................427
TimeStampToMSecs..............................428
TimeToStr ...............................................417
TInterfacedObject...................................375
TInterfacedPersistent .............................652
TInterfaceList ..........................................653
TList.........................................................656
TMemoryStream ....................................660
TMultiReadExclusiveWriteSynchronizer ....486
TObject....................................................379
Today ......................................................537
Tomorrow................................................537
TotalVariance..........................................510
TOwnedCollection ..................................662
TOwnerStream .......................................662
TParser....................................................663
761
Funktionen/Klassen/Schalter
TPersistent..............................................668
TReader...................................................669
TRecall ....................................................675
TResourceStream...................................676
Trim .........................................................452
TrimLeft...................................................453
TrimLeftSet .............................................528
TrimRight ................................................453
TrimRightSet...........................................528
TrimSet....................................................528
Trunc .......................................................368
Truncate..................................................368
TryEncodeDate .......................................417
TryEncodeDateDay.................................572
TryEncodeDateMonthWeek...................574
TryEncodeDateTime ...............................570
TryEncodeDateWeek..............................571
TryEncodeDayOfWeekInMonth .............584
TryEncodeTime.......................................417
TryFloatToCurr........................................417
TryJulianDateToDateTime......................587
TryRecodeDateTime...............................578
TryStrToBool...........................................418
TryStrToCurr ...........................................418
TryStrToDate...........................................418
TryStrToDateTime ..................................418
TryStrToFloat ..........................................418
TryStrToInt ..............................................419
TryStrToInt64 .........................................419
TryStrToQWord ......................................419
TryStrToTime..........................................419
TStream ..................................................677
TStreamAdapter.....................................683
TStringList...............................................686
TStrings...................................................690
TStringStream ........................................700
TTextObjectWriter .................................701
TThread...................................................701
TWriter....................................................704
U
UCS4StringToUnicodeString..................368
UCS4StringToWideString ......................369
Unassigned .............................................369
UnhookSignal..........................................478
UnicodeCharLenToString .......................369
UnicodeCharLenToStrVar.......................369
UnicodeCharToString .............................369
UnicodeCharToStrVar.............................369
UnicodeStringToUCS4String..................369
UnicodeToUtf8........................................369
UniqueString ...........................................369
UnixTimeStampToMac..........................587
UnixToDateTime.....................................587
UnloadLibrary .........................................590
UnlockResource......................................369
UpCase ................................................... 370
UpperCase.............................................. 474
UTF8Decode........................................... 370
UTF8Encode ........................................... 370
Utf8ToAnsi.............................................. 370
Utf8ToUnicode ....................................... 370
V
Val........................................................... 371
VarArrayGet............................................ 371
VarArrayPut............................................ 371
VarArrayRedim....................................... 372
VarCast ................................................... 372
Variance.................................................. 511
W
WaitForThreadTerminate ...................... 372
WeekOf................................................... 539
WeekOfTheMonth.................................. 547
WeekOfTheYear..................................... 546
WeeksBetween...................................... 559
WeeksInAYear ....................................... 535
WeeksInYear.......................................... 535
WeekSpan.............................................. 564
WideCharLenToString............................ 372
WideCharLenToStrVar........................... 372
WideCharToString ................................. 372
WideCharToStrVar................................. 372
762
Funktionen/Klassen/Schalter
WideCompareStr ................................... 474
WideCompareText................................. 474
WideFmtStr............................................ 474
WideFormat ........................................... 475
WideFormatBuf...................................... 475
WideLowerCase..................................... 475
WideSameStr......................................... 475
WideSameText ...................................... 475
WideStringToUCS4String ...................... 373
WideUpperCase..................................... 475
WithinPastDays...................................... 555
WithinPastHours .................................... 555
WithinPastMilliSeconds......................... 557
WithinPastMinutes ................................ 556
WithinPastMonths ................................. 553
WithinPastSeconds................................ 557
WithinPastWeeks .................................. 554
WithinPastYears..................................... 553
WordCount ............................................. 528
WordPosition.......................................... 529
WrapText ............................................... 454
Write....................................................... 373
WriteBarrier............................................ 373
WriteLn................................................... 373
WriteWideString .................................... 625
X
XorDecode.............................................. 529
XorEncode .............................................. 529
XorString................................................. 529
Y
YearOf ..................................................... 539
YearsBetween ........................................ 558
YearSpan ................................................ 563
Yesterday................................................ 537
Schalter
80286-Code schreiben (veraltet) .......... 732
An eine Bibliothek linken........................ 711
Anfang der bedingten Kompilierung...... 737
Anfang der bed. Kompilierung (Name) . 738
Anfang der bed. Kompilierung (Symbol)738
Angabe der Bibliotheksverzeichnisse ... 725
AnsiStrings aktivieren............................ 714
Anwendungsbeschreibung (veraltet) ... 731
Applikations-ID....................................... 723
Applikationsname .................................. 723
Art der Anwendung ............................... 723
Assemblerformat ................................... 718
Assembler-Modus ................................. 718
Auf Betätigung der Eingabetaste wart. 746
Auf Framework linken............................ 711
Auf Integer-Überläufe prüfen................. 722
Aufrufkonvention festlegen.................... 719
Ausgabe eines Hinweises ..................... 744
Ausgabeformat ...................................... 718
Ausrichtung von Recordfeldern............. 717
Bedingte Kompilation (MACPAS) ......... 737
Beginn eines Else-Blocks....................... 736
Bereichsprüfung..................................... 722
Bitpacking .............................................. 716
Blockanfang (MACPAS) ........................ 738
Blockende (MACPAS) ........................... 737
Blockende............................................... 737
Browser-Inform. hinzufügen (veraltet).. 732
C-ähnliche Operatoren erlauben............ 720
Code-Alignment ..................................... 716
Compiler-Einstellungen speichern......... 735
Compilereinstell. wiederherstellen........ 736
Compilerinformationen einfügen ........... 710
Compiler-Kompatibilitätsmodus............ 728
Copyright-Information (NetWare)......... 724
Datei einbinden ...................................... 710
Datenausrichtung................................... 715
Debugsymbole einfügen........................ 727
Default-Interfacetyp............................... 727
Definition eines Symbols ....................... 736
DLL-Version ............................................ 725
Ein- und Ausgabeüberprüfung............... 709
Erweiterte Funktionssyntax................... 731
Fehlermeldung ....................................... 745
Genauigkeit der Gleitkommakonst........ 713
Generieren kritischer Fehler................... 746
Goto und Label aktivieren...................... 720
Größe von Sets ...................................... 718
Hinweise aktivieren................................ 745
Include-Verzeichnisse ............................ 725
Informationen ......................................... 745
Informationen zu lok. Symb.(veraltet)....732
Inline-Code aktivieren.............................718
Intel-MMX-Technologie aktivieren ........714
Keinen Finalisierungscode schreiben.....720
Koprozessor emulieren (veraltet)...........732
Koprozessor-Typ auswählen ..................712
Kritischer Fehler......................................745
Makros aktivieren...................................721
Max. FPU-Register für Variablen ...........713
Min-/Maximalgröße des AufzählungsTyps ...................................................717
Minimale Größe von Aufzählungen........717
Name des Einsprungspunkts .................730
Neuer ELSE-Zweig ..................................737
Notiz ........................................................745
Notizen aktivieren ...................................745
Numerische Operationen (veraltet) .......732
Objekt prüfen ..........................................721
Objektdatei einbinden.............................711
Offene Strings erlauben/verbieten.........730
Optimierungen erlauben.........................721
Overlay-Prüfung (veraltet)......................732
PIC-Code schreiben................................730
Profiling ...................................................730
Prüfen auf Stacküberlauf........................730
Prüfungen mit Assert..............................719
Quellcodepage setzen ............................724
Recordelemente packen ........................715
Ressource einbinden ..............................712
Sättigungsarithmetik ..............................714
Schlüsselwort Static zulassen ...............722
Schwache Unitpakete (veraltet)............732
Screenname (Netware)..........................724
Smartlinking ............................................731
Speichergröße von Heap und Stack ......727
Stackframes anlegen..............................722
Suchpfade für Objektdateien .................726
Suchpfade für Units................................726
Symbol def. und ihm Wert zuweisen.....736
Symboldefinition aufheben.....................738
Threadname (Netware)..........................725
Threads zulassen ....................................731
Turbo-Pascal-Schalter............................723
Typinformationen schreiben...................712
Typisierte Konstanten erlauben .............721
Typisierter Adreßoperator @ ................722
Var-Strings überprüfen ...........................715
Vollständige boolesche Auswertung .....719
Voreingestellte Aufrufkonvention...........727
Warnhinweis generieren ........................746
Warnungen aktivieren ............................746
Zeigerwerte prüfen .................................720
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement