Computer & Literatur Verlag GmbH

Software: ist ein moderner und plattformunabhängiger Compiler für die Programmiersprache . Er bildet auch die Unterlage für die plattformübergreifende grafische Entwicklungsumgebung .

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 so- wie 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 Über- setzung der Referenz der wichtigsten Units der Laufzeitbibliothek von Free Pascal.

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 Tau- send Seiten umfaßt, entstand im Laufe mehrerer Jahre und 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 Fach- beiträge für die Zeitschrift freeX und widmet sich Buchprojekten. Er versteht außer Flämisch, Französisch, Englisch und Russisch auch ausgezeichnet Deutsch.

Free Pascal 2 2. aktualisierte Ausgabe

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 Funktions- fähigkeit beschriebener Verfahren, Programme oder Schaltungen.

1. Auflage 2012

© 2012 by &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-72-9

INHALTSVERZEICHNIS

Vorwort Seite 13

Kapitel 1 Benutzerhandbuch Seite 15 1.1 FPC installieren...... 16 1.1.1 Windows...... 16 1.1.2 DOS und OS/2...... 19 1.1.3 Linux...... 23 1.1.4 FreeBSD ...... 24 1.1.5 Solaris ...... 25 1.1.6 MacOS X ...... 25 1.1.7 Optionale Konfigurationsschritte ...... 26 1.1.8 Compiler testen ...... 26 1.2 Aufruf des Compilers...... 29 1.2.1 Die Suche nach Dateien...... 29 1.2.2 Kompilieren und Linken ...... 32 1.2.3 Programmgröße verringern ...... 32 1.2.4 Fehlermeldungen beim Kompilieren...... 33 1.3 FPC konfigurieren...... 33 1.3.1 Die Kommandozeilenoptionen...... 33 1.3.2 Die Konfigurationsdatei ...... 41 1.4 Bezug der Quellen ...... 44 1.5 Kompilieren des Compilers...... 47 1.5.1 Übersetzen mit Make ...... 48 1.5.2 Manuelles Übersetzen...... 49 1.6 Fehlersuche...... 51 1.6.1 Der Debugger gdb ...... 51 1.6.2 Der GNU-Profiler gprof ...... 54 1.6.3 Speicherlöcher im Heap...... 54 1.6.4 Zeilennummern in Laufzeitfehler-Backtraces...... 54 1.7 Hilfswerkzeuge und -units ...... 55 1.7.1 Makedateien (fpcmake und die Makefile.fpc) ...... 55 1.7.2 Unit-Dokumentation (fpdoc)...... 67

6 Inhalt 1.7.3 C-Header nach Pascal konvertieren (h2pas) ...... 67 1.7.4 Präprozessor für h2pas (h2paspp) ...... 69 1.7.5 Unit-Inhalte ausgeben (ppudump) ...... 70 1.7.6 Bibliotheken anlegen (ppumove) ...... 70 1.7.7 Pretty Printer (ptop)...... 71 1.7.8 Ressourcen-Konverter (rstconv) ...... 75 1.7.9 Units vergleichen (unitdiff) ...... 75

Kapitel 2 Entwicklerhandbuch Seite 77 2.1 Der Übersetzungsvorgang ...... 77 2.1.1 Units ...... 77 2.1.2 Programme...... 78 2.2 Assembler ...... 78 2.2.1 Intel-Syntax ...... 80 2.2.2 AT&T-Syntax...... 81 2.3 Der erzeugte Code...... 83 2.3.1 Name-Mangling ...... 84 2.3.2 Aufrufmechanismen ...... 88 2.3.3 Verschachtelte Prozeduren und Funktionen ...... 89 2.3.4 Konstruktor- und Destruktor-Aufrufe ...... 90 Objekte ...... 90 Klassen ...... 90 2.3.5 Eintritts- und Austrittscode...... 90 2.3.6 Parameterübergabe ...... 91 2.3.7 Die Multimedia-Extension (MMX) ...... 91 2.4 Linken ...... 93 2.4.1 Externer Code ...... 93 2.4.2 Bibliotheken ...... 96 2.4.3 Smartlinking...... 99 2.5 Speicherverwaltung...... 100 2.5.1 Datenformate...... 100 Integertypen ...... 100 Zeichentypen...... 100 Boolesche Typen...... 100 Aufzählungstypen ...... 100 Gleitkommatypen ...... 101 Zeigertypen...... 102 Stringtypen...... 102 Mengentypen ...... 102

Inhalt 7

Zusammengesetzte Datentypen ...... 103 Dateitypen ...... 104 Prozedurtypen...... 106 2.5.2 Datenausrichtung ...... 106 2.5.3 Heapverwaltung ...... 106 2.5.4 DOS-Speicher unter Go32...... 111 2.6 Ressourcen...... 112 2.6.1 Ressourcenstrings...... 112 2.6.2 Windows-Ressourcen ...... 116 2.7 Threads...... 119 2.7.1 Die Thread-Funktionen ...... 119 2.7.2 Der Thread-Manager...... 123 2.8 Code-Optimierung ...... 124 2.8.1 Nicht-prozessorspezifische Optimierungen...... 124 2.8.2 Prozessorspezifische Optimierungen ...... 127 2.8.3 Schreiben schnelleren Codes ...... 129 2.8.4 Schreiben kürzeren Codes ...... 130 2.8.5 Optimieren ganzer Programme ...... 130 2.9 Portierung und portabler Code...... 133 2.9.1 Turbo-Pascal-Code portieren ...... 134 2.9.2 -Code portieren...... 138 2.9.3 Richtlinien für portablen Code...... 139 2.9.4 Shared Libraries ...... 141

Kapitel 3 Sprachreferenz Seite 145 3.1 Grundsymbole (Tokens) ...... 146 3.1.1 Symbole ...... 146 3.1.2 Kommentare ...... 146 3.2 Schlüsselworte ...... 147 3.2.1 Standard-Direktiven...... 147 3.2.2 Bezeichner...... 148 3.2.3 Hinweise...... 148 3.2.4 Zahlen...... 149 3.2.5 Label ...... 149 3.2.6 Zeichenketten ...... 150 3.3 Konstanten ...... 151 3.3.1 Normale Konstanten...... 151 3.3.2 Typisierte Konstanten ...... 152 3.3.3 Ressourcen-Strings...... 153

8 Inhalt

3.4 Typen ...... 154 3.4.1 Ordinaltypen...... 154 3.4.2 Boolesche Datentypen...... 156 3.4.3 Aufzählungstypen...... 156 3.4.4 Teilbereichstypen...... 157 3.4.5 Gleitkommatypen...... 158 3.4.6 Zeichen- und Zeichenkettentypen ...... 158 3.4.7 Strukturierte Datentypen...... 164 3.4.8 Dateitypen ...... 173 3.4.9 Zeiger ...... 173 3.4.10 Vorwärts-Typdeklaration...... 175 3.4.11 Prozedurale Typen ...... 175 3.4.12 Der Typ Variant...... 177 3.5 Variablen...... 179 3.5.1 Deklaration...... 179 3.5.2 Gültigkeit ...... 181 3.5.3 Initialisierte Variablen...... 181 3.5.4 Thread-Variablen ...... 182 3.5.5 Eigenschaften (Properties)...... 183 3.6 Objekte ...... 185 3.6.1 Felder ...... 186 3.6.2 Konstruktoren und Destruktoren ...... 187 3.6.3 Methoden ...... 189 3.6.4 Sichtbarkeit ...... 192 3.7 Klassen...... 192 3.7.1 Klassendefinition ...... 193 3.7.2 Klassen instantiieren...... 195 3.7.3 Methoden ...... 196 3.7.4 Eigenschaften (Properties)...... 200 3.8 Interfaces ...... 206 3.8.1 Implementierung...... 208 3.8.2 Interfaces und fremde Schnittstellen...... 208 3.9 Generics...... 209 3.9.1 Spezialisierung generischer Klassen...... 211 3.9.2 Sichtbarkeit ...... 212 3.10 Erweiterte Records...... 214 3.11 Klassen- und Record-Helfer ...... 217 3.12 Objective-Pascal-Klassen...... 222 3.12.1 Klassendeklarationen in Objective-Pascal...... 222 3.12.2 Formale Deklaration ...... 225 3.12.3 Zuweisen und Entfernen von Instanzen ...... 226 3.12.4 Protokolldefinitionen ...... 227 3.12.5 Kategorien...... 228 3.12.6 Gültigkeit von Namen und Bezeichnern...... 229 3.12.7 Selektoren...... 229 3.12.8 Der Typ id...... 229 3.12.9 Aufzählungen in Objective-Klassen...... 230

Inhalt 9

3.13 Ausdrücke ...... 231 3.13.1 Syntax...... 231 3.13.2 Funktionsaufrufe...... 233 3.13.3 Mengenkonstruktoren...... 234 3.13.4 Typumwandlungen (Typecasts)...... 235 3.13.5 Der Adreßoperator @...... 237 3.13.6 Operatoren ...... 237 3.14 Anweisungen ...... 242 3.14.1 Einfache Anweisungen ...... 242 3.14.2 Strukturierte Anweisungen...... 245 3.15 Funktionen und Prozeduren ...... 257 3.15.1 Prozedurdeklaration ...... 257 3.15.2 Funktionsdeklaration ...... 258 3.15.3 Funktionsergebnisse ...... 259 3.15.4 Parameterlisten...... 259 3.15.5 Funktionen überladen...... 265 3.15.6 Deklaration mit Forward...... 266 3.15.7 Deklaration mit External...... 267 3.15.8 Assembler-Funktionen ...... 268 3.15.9 Modifikatoren...... 268 3.16 Operatoren überladen...... 274 3.16.1 Operatoren deklarieren...... 274 3.16.2 Zuweisungsoperatoren...... 275 3.16.3 Arithmetische Operatoren...... 277 3.16.4 Vergleichsoperatoren...... 278 3.17 Programme, Units, Blöcke ...... 278 3.17.1 Programme ...... 279 3.17.2 Units...... 279 3.17.3 Blöcke ...... 283 3.17.4 Gültigkeitsbereiche ...... 284 3.17.5 Bibliotheken...... 286 3.18 Exceptions/Ausnahmen ...... 286 3.18.1 Die Raise-Anweisung ...... 287 3.18.2 Der try..except-Block...... 287 3.18.3 Die try..finally-Anweisung...... 288 3.18.4 Verschachtelte Exceptions...... 289 3.18.5 Exceptionklassen...... 289 3.19 Assembler...... 290

10 Inhalt Kapitel 4 Referenz der RTL Seite 291 4.1 Die Units ...... 291 4.2 Vorbemerkungen ...... 293 4.3 Unit System ...... 294 4.3.1 Typen, Konstanten und Variablen ...... 294 4.3.2 Prozeduren und Funktionen...... 317 4.3.3 Operatoren...... 387 4.3.4 Interfaces und Objekte ...... 387 4.3.5 TObject...... 390 4.4 Unit ObjPas...... 394 4.4.1 Typen, Konstanten und Variablen ...... 394 4.4.2 Prozeduren und Funktionen...... 395 4.5 Unit Printer ...... 401 4.6 Unit SysUtils ...... 402 4.6.1 Typen, Konstanten und Variablen ...... 402 4.6.2 Prozeduren und Funktionen...... 414 4.6.3 Exceptions...... 492 4.6.4 Interfaces ...... 498 4.6.5 Implementierungen...... 498 4.7 Unit StrUtils...... 500 4.7.1 Typen, Konstanten und Variablen ...... 500 4.7.2 Prozeduren und Funktionen...... 501 4.8 Unit DateUtils ...... 517 4.8.1 Typen, Konstanten und Variablen ...... 517 4.8.2 Prozeduren und Funktionen...... 518 Einfache Formatierfunktionen ...... 518 Identifikationen...... 519 Aufzählungen...... 522 Variationen zu aktuellem Datum und Zeit ...... 524 Datumsextraktion...... 525 Anfang und Ende des Jahres ...... 527 Anfang und Ende des Monats...... 528 Anfang und Ende der Woche...... 529 Anfang und Ende des Tags...... 530 Teile des Jahres...... 532 Teile des Monats...... 534 Teile der Woche ...... 535 Teile des Tags ...... 536 Teile der Stunde ...... 537 Teile der Minute ...... 538 Teile der Sekunde...... 538 Bereichsprüfungen...... 539 Periodizität ...... 544 Zeiträume ...... 548

Inhalt 11

Addition und Subtraktion ...... 552 Kodierung und Dekodierung kompletter Zeitstempel...... 554 Kodierung und Dekodierung (Woche des Jahres/Tag der Woche)..... 555 Kodierung und Dekodierung (Tag des Jahres) ...... 556 Kodierung und Dekodierung (Woche des Monats) ...... 557 Ändern von Teilelementen...... 558 Vergleich von Datum und Zeit ...... 563 Routinen zum Auslösen von Ausnahmen...... 568 Julianische und modif. Julianische Datumsumwandlung...... 569 -Zeitstempelunterstützung ...... 570 Macintosh-Zeitstempel-Unterstützung...... 571 DOS-Zeitstempel-Unterstützung...... 571 4.9 Unit Classes ...... 572 4.9.1 Konstanten und Typen...... 572 4.9.2 Prozeduren und Funktionen ...... 583 4.9.3 Exceptions ...... 591 4.9.4 Interfaces...... 593 IDesignerNotify ...... 593 InterfaceComponentReference...... 593 IInterfaceList...... 593 IStreamPersist...... 596 IVCLComObject ...... 597 4.9.5 Klassen...... 598 TAbstractObjectReader ...... 598 TAbstractObjectWriter...... 604 TBasicAction...... 606 TBasicActionLink...... 609 TBinaryObjectReader...... 610 TBinaryObjectWriter ...... 614 TBits ...... 617 TCollection ...... 622 TCollectionEnumerator ...... 626 TCollectionItem ...... 626 TComponent...... 628 TComponentEnumerator...... 636 TCustomMemoryStream...... 637 TDataModule...... 639 TFiler...... 641 TFileStream...... 642 TFPList ...... 643 TFPListEnumerator ...... 648 THandleStream ...... 648 TInterfacedPersistent ...... 650 TInterfaceList...... 650 TInterfaceListEnumerator...... 653 TList ...... 654 TListEnumerator ...... 659

12 Inhalt

TMemoryStream ...... 659 TOwnedCollection...... 661 TOwnerStream ...... 661 TParser ...... 662 TPersistent ...... 667 TProxyStream ...... 668 TReader ...... 669 TRecall...... 675 TResourceStream ...... 677 TStream ...... 677 TStreamAdapter...... 684 TStringList...... 687 TStrings...... 690 TStringsEnumerator...... 701 TStringStream...... 702 TTextObjectWriter ...... 703 TThread ...... 704 TThreadList...... 706 TWriter...... 708

Kapitel 5 Compilerschalter Seite 713 5.1 Lokale Direktiven ...... 713 5.2 Globale Direktiven ...... 727 5.3 Bedingtes Kompilieren...... 737 5.4 Makros...... 743 5.5 Nachrichten ...... 748

Stichwortverzeichnis Seite 751

Funktionen, Klassen, Schalter Seite 761

VORWORT

VORWORT

Liebe Leser, es gibt heute unzählige Programmiersprachen für alle erdenklichen Spezialanwendungs- fälle, neben C/C++ ist Pascal aber die einzige wirklich universelle und plattformübergrei- fende. Grund für die breite Verfügbarkeit ist Free Pascal. Das ursprünglich von Florian Klämpfl vor mehr als fünfzehn Jahren begonnene Projekt wird heute von Programmie- rern in aller Welt gepflegt und weiterentwickelt. Bei Drucklegung dieses Buchs ist der Compiler auf den Plattformen DOS, OS/2, Windows, Linux, FreeBSD, Solaris und Mac- OS X und auf so unterschiedlichen Prozessoren wie i386, AMD64, PowerPC, Arm und Sparc verfügbar. Crosscompiler für Windows CE, PalmOS, iOS und Android sind entwe- der vorhanden oder befinden sich in Entwicklung. An einer Version, die Programme für die Java Virtual Machine schreibt, wird intensiv gearbeitet. Free Pascal gibt es aber zusätzlich zu diesen allgemein bekannten Plattformen auch für eher exotische wie , Gameboy Advance, Nintendo DS und Nintendo Wii, etwas ältere Compiler auch für zusätzliche Betriebssystemplattformen wie beispielsweise Novell Netwa- re; eine Version für NetBSD als neues Ziel hat fast das Experimentierstadium verlassen, eine OpenBSD-Version ist noch in einer sehr frühen Entwicklungsphase. Für welche Plattformen es einen Compiler gibt, hängt letztendlich immer davon ab, ob sich jemand bereitfindet, Zeit in die Portierung des Compilers zu investieren und natür- lich davon, ob ein Freiwilliger neue Compilerversionen auf bereits bestehenden Plattfor- men testet und gegebenenfalls korrigiert. Möglich ist das dadurch, daß Free Pascal ein freies Projekt ist und die Quellen jedem Interessierten zur Verfügung stehen. Das Free-Pascal-Projekt ist jedoch weit mehr als nur der Compiler und seine Hilfspro- gramme. Das Grundsystem wird durch eine Vielzahl von Bibliotheken ergänzt, an erster Stelle durch die sogenannte RTL, die Laufzeitumgebung des Compilers. Die RTL besteht aus einer ganzen Reihe prozeduraler und objektorientierter Bibliotheken, die teilweise automatisch in jede Quelltextdatei eingebunden werden, ohne daß dies besonders ver- merkt werden muß. Auf der RTL bauen alle anderen FreePascal-Bibliotheken auf wie die FCL (Free Component Library) und die LCL (Lazarus Component Library), mit der höchst komfortabel und vergleichbar mit Delphi Anwendungen für unterschiedliche grafische Oberflächen geschrieben werden können. Dieses Buch faßt den größten und wichtigsten Teil der mehrtausendseitigen Original- dokumentation von Free Pascal zusammen und überträgt sie ins Deutsche. Die einzelnen Kapitel entsprechen dabei weitgehend den HTML- und PDF-Dokumenten, die in engli- scher Sprache mit dem Compiler mitgeliefert sind. Sie wurden allerdings teilweise um- strukturiert und in Teilen auch ergänzt. Die Beispiellistings wurden neu gegliedert und vereinheitlicht, redundante Informationen, die in einer Online-Hilfe sinnvoll und in ei- nem gedruckten Buch überflüssig sind, wurden entfernt. Diese gedruckte Version umfaßt das Benutzerhandbuch (Kapitel 1, mit Ausnahme des Abschnitts über die Textmodus-IDE), das Entwicklerhandbuch (Kapitel 2), die komplette Sprachreferenz (Kapitel 3) und alle wichtigen Units der Laufzeitbibliothek (Kapitel 4). Einige als veraltet vermerkte Bibliotheken sind nicht enthalten, ihre deutsche Übersetzung kann zusammen mit den Beschreibungen der Units Math, Dynlib, GetOpts, HeapTrc, 14 Vorwort Lineinfo und Lnfodwrf, die aus Platzgründen in diesem Buch nicht abgedruckt sind, vom Webserver des Verlags unter www.CuLde als eBook kostenlos heruntergeladen werden. Aus dem Benutzerhandbuch ausgegliedert ist die Liste der Compilerschalter, sie hat ein eigenes Kapitel erhalten. Aus Platzgründen nicht aufgenommen wurde auch die auf der Laufzeitbibliothek aufsetzende FCL. Die Umfänge ihrer einzelnen Abschnitte sind aller- dings überschaubarer als bei der Laufzeitbibliothek. Die 32 Originalkapitel sind etwa 580 Seiten lang, die RTL mit ihren 46 Abschnitten umfaßt über 1750 Seiten. Diese zweite Auflage dieser Dokumentation wurde um die Funktionen erweitert, die zwi- schen den Versionen 2.2 und 2.6 von Free Pascal hinzugekommen sind. Das betrifft vor allem die Spracherweiterungen für for..in-Schleifen und die Ergänzungen zu Objective- Pascal, die Erweiterten Records, aber auch Neuerungen und Anpassungen in der RTL. Sollten Sie Fehler in der Dokumentation und der Umsetzung in die deutsche Sprache finden, bitten wir Sie, diese dem Originalautor oder dem Verlag mitzuteilen, damit zu- künftige Auflagen bereinigt werden können. Schreiben Sie einfach Ihren formlosen Be- richt an Michaël Van Canneyt unter [email protected] oder an Jörg Braun an lekto- [email protected]. Weiterhin würden wir uns freuen, wenn Sie als zufriedener Kunde eine wohlwollende Besprechung beim Online-Händler Ihres Vertrauens schreiben, anders als bei vielen anderen Computerbuch-Verlagen werden bei C&L dafür nämlich keine Cla- queure beauftragt. Wir freuen uns aber natürlich genauso über direkte Resonanz.

Michaël Van Canneyt Jörg Braun Autor Bearbeiter Stichwortverzeichnis

Array (bit)packen ...... 168 Basispfad für Compiler-Update...... 47 A Array als Parameter e. Prozedur...... 263 BCD nach Integer ...... 414 Abhängigkeiten zu ext. Packages...... 59 Array als Property ...... 203 Bedingte Anweisung...... 245 Abhängigk. zw. Code-Modulen prüfen ....78 Array kopieren ...... 168 Bedingte Ausführung ...... 246 Abhängigkeitsregeln für Units...... 60 Array von Strings verwalten...... 692 Bedingte Kompilierung...... 713, 737 ABI...... 106 Array, Ausdruck in an Funktion/ Begin...... 245 ABI-Konventionen ...... 83 Prozedur übergeben...... 264 Begrenzungszeichen prüfen...... 476 Abstract ...... 189 Array, dynamisches, Anfangslänge...... 166 Benannte Menge v. Methoden und Abstract-Error ...... 317 Array, mehrdimensional...... 166 Eigenschaften ...... 206 Abstrakte Methode überschreiben...... 192 Array, statisch ...... 165 Benannte Objekte verwalten...... 627 Action aktivieren, Ereignis...... 608 Array/Record initialisieren...... 182 Benannte Objekte, Collection verwalt... 622 Action aktualisieren ...... 609 Array-Elementezahl ...... 371 Bereichsprüfung vermeiden ...... 126 Action an Clients binden...... 609 Arraygrenze ermitteln ...... 166 Bereichsüberprüfung...... 37 Action auf Zielobjekt ausführen...... 607 Arrayindex dyn. Arrays ...... 167 Betriebssystem, f. . kompiliert wird...... 38 Action, geänderte Eigenschaften...... 610 Array-Konstante ...... 152 Betriebssyst., Handle lesen/schreiben.. 649 Action, neuen Client registrieren...... 608 Arrayparameter, offene...... 263 Betriebssystem-Fehlercode ...... 489 Action, Update-Methode...... 610 asm ...... 79, 257 Bezeichner definieren...... 257 Actions, Basisklasse von...... 607 Assemblerbefehle ...... 77f. Bezeichner prüfen ...... 477 Addition...... 277 Assembler, AT&T-Syntax ...... 81, 82 Bezeichner, Aufbau ...... 148 Adreßausrichtung...... 318 Assembler, Intel-Syntax...... 80 Bezeichner, Gültigkeitsbereich ...... 284 Adresse, springen an...... 354 Assembler-Anweisungen einfügen...... 79 Bezeichner, qualifizierter...... 188 Adreßoperator ...... 136, 234, 237 Assembler-Blöcke einfügen...... 257 Bibliothek an fester Adr. i. Speich. lad.. 144 Adreßoperator @...... 176 Assemblercode, Art ...... 36 Bibliothek dynamisch in C laden ...... 144 Aggregierte Objekte ...... 389 Assemblerdateien (nicht) löschen...... 36 Bibliothek kompilieren...... 98 Akkumulator-Register...... 88 Assembler-Funktionen ...... 268 Bibliothek sicher laden...... 491 Aktuelle Zeit ...... 439 Assembler-Name, Mangling...... 79 Bibliothek...... 286 Aktuelles Datum und Zeit ...... 438 Assembler-Prozedur...... 79 Bibliothek, Aufrufkonvention...... 142 Aktuelles Verzeichnis setzen...... 455 AT&T-Assembler...... 41 Bibliothek, Funktion exportieren...... 98, 142 Alias...... 269 Aufrufkonvention ...... 89, 98 Bibliothek, Programm linken an...... 96 Alias-Anweisung (Assembler), ...... 79 Aufrufkonvention nach Pascal-Art...... 272 Bibliothek, relozierbare...... 144 Alias-definierte Funktion, Prototyp ...... 88 Aufrufmechanismen...... 88 Bibliotheken a. mehr. Units erzeugen...... 70 Alias-Modifizierer...... 88 Aufzählung (Objective-Pascal) ...... 230 Bibliotheken importieren...... 142 Alias-Namen ...... 88 Aufzählung mit Wertzuweisung...... 157 Bibliotheken schreiben...... 141 Alignment...... 106 Aufzählungstyp, Mindestanzahl Byte Bibliotheken, Suchpfad ...... 35 Alloc (Objective-Pascal)...... 226 vorgeben ...... 157 Big-Endian ...... 36, 321, 356 Anführungszeichen a. String entfernen..468 Aufzählungstypen...... 156 Binär nach Hexadezimal ...... 504, 583 AnsiString...... 41 Aufzählungstypen, Speicherbelegung...100 Binäre Schiebeoperationen...... 126 AnsiString nach PChar, Typumwandl....161 Ausdruck, einfacher ...... 231 Binäre Zeichenkette ...... 321 Ansistring umwandeln...... 377 Ausdruck, Komponenten...... 231 Bit scannen...... 323 AnsiString, Def...... 160 Ausdrücke auswerten, Reihenfolge...... 135 Bit-Array, Zugriff auf Wert...... 621 AnsiString, einzelnes Zeichen...... 300 Ausführbare Datei suchen...... 444 Bit-Arraygröße berechnen...... 572 AnsiStrings, Länge...... 159 Ausnahme auslösen ...... 287 Bit-Collection verwalten ...... 618 AnsiStrings, Länge setzen...... 161 Ausnahme EAbort ...... 488 Bitgepackte Strukt., Beschränkungen... 165 Anweisung ausf. solange Bed. zutrifft ...255 Ausnahmebehandlungsroutinen, Bitpacked ...... 103, 164, 165 Anweisungen ...... 242 Basisklasse...... 495 Bit-Werte im Array, Operationen auf .... 619 Anweisungen ausf. b. Beding. eintritt....254 Ausnahmen...... 257, 286 Bitwerte rotieren ...... 366 Anweisungen nicht ausführen...... 287 Ausnahmen beim Streamen von Bit-Werte, Collections von, in Anwendungs-Icon...... 118 Komponenten ...... 591 indiziertem Array speichern ...... 618 API-Inkompatibilitäten...... 138 Ausrichtung, natürliche ...... 106 Block, Gültigkeitsbereich ...... 284 Application Binary Interface setzen...... 36 Blöcke verschachteln...... 283 Arcustangens...... 319 B Blockread/Blockwrite...... 173 Arithmetische Operatoren...... 238 Backslash...... 29 Bool nach String...... 415 Arithmetisches Shift...... 368 Basisklasse der Komponenten...... 630 Boolesche Ausdrücke auswerten...... 247 Array...... 165 Basisklasse für Ausnahmen...... 395 Boolesche Operatoren ...... 239

752 Stichwortverzeichnis

Boolesche Typen, Speicherbelegung.... 100 Critical Section aufräumen ...... 332 Dateiposition ...... 457 Boolesche Werte ablegen ...... 618 Critical Section initialisieren ...... 349 Dateipositionszeiger setzen...... 369 Botschaftsbehandlungsroutinen...... 198 Critical Section prüfen ...... 381 Dateistream anlegen ...... 642 Byte...... 155 Critical Section verlassen ...... 352 Dateistream schließen...... 643 Byte verschieben ...... 355 Crosskompilation ...... 22, 39, 48 Dateisuchpfad hinzufügen ...... 35 Byte, Def...... 158 Currency...... 158 Dateitypen...... 104, 173 ByteBool ...... 156 cvar...... 98 Dateizeit ...... 448 Byte-Packmechanismus...... 165 cvar-Bezeichner ...... 95 Dateizugriff, Konstanten für...... 141 Byte-Reihenfolge ändern ...... 378 Cygwin-Umgebung...... 18 Dateizugriffskonstanten...... 403 Daten vergleichen...... 525 C D Daten-Ausrichtung...... 106 C++-Inline-Konstruktionen...... 41 Datei abschneiden ...... 380, 457 Datenausrichtung, automat...... 126 Call by Reference/Call by Value ...... 260 Datei für Lese-/Schreibzugriff öffnen..... 572 Datenbankzugriff, Komponenten für...... 639 Callback-Funktionen...... 198 Datei ist angelegt...... 447 Datenblöcke, Name-Mangling ...... 84 Cardinal...... 155 Datei ist schreibgeschützt ...... 449 Datenformate...... 100 Case-Anweisung ...... 127, 246 Datei löschen...... 335, 442 Datenmodul erzeugen/zerstören ...... 640 CDecl...... 270 Datei öffnen ...... 363, 365, 456 Datenmodule verwalten ...... 639 Char, Def...... 158 Datei schließen...... 324, 396 Datensegment-Register, Inhalt ...... 332 C-Header konvertieren...... 67 Datei suchen...... 449, 450 Datenstrom, Position ...... 679 C-Header nach Pascal konvertieren...... 68 Datei umbenennen...... 363, 454 Datenstrom, Puffer freigeben...... 611 C-Konstrukte in FPC ...... 243 Datei, ausführbare suchen...... 444 Datenstrom, Rohdaten schreiben in ...... 605 Class ...... 197 Datei, lesen aus...... 457 Datenstrom, schreiben/lesen ...... 605 classesh.inc...... 598 Datei, nächste suchen ...... 451 Datenstrom, Speicherber. d. Daten ...... 638 Classes-Unit ...... 572 Datei, neue anlegen ...... 456 Datenstrom, Werte lesen...... 599, 612, 679 C-Library, linken mit ...... 39 Datei, Position in ...... 337 Datenstrom, Werte schreiben in... 616, 679 Client-Steuerelemente, Liste v. lösch....607 Datei, schreiben in ...... 385, 457 Datenstrom, Zeichenkette lesen aus .....673 C-Makros...... 41 Datei, untypisierte, Zugriff auf ...... 173 Datenstrom-Basisklasse...... 678 Codeblöcke, Name-Mangling...... 86 Datei, weitere Daten anhängen...... 318 Datenstrominhalt in Datei schreiben...... 638 Codeoptimierung, Schalter ...... 125 Datei, Werte lesen aus ...... 361 Datenstromsystem, Basisklasse...... 667 Codesegment-Register, Inhalt...... 330 Dateiänderung, letzte...... 446 Datentyp...... 154 Collection durchsuchen...... 625 Dateiattribute ...... 447 Datentypen, boolesche...... 156 Collection verwalten ...... 623 Dateiattribute setzen...... 449 Datentypen, plattformunabhängige...... 154 Collection, Elemente...... 625 Dateiattributkonstanten...... 402 Datentypen, strukturierte ...... 164 Collections, Zählerklasse...... 626 Dateibehandlung ...... 455 Datesuche abschließen ...... 450 COM...... 206 Dateidatum setzen...... 450 DateUtils...... 517 COM, Eigenschaften ...... 208 Dateidatum/-zeit nach TDateTime ...... 447 Datum erhöhen ...... 437 COM-Objekte, Grund-Interface...... 388 Dateideklaration ...... 173 Datum in String...... 433ff. Comp ...... 158 Dateieinträge, Zahl der...... 337 Datum in TDateTime...... 436 Compiler kompilieren ...... 47, 50 Dateien, Namen d. geöffneten ausgeb. ...34 Datum und Uhrzeit prüfen ...... 519f. Compileraufruf...... 29 Dateien, zu kompilierende festlegen ...... 60 Datum von gestern ...... 524 Compiler-Betriebssystem ausgeben...... 33 Dateiende-Kennung...... 140 Datum von heute ...... 524 Compiler-Datum ...... 42 Dateiendung, -erweiterung...... 18, 446 Datum von morgen...... 524 Compilerdatum ausgeben...... 33 Dateiendung ändern...... 441 Datum zerlegen...... 436, 555ff. Compiler-Kommandozeile...... 64 Dateiendung verknüpfen...... 19 Datum zusammenstellen...... 556 Compilermodus setzen ...... 133 Dateifunktionen ...... 440 Datum, aktuelles...... 433, 524 Compileroptionen/Suchpfade ...... 57 Dateigröße...... 337 Datum, best. Zeit hinzufügen...... 552 Compilerprozessor ausgeben ...... 33 Dateihandle schließen...... 455 Datum/Zeit nach Dateizeit...... 433 Compilerschalter ...... 713 Dateihandle zu Datei ...... 453 Datum/Zeit nach Zeitstempel...... 435 Compiler-Snapshot...... 47 Dateimaske ...... 140 Datum/Zeit vergleichen ...... 563 Compilerversion ausgeben ...... 33 Dateiname extrahieren ...... 446 Datums- und Zeitangaben manipul...... 517 Compiler-Versions-String...... 42 Dateiname zuweisen...... 319 Datums-/Zeit-Funktionen...... 432 Compiler-Ziel ...... 42 Dateiname, relativer/absoluter...... 444 Datums-/Zeitwert formatieren ...... 421 Compiler-Zielbetriebssystem...... 42 Dateinamen in 8+3 ...... 446 Datumsangabe ändern ...... 561 Compiler-Ziel-CPU...... 42 Dateinamen in Großbuchstaben...... 441 Datumsangaben vergleichen ...... 563 Const...... 138 Dateinamen in Kleinbuchstaben...... 441 Datumsanteil...... 518 Constructor...... 186 Dateinamen vergleichen...... 440, 455 Datumsanteil ändern ...... 439 Contained Objekte...... 389 Dateinamen zuweisen...... 395 Datumsextraktion ...... 525 Copy-on-Write...... 161 Dateinamen, Groß-/Kleinschreib. ..140, 296 Datumsformatierung...... 432 Copyright ausgeben...... 33 Dateinamen, lange ...... 29, 140 Datumsumwandlung, julianische...... 569 C-Programm, Variable verwenden in ...... 98 Dateinamen, länger als 8+3 Zeichen ... 297 Datumswert prüfen...... 521 C-Prozedur, externe ...... 274 Dateinamenlänge, Maximalwert...... 140 Dealloc (Objective-Pascal)...... 226 CPU-Register sichern...... 273 Dateipfade...... 29 Debugger aufrufen...... 51 Critical Section ...... 121 Dateipfadlänge (max.) ...... 297 Debug-Informationen...... 51 Stichwortverzeichnis 753

Debug-Informationen, Optionen...... 37 Doppelte Case-Labels ...... 134 Fixpunktformat...... 418 Default-Aufrufkonvention d. Compilers....36 DOS-Extender ...... 111 For..in auf Klassen ...... 387 DEF-Datei ...... 37 DOS-Installation...... 19 For..in-Schleife...... 249 Delegaten...... 389 DOS-Speicher unter Go32...... 111 Formatdefinitionen ...... 421 DELPHI...... 133 DOS-Units ...... 292 Format-Platzhalter ersetzen...... 458 Delphi-Code portieren...... 138 DOS-Zeitstempel ...... 571 Formatstring, Trennung v. Bereichen.... 421 Delphi-Extensions ausschalten ...... 40 Double...... 158 Formulardatei-Inhalt lesen...... 663 Delphi-Kompatibilität ...... 15, 40, 133, 394 Drucker...... 401 Forward ...... 136, 266 Delphi-Modus...... 732 dwarf-Debug...... 51 fpc.cfg...... 29, 41 Derefenzierungssymbol...... 173 dwarf-Debug-Informationen...... 38 FPCCPU ...... 42 Destructor ...... 186 Dyn. einbindb. Bibliothek. unter Linux .....36 FPCDATE ...... 42 Destruktor ...... 135, 187 Dynamische Bibliothek anlegen...... 98 FPCFULLVERSION...... 42 Dezimal nach Binär ...... 509 Dynamisches Linken...... 99, 126 fpcmake...... 55 Dezimal nach Hexadezimal ...... 422 FPC-Modus...... 732 Dezimal nach Römisch ...... 509 E FPCOS...... 42 Dezimaltrennzeichen...... 421 Eigenschaft streamen ...... 204 FPCTARGET...... 42 Direktive, Ansi-Strings...... 718 Eigenschaft, globale ...... 183 FPCVERSION ...... 42 Direktive, Anwendungstyp...... 727 Eigenschaft, Lesebezeichner...... 201 fpdoc...... 67 Direktive, Assembler ...... 722 Eigenschaft, Schreibbezeichner...... 202 Framepointer-Register...... 83 Direktive, Aufrufkonvention...... 723, 730 Eigenschaft, Werte zuweisen ...... 200 Free...... 607, 643 Direktive, Aufzählung...... 721 Eigenschaften ...... 183, 200 Free Class Library ...... 15 Direktive, Bereichsprüfung...... 726 Eigentümer (Owner), Info über, ...... 661 FreeBSD-Installation ...... 24 Direktive, Boolescher Kurzschluß...... 723 Ein-/Ausgabe überprüfen ...... 37, 351 Free-Pascal-Compilermodus ...... 133 Direktive, Codeausrichtung ...... 720 Ein-/Ausgabepuffer zuweisen ...... 372 Funktion mehrmals mit anderer Direktive, Codepage ...... 728 Ein-/Austrittscode...... 90 Parameterliste definieren ...... 265 Direktive, Compilerinformation...... 714 Elternklasse...... 390 Funktion überladen...... 265, 271 Direktive, C-Operatoren...... 724 Elternkomponente ermitteln...... 632 Funktion, Ergebnis...... 257 Direktive, Datei einbinden...... 714 End ...... 245 Funktion, Ergebnisvariable...... 259 Direktive, Dateiverarbeitung...... 713 Endianness...... 139 Funktion, globale in Unit dekl...... 272 Direktive, Datenausrichtung...... 719 Endung für Konfigurationsdateien...... 402 Funktion, selbe für verschied. Typen .... 266 Direktive, Ein-/Ausgabeüberprüfung...... 713 Ergebnisregister ...... 83 Funktion, Zugriff auf über Objektdatei... 272 Direktive, Fehler...... 750 Erweiterte Records...... 214 Funktion/Prozedur exportieren ...... 286 Direktive, Gleitkomma ...... 717 Event-Typ...... 408 Funktionen aus Bibliothek exportieren .... 98 Direktive, global ...... 713, 727 Exception-Klassen ...... 289, 495 Funktionen ohne Instanz ...... 193 Direktive, Goto/Label ...... 724 Exception-Blöcke...... 257 Funktionen über Index ansprechen ...... 94 Direktive, Hinweis...... 749 Exceptions ...... 286, 492 Funktionen überladen...... 135, 257 Direktive, Information ...... 749 Exceptions, verschachtelte...... 289 Funktionen, erweiterte v. FPC ...... 135 Direktive, Kompatibilität ...... 731 Exception-Schlüsselworte ...... 41 Funktionen, Result...... 259 Direktive, linken...... 715 Executable, Optionen ...... 39 Funktionsaufruf...... 233 Direktive, lokal...... 713 Exit ...... 135, 257, 259 Funktionsdef. ohne sofort. Implement... 266 Direktive, Meldung ...... 749 Exit-Prozedur ...... 317, 488 Funktionsdeklaration...... 258 Direktive, MMX...... 717 Export...... 270, 286 Funktionsergebnis...... 259 Direktive, Modus...... 733 Export-Abschnitt, Namen ...... 88 Funktionsergebnis, Rückgabe ...... 88 Direktive, Notiz...... 749 Extended...... 158 Direktive, Optimierung...... 725 Extended Records ...... 214 G Direktive, Recordfelder...... 721 External...... 142, 267 Ganzzahliger Anteil...... 380 Direktive, Records ...... 719 External-Bezeichner...... 93, 95 gdb...... 51 Direktive, Ressource einbinden...... 716 Externe Variablen, Zugriff auf...... 94 Geldbeträge formatieren...... 413 Direktive, Schreibweise...... 713 Externen Code linken...... 93 Generics...... 209 Direktive, Sets...... 721 Externes Programm laden ...... 488 Generische Klasse, Sichtbarkeit...... 212 Direktive, Static ...... 726 Generisches Handle ...... 305 Direktive, Strings ...... 734 F Gepacktes aus ungepacktem Array...... 358 Direktive, Stringverarbeitung ...... 718 FAR-/NEAR-Bezeichner...... 134 Gerade Zahl ...... 357 Direktive, Typinformation ...... 716 Fehlerbehandlung...... 257 Gleitkomma in String ...... 417ff. Direktive, Typisierte Konstante ...... 724 Fehlercodes (DOS-Fehler)...... 351 Gleitkomma in Währung...... 416, 429 Direktive, Verzeichnisse...... 729 Fehlercodes (Ein-/Ausgabe-Fehler) ...... 351 Gleitkommaeinheit initialisieren...... 379 Direktive, Warnung...... 750 Fehlercodes (Fatale Fehler) ...... 351 Gleitkomma-Ergebnisregister...... 83 Dispatch-Interface ...... 179, 387 Fehlermeldungen anzeigen ...... 34 Gleitkommaformat ...... 158 Dispose, Syntax...... 188 Fehlersuche, Unterstützung der prüfen...51 Gleitkommaformat-Werte ...... 409 Distributionspaket...... 58 Felder e. Instanz, Zugriff auf...... 187 Gleitkomma-Operationen emulieren ...... 36 Division...... 277 Felder, statische e. Objekts ...... 187 Gleitkommatypen...... 158 DLL...... 141, 286 Felder/Methoden, Zugriff auf ...... 185 Gleitkommatypen, Speicherbelegung... 101 done...... 41 Finalanweisung end,. Text danach...... 137 Gleitkommawert formatieren ...... 421 754 Stichwortverzeichnis

Gleitkommazahl umwandeln ...... 416, 417 Integer (Def.) ...... 158 Klasseneigenschaft...... 183 Gleitkommazahlen, Datentyp...... 666 Integer, Wert von...... 301 Klassenerweiterung (Objective-P.)...... 228 Globale Direktive ...... 713 Integeranteil einer Gleitkommazahl...... 349 Klassenerzeugung, Template für...... 209 GNU gettext ...... 115 Integer-Operationen, Überlauf prüfen ...... 37 Klassengruppe ...... 583, 584, 586, 590 GNU Windres ...... 116 Integer-Typen, Speicherbelegung...... 100 Klassen-Helfer...... 217 Goto ...... 41, 242, 244 Integertypen, vordefinierte...... 155 Klasseninstanz erzeugen/entfernen ...... 196 gprof...... 54 Integerüberläufe überprüfen...... 37 Klasseninstanzen verwalten...... 572 Groß- und Kleinschreibung, Dateiname... 30 Integerzahl nach String...... 422 Klassenkomponenten, Gültigkeit...... 285 Groß-/Kleinschreibung ...... 147 Integerzahl ohne Überlauf...... 297 Klassenkonstruktor, unsichtbare Großbuchstabe, umwand. i. . 383, 473, 474 Intel-Assembler...... 41 Deklaration...... 90 Gruppe von Klassen ...... 583 Interface implementieren ...... 206 Klassenkonzept ...... 192 GTK ...... 198 Interface prüfen...... 492 Klassenmethode aufrufen...... 196, 198 GUI-Anwendungstyp einschalten...... 138 Interface von Komponentenoperation Klassenmethode, Deklaration...... 197 GUID...... 206 informieren...... 634 Klassenmethoden (Def.) ...... 193 GUID erzeugen...... 491 Interface (Def.) ...... 206 Klassennamen d. akt. Klasse...... 392 GUID, leere...... 403 Interface, Eltern-Interface angeben...... 209 Klassen-Operatoren ...... 241 GUID nach String...... 491 Interface, Kennung...... 207 Klassen-Property in and. Klasse kop...... 676 GUIDs vergleichen...... 491 Interface-Abfrage...... 650 Klassentyp prüfen...... 241 Gültigkeitsregeln f. Variablen...... 181 Interface-Instanz erzeugen ...... 206 Klassen-VMT, Speicherlayout...... 105 Interfaces ...... 179, 206 Klassenzeiger ...... 193 H Interfaces in Classes...... 593 Kleinbuchstabe umw.... 354, 469, 473, 483 h2pas ...... 67 Interfaces in COM, Basis...... 209 Kommandozeile (nullterminiert) ...... 344 h2paspp...... 69 Internationalisierung ...... 112, 153 Kommandozeilenparameter ..358, 398, 508 Handles (gen. Typ)...... 305 Interrupt...... 134, 271 Kommandozeilenparameter auswert.....488 Handlestream anlegen...... 649 IStreamPersist ...... 596 Kommandozeilenparameter, Zahl der....358 Hashwert eines Strings...... 398 IUnknown ...... 209, 597 Kommandozeilenschalter ...... 405 Heap-Manager ...... 342 Kompilieren ...... 32 Heap-Speicher...... 107 J Kompilieren der RTL ...... 47 Heap-Status...... 342 Jahr...... 518 Kompilieren, Fehlermeldungen...... 33 Heap-Verwaltung ...... 106 Jahr, aktuelles...... 433 Kompilierung, bedingte...... 34, 37 Heimatverzeichnis...... 453 Jahr, Teile des...... 532 Kompilierzeit-Variablen (MacPas)...... 744 Helfer-Klassen ...... 218f. Jahre, Zahl der ganzen...... 544, 548 Komponente aus Datenstrom lesen...... 612 Helfer-Klassen, Vererbung ...... 220 Jahresanfang/-ende...... 527 Komponente aus Stream...... 586 Herstellername der Anwendung...... 492 Jahresangabe ändern...... 558 Komponente entfernen ...... 633 Hexadezimal nach Binär ...... 508, 586 Jahresanteil...... 519, 525, 527 Komponente freigeben ...... 631 Hexadezimal nach Dezimal...... 508 Julianische Datumsumwandlung...... 569 Komponente i. Windows-Ress speich...680 Hexadezimale Schreibweise...... 344 Komponente registrieren...... 589 Hinweis-Steueranweisung...... 148 K Komponente streamen ...... 641, 670 Kalenderwoche ...... 522, 532 Komponente suchen...... 584, 585 I Kalenderwochen numerieren...... 522 Komponente, Eigentümer...... 634 ID des aktuellen Prozesses ...... 342 Kategorien (Objective-Pascal)...... 228 Komponente, Wert speichern in ...... 636 id, Typ (Objective-Pascal) ...... 229 Kindkomponenten ...... 630 Komponentendaten binär speichern...... 615 IDE...... 15 Kindkomponenten, iterieren über ...... 636 Komponentendaten lesen...... 611 IInterfaceList...... 593 Klammerzeichen, mögliche...... 500 Komponentendaten schreiben ...... 709 ImageBase-Adresse...... 144 Klasse abmelden...... 590 Komponentendaten schreiben, Include-Dateien, Suchpfad...... 35 Klasse nicht registriert...... 591 Treiberklasse ...... 604 Indexnummer e. Prozedur...... 94 Klasse registrieren ...... 588 Komponenteninstanz zurückgeben ...... 593 Informationen anzeigen...... 34 Klasse suchen ...... 584, 585 Komponentenkinder, Streaming verh. ..642 Inherited...... 192, 200 Klasse (Def.) ...... 192 Komponentenklassenreferenz ...... 675 Initialisierte Variable...... 181 Klasse, generische ...... 209 Komponentenname...... 636 initXXX (Objective-Pascal) ...... 226 Klasse, gener., spezialisierter Typ v...... 211 Komponentenstatus...... 630 Inline...... 270 Klasse, Sichtbarkeit von ...... 193 Komponentenstatus, Flags...... 634 Inline-Assemblermakros ...... 78 Klasse, Standardeigenschaft...... 204 Komprimierte Objekte ...... 186 Inline-Routinen...... 126 Klasse, Typinformation ...... 392 Kon-/Destruktor-Aufrufe ...... 90 Installation, Zielpfad ...... 17 Klassen abmelden...... 590 Konfiguration, Codegenerierung...... 36 Instanz beenden ...... 391 Klassen in Classes...... 598 Konfiguration, Kommandozeilenopt...... 33 Instanz e. akt. Klasse entfernen...... 391 Klassen instantiieren...... 195 Konfiguration, Meldungen ...... 34 Instanz, VMT-Zeiger auf...... 391 Klassen registrieren ...... 589 Konfiguration, Pfade ...... 35 Instanzen in (Objective-Pascal)...... 226 Klassen suchen ...... 585 Konfiguration, Sprachoptionen...... 40 Int64...... 154, 155 Klassenalias registrieren...... 589 Konfigurationsdatei...... 29, 33, 41 Integer...... 155 Klassendefinition, generische...... 210 Konfigurationsdatei suchen...... 42 Integer nach SoundEx ...... 506 Klassendeklaration, lokale Konfigurationsdatei, Direktiven ...... 43 Integer, 64 Bit...... 158 Typ-/Variablenblock-Definition...... 210 Konfigurationsdatei übergehen ...... 33 Stichwortverzeichnis 755

Konfigurationsdatei, Verzeichnis für...... 451 Liste, NIL-Pointer entfernen ...... 646 Methode ersetzen ...... 197 Konfigurationsdatei, zweite...... 42 Liste, Wert suchen in ...... 657 Methode überschreiben...... 190, 197 Konfigurationsdateiname...... 451 Liste, Werte verwalten ...... 645 Methode, abstrakte ...... 191 Konstante, mit Wert vorbelegte ...... 151 Liste, Zeiger verwalten...... 647, 655 Methode, Adresse e. suchen...... 393 Konstante, normale...... 151 Listen zusammenfügen ...... 646, 657 Methode, Deklaration...... 189, 196 Konstante, typisierte...... 151 Listen, Stringverwaltung...... 689 Methode, statische...... 189 Konstante, typisierte erlauben ...... 152 Listen-Aufnahmefähigkeit ...... 645 Methode, virtuelle...... 190, 196 Konstanten typisierte, Ausrichtung...... 106 Listeneinträgen-Trennzeichen...... 140 Methoden ohne Instanz ...... 197 Konstanten vorab berechnen ...... 124 Listenverwaltung...... 594, 604 Methoden, virtual definierte ...... 138 Konstanten-/Const-Parameter ...... 262 Listenzähler...... 648 Methodenaufruf...... 88, 189 Konstanten-Array...... 264 Little-Endian...... 353, 356 Methoden-Designator...... 233 Konstruktor...... 187 Local...... 271 Methoden-Zeiger...... 176 Konstruktor-/Destruktor-Paar...... 186 Locales...... 402 Millisekunde ...... 518 Konvertierfunktionen...... 414 Logische Operatoren ...... 238, 239 Millisekunden in Zeitstempel...... 438 Koordinaten vergleichen...... 588 Logo, FPC-, ausgeben ...... 33 Millisekundenangabe ändern...... 560 Kopieren bei Schreibzugriff...... 161 Lokale Assembler-Referenzen ...... 81 Millisekundenanteil ...... 526 Kürzerer Code...... 130 Lokale Direktive ...... 713 Minimum-RAM ...... 16 Kurzschlußauswertung bool. Ausdr...... 124 Lokales Assembler-Label...... 81 Minute ...... 518 Kurzschluß-Evaluierung ...... 156 LongBool ...... 156 Minute, Teile der ...... 538 Kylix-Kompatibilitäts-Unit...... 41 LongInt ...... 155 Minuten, Zahl der ganzen ...... 546 LongInt (Def.)...... 158 Minutenangabe ändern...... 560 L LongWord...... 155 Minutenanteil ...... 526 Label...... 242, 284 MMX...... 91 Label erlauben...... 149 M Modifikatoren ...... 268 Labels...... 41 Macintosh-Pascal...... 40 Modifizierer, Liste der ...... 147 Ländereinstellungen...... 402 Macintosh-Zeitstempel...... 571 Modulname abfragen...... 490 Late Binding ...... 179 MAC-Modus...... 733 Modusschalter f. Erweiterte Records ... 214 Laufwerk nach UNC...... 445 MacOS-Installation...... 25 Modusschalter setzen...... 133 Laufwerksbuchstabe ...... 445 MACPAS...... 133 Modusumschalter...... 222 Laufwerksbuchstaben, Zeichen ...... 295 Mac-Pascal-Kompatibilitätsmodus ...... 133 Monat erhöhen...... 437 Laufwerksgröße...... 443 make cycle ...... 48 Monat, Teile des ...... 534 Laufwerkstrennzeichen...... 140 Make, kompilieren mit ...... 48 Monate, Zahl der ganzen ...... 544, 548 Laufzeitbibliothek...... 15 make, Variabl. a. Kommandoz. übergeb..62 Monatsanfang/-ende ...... 528 Laufzeitfehler 211 ...... 317 Makedatei/Makefile ...... 55 Monatsangabe ändern...... 559 Laufzeitfehler 217 ...... 295 Makedatei f. GNU make anlegen...... 56 Monatsanteil ...... 526 Laufzeitfehler 227 ...... 319 Makedatei, Archivierungsregeln...... 66 Multiplikation...... 277 Laufzeitfehler 232 ...... 325 Makedatei, benötigte Programme ...... 61 Laufzeitfehler auslösen ...... 368 Makedatei, Build-Regeln...... 66 N Laufzeitfehler-Backtrace, Zeilennumm. ...54 Makedatei, Compiler-Kommandozeile ....64 Nachfolgendes Element...... 377 Laufzeitfehler-Konstanten...... 309 Makedatei, Dateiendungen...... 65 Nachkonfiguration...... 26 Lazarus ...... 15, 19 Makedatei, Informationsregeln...... 67 Nachrichtenbehandlungsroutinen ...... 198 Leerzeichen am Stringanfang lösch.....465f. Makedatei, Installationsregeln...... 67 Nachrichtenbezeichner, Strings als...... 198 Leerzeichen am Stringende löschen ....465f. Makedatei, Kommandozeilenvariablen ...62 Nachrichtenmethoden ...... 198 Leerzeichen in String suchen...... 505 Makedatei, Löschregeln...... 66 Name-Mangling ...... 84 Leerzeichen, überflüss. löschen ...... 506 Makedatei, Musterregeln ...... 66 Natürlicher Logarithmus ...... 353 Lese-/Schreib-Bezeichner verstecken...184 Makedatei, Programmnamen...... 64 New, Syntax...... 188 Lese-/Schreiboperationen synchron...... 498 Makedatei, Verzeichnisvariablen...... 61, 63 Nicht-visuelle Objekte, Container...... 639 Letztes Zeichen im String...... 468 Makedatei, Zieldateien...... 66 Niederwertige Byte...... 353 Library ...... 286 Makedatei, Zielvariablen...... 64 Nostackframe...... 271 Linken ...... 32 Make-Dateien schreiben...... 55 NSObject ...... 224 Linker nicht aktivieren...... 37 Makedatei, Variablen ...... 62 NSObjectProtocol ...... 224 Linker, dynamischer ...... 35 Makefile.fpc, Aufbau...... 57 Nullterm. Zeichenkette in String...... 377 Linker, externer...... 39 Makros...... 743 Nullterminierter String ...... 160, 163 Linker, interner ...... 39 Mehrfachvererbung...... 206 Linux-/BSD-Units ...... 292 Meldungsnamen in Objective-Pascal....224 O Linux-Version ...... 23 MemAvail/MaxAvail ...... 137 objccategory ...... 228 Liste an andere Stelle kopieren...... 659 Menge, Anzahl der Zeichen ...... 172 objcclass ...... 222 Liste der Interfaces Mengenelemente ...... 235 objcprotocol ...... 227 speichern/verwalten ...... 651 Mengenkonstruktor...... 234 Objective-Pascal...... 222 Liste sperren/entsperren ...... 596 Mengenoperatoren...... 240 Objective-Pascal-Wurzelklasse...... 224 Liste verwalten ...... 644 Mengentyp ...... 172 Objekt deklarieren...... 185 Liste, Einträge verwalten...... 596 Mengentypen, Speicherbelegung ...... 102 Objekt freigeben...... 391, 491 Liste, Interfaces entfernen aus...... 595 Message-Methoden...... 198 Objekt instantiieren...... 188 756 Stichwortverzeichnis

Objekt, komprimiertes ...... 186 Persistentes Objekt freigeben...... 667 Prozeß-Exitcode, Maximalwert ...... 140 Objekt, Sichtbarkeit...... 192 Pfadangabe extrahieren ...... 446 Prozeßmanipulation...... 488 Objekt, statische Felder...... 187 Pfadbegrenzer entfernen ...... 444 Prozessor...... 16 Objektdatei linken...... 95 Pfadkomponenten zusammenfügen...... 441 Prozessormapping...... 83 Objektdateien, Suchpfad ...... 35 Pfadtrennzeichen ...... 295, 454 ptop ...... 71 Objektdateiendung...... 32 Pfad-Umgebungsvariable...... 42 ptopu ...... 74 Objekte ohne eig. Referenzzähler ...... 389 Plattform, Übersetzen f. andere ...... 48 PtrInt...... 303 Objektfelder...... 186 Platzhalter für Zahlen ...... 421 PtrUInt...... 303 Objektkonstruktor, unsichtb. Deklarat..... 90 Pointer, Speicherbelegung ...... 102 Public...... 185, 192, 272 Objektmethoden...... 189 Pointer-Zugriffe auf Heap...... 37 Public (Def.) ...... 192 Objektmethoden-Aufrufe ...... 243 Portabler Code ...... 133 Public-Anweisung (Assembler), ...... 79 Objektpersistentes Streaming...... 596 Portierung...... 133 Public-Modifizierer...... 88 Objektpersistenz...... 572 Positionszeiger am Dateiende ...... 369 Published (Def.) ...... 193 OBJFPC ...... 133 Positionszeiger am Zeilenende...... 370 Puffer leeren...... 340 ObjFPC-Modus...... 40, 733 POSIX-Threads...... 119 Puffer nach Text ...... 420 Oktalwert...... 356 Potenz...... 375 Puffereinträge aus Datei lesen ...... 322 OnCreate/OnDestroy auslösen, Zeitp....641 Potenzieren...... 277 Puffereinträge in Datei schreiben...... 322 OnExecute ...... 608 ppu...... 279 OnUpdate-Event auslösen ...... 608 PPU-Datei...... 77 Q Operand ...... 231 ppudump ...... 70 Quelltext, Dateien einbinden ...... 31 Operator deklarieren ...... 274 ppumove ...... 70 QWord...... 154, 155 Operator überladen ...... 136, 274 Präprozessor ...... 118 Operatoren, Priorität...... 231 Präprozessor v. h2pas ...... 69 R Optimierung bei i386...... 128 Pretty-Printer...... 71 Raise-Anweisung...... 286 Optimierungsmethoden ...... 38 Private ...... 185, 192 Read-Methoden v. Properties...... 594 Ordinaltypen an Bitgrenzen ausricht. .... 164 Private (Def.) ...... 192 Real ...... 158 Ordinaltypen (Def.)...... 154 Profiler ...... 54 Rechenoperatoren überladen...... 277 OS/2-Installation...... 19 Profiler-Code ...... 38 Record...... 185 OS/2-Units ...... 293 Programm kompilieren ...... 32, 78 Record für 128 Bit große Ganzzahl...... 406 Out-Parameter...... 261 Programmaufbau ...... 279 Record für 32 Bit große Ganzzahl ...... 407 Overlays...... 134 Programmausführung anhalten.....344, 490 Record für 64 Bit große Ganzzahl ...... 407 Overload ...... 271 Programmblock...... 279 Record, neues Feld hinzufügen ...... 169 Override ...... 196 Programme linken...... 93 Record, variante Teile verschachteln ....169 Owner/Owned-Beziehungen...... 572 Programmgröße verringern...... 32 Record-Elemente, Ausrichtung ...... 170 Owner/Owned-Eigentümerverhältnis....630 Programmkopf ...... 279 Recordfelder, Gültigkeitsbereich...... 285 Owner-Referenzen speichern ...... 661 Programmname, aktueller...... 441 Record-Helfer...... 217 Programmoptimierung...... 130f. Record-Konstante...... 152 P Programmteile immer ausführen ...... 288 Record-Typen ...... 168 Package-Informationen...... 59 Properties...... 183, 200 Referenzgezählte Objekte...... 389 Packages ...... 15 Properties in Objective Pascal ...... 224 Register...... 177, 273 Packages, Abhängigkeiten zu externen.. 59 Properties streamen ...... 630 Register, veränderte...... 78 Packed Objects ...... 186 Properties überschreiben ...... 205 Registerbelegung auf ARM...... 84 Packen auf Bytegrenzen ...... 164 Property aus Datenstrom lesen...... 612 Registerbelegung auf i386 ...... 84 Paket verteilen...... 58 Protected...... 185, 192 Registerbelegung auf PowerPC/-64 ...... 84 Parameter als Wertparam. deklar...... 260 Protected (Def.)...... 192 Registerbelegung auf SPARC ...... 84 Parameter v. links n. rechts übergeb. ...272 Protokolle (Objective-Pascal)...... 227 Registerbelegung auf x86-64...... 84 Parameter, Defaultwert ...... 260 Protokollmethoden...... 227 Registerkonventionen...... 83 Parameter/lok. Variablen v. Methoden .138 Proxyklasse für Streams...... 668 Registersicherung...... 89 Parameter-Alignment...... 91 Prozedur, Ergebnis ...... 258 Registerzuordnung a. Plattformen ...... 83 Parameterliste, leere...... 234 Prozedur, Referenz auf zuweisen ...... 137 Reintroduce...... 197 Parameterliste, maximale Größe...... 260 Prozedur/Funktion and. Namen geb...... 269 Rekursion ...... 258 Parameterlisten...... 134, 259 Prozedurale Variable ...... 176, 234 Relativer Pfad ...... 446 Parameter-Übergabe ...... 91 Prozedurale Variable zuweisen...... 176 RES...... 116 Pascal-Kommentare...... 146 Prozedurale Variablenaufrufe...... 243 Reservierter Speicher, Größe...... 637 Pascal-Schlüsselworte, Liste der ...... 147 Prozeduranweisungen ...... 243 Reset ...... 135 Pascal-Tokens ...... 146 Prozedurdeklaration ...... 257 ResourceString ...... 112, 153 PATH-Variable...... 17 Prozedurdeklarationen anzeigen...... 34 Ressource entsperren ...... 382 PATH-Variable (DOS) ...... 21 Prozeduren/Funktionen, bearbeitete Ressource laden ...... 353 PChar ...... 163 ausgeben ...... 34 Ressource suchen ...... 339 PChar nach String ...... 484 Prozeduren/Funktionen, verschachtelte...89 Ressource verriegeln...... 354 PChar-Zeigerarithmetik...... 164 Prozedurtypen...... 106 Ressourcen einbinden ...... 116 Periodizität...... 544 Prozedurzeiger...... 175 Ressourcen zählen...... 334 Persistente Klasse, Status sichern ...... 676 Prozeß starten...... 488 Ressourcen-Compiler ...... 35 Stichwortverzeichnis 757

Ressourcendatei erzeugen...... 116 Shared Libraries auf Win. erzeugen...... 144 Stackzeiger...... 374 Ressourcenfreigabe...... 341 Shared Library ...... 141, 270 Standard-Aufrufkonvention v. FPC...... 177 Ressourcengröße berechnen ...... 374 ShortInt ...... 155 Standard-Diagnostics-Output- Ressourcenheader lesen/schreiben...... 681 ShortInt (Def.) ...... 158 Dateihandle, Wert...... 140 Ressourcen-Konverter...... 75 ShortString...... 160 Standard-Input-Dateihandle, Wert...... 140 Ressourcen-Linker ...... 35 ShortString (Def.)...... 160 Standard-Output-Dateihandle, Wert..... 140 Ressourcenmanager setzen...... 371 ShortString, Länge...... 160 Standard-Units, Übersicht ...... 291 Ressourcenmanager, aktiver ...... 343 Sichtbarkeit...... 185 Standard-Worttrenner ...... 500 Ressourcenstream...... 677 Sichtbarkeit v. Objekten...... 192 Static ...... 41 Ressourcenstream konvertieren...... 75 Sichtbarkeit, Voreinstellung ...... 192 Statische Bibliothek anlegen ...... 98 Ressourcenstream, Instanz verwalten ..677 Single ...... 158 Statusflags von Komponenten...... 635 Ressourcenstring laden...... 398 Singuläre arithmetische Operatoren...... 238 StdCall ...... 273 Ressourcenstring lesen ...... 396 Sinus ...... 374 Steuerzeichen...... 150 Ressourcenstring-Datei...... 112 Slash ...... 29 Stored ...... 204 Ressourcenstring-Datei bearbeiten ...... 113 SmallInt...... 155 Stream aus Handle lesen...... 649 Ressourcenstring-Hash ...... 397 Smartlinken beim Kompilieren...... 37 Stream in Handle schreiben ...... 649 Ressourcenstring-Name...... 397 Smartlinking...... 99 Stream zerteilen in Tokens ...... 663 Ressourcenstrings...... 112, 153 SoftFloat...... 273 Stream, Daten aus Ressource lesen ..... 677 Ressourcenstrings freigeben ...... 396 Sondertasten-Konstanten ...... 579 Stream, Objektstatus...... 597 Ressourcenstrings i. lauf. Prog. übers...115 SoundEx...... 501 Streamen von Komponenten ...... 670 Ressourcenstrings zählen...... 399 SoundEx, deutsch...... 513 Streaming-Unterstützung ...... 572 Ressourcenstrings zurücksetzen...... 399 SoundEx-Code ...... 513, 514 Streams verschlüsseln/komprimieren .. 661 Result ...... 259 Specialize...... 212 Streams, Elternklasse ...... 637 Rewrite...... 135 Speicher füllen...... 338, 339 Strichpunkts vor else ...... 247 Rhide/GCC-Kompatibilitätsmodus ...... 34 Speicher, verfügbarer freier...... 137 String anlegen ...... 376 Römische Zahl nach Dezimal ...... 512 Speicher-/Portzugriff ...... 134 String auf Heap ...... 484 Routine als Interrupt-Handler...... 271 Speicheradresse, Verweis auf ...... 173 String aus Leerzeichen...... 374 Routine in ext. Objektdatei dekl...... 267 Speicherbereich anfordern...... 318 String b. Laden e. Formulars übersetz. . 675 Routine, Adresse von ...... 106 Speicherbereich durchsuchen ...... 347 String best. Länge erzeugen...... 372 RPM-Paket...... 23 Speicherbereich reservieren...... 342 String ersetzen ...... 515 rstconv ...... 75, 113 Speicherber. vergleich...... 325ff, 415, 416 String in Anführungszeichen...... 464 RST-Datei...... 112 Speicherblockgröße ...... 355 String in Anführungszeichen setzen ...... 469 RTL kompilieren ...... 47 Speicherblockgröße ändern...... 363 String in Datumsangabe ...... 424 RTL übersetzen ...... 49 Speicherdatenstrom schreiben...... 638 String in Gleitkomma ...... 428 RTL-Event...... 367 Speicherdatenstrom verwalten ...... 660 String in Gleitkommazahl umwandeln... 431 RtlSigNum...... 490 Speicherdatenstrom, Datei laden in ...... 660 String in Großbuchstaben, nullterm...... 486 RTTI...... 139 Speicherfreigabe ...... 331, 341 String in Klein, erster BS groß ...... 503 Runden ...... 367 Speicherlöcher finden...... 54 String in Kleinbuchstaben ...... 478 Speichermanager ...... 307 String in String einfügen ...... 349 S Speichermanager installieren ...... 371 String in Währungsangabe...... 423 SafeCall ...... 273 Speichermanager, eigener...... 108 String in Worte aufteilen...... 376, 584 Sättigungsarithmetik ...... 92 Speicheroperationen ...... 637 String in Zeitangabe...... 427 SaveRegisters...... 273 Speicherplatz, freier ...... 442 String kopieren ...... 477 Schaltjahr...... 438, 518, 519 Speicherstream ...... 660 String kopieren, nullterm...... 480ff. Schleife, ans Ende springen ...... 329 Speicherverwaltung ...... 100 String lesen/setzen...... 692 Schleife, springen aus ...... 322 Speicherverwaltung, automatische...... 572 String nach 64-Bit-Integer ...... 426, 427 Schnellerer Code...... 129 Sprachkennung anlegen...... 355 String nach Bool...... 423, 430 Schnittstelle zur Betreuung e. Liste v. Sprachmodus ...... 40 String nach Datum ...... 424, 429, 430 Interfaces...... 594 Sprachressourcen ...... 334 String nach Gleitkomma ...... 425f., 431 Schreiben in Datei...... 385 Sprachsymbole...... 146 String nach GUID...... 430, 492 Schreibobjekt verwalten ...... 709 Sprunganweisung...... 244 String nach Int64...... 431 Sekunde ...... 518 Sprungmarke ...... 242 String nach Integer...... 426, 427, 431 Sekunde, Teile der ...... 538 Stabs-Debug-Information...... 37, 51 String nach PChar ...... 485 Sekunden/Millisekunden, Zahl d. ganz. .547 Stack, Parameter v. links n. rechts...... 273 String nach QWord ...... 427 Sekundenangabe ändern...... 560 Stack, Parameter v. rechts n. links...... 273 String nach TDateTime ...... 425, 431 Sekundenanteil ...... 526 Stackbereinigung...... 88 String nach Währung...... 430 Selektor (Objective-Pascal) ...... 229 Stackframe b. Prozeduraufruf...... 91 String nach Zeitanteil ...... 428 Self ...... 189 Stackframe erzeugen ...... 271 String prüfen...... 502 Self-Bezeichner...... 187 Stackgröße eines neuen Threads ...... 295 String suchen ...... 503 Self-Parameter...... 88 Stackgröße festlegen...... 37 String umdrehen...... 512 Set ...... 172 Stackpointer ...... 83 String verbinden, nullterm...... 479 SetMemoryManager...... 108 Stackrahmen, keiner ...... 126 String vom Heap löschen...... 476 Set-Typecasts...... 134 Stacküberprüfung...... 37 String (Def.) ...... 159 758 Stichwortverzeichnis

String, führende Leerz. löschen ...... 512 Tag der Woche, letzter...... 529 Thread, warten auf ...... 121 String, Länge ...... 159 Tag des Jahres ...... 556 Threadende, warten auf ...... 385 String, Speicher reservieren ...... 478 Tag des Monats, erster ...... 528 Thread-Funktionen...... 119 String, Wort suchen...... 509 Tag des Monats, letzter...... 529 Thread-ID ...... 121, 341, 343 String, Zeichen einfügen ...... 501 Tag, letzter des Jahres ...... 527 Thread-Klasse ...... 705 String, Zeichen ersetzen...... 482 Tag, Teile des...... 536 Thread-lokaler Speicher ...... 119 String, Zeichen umdrehen...... 504 Tage des Monats...... 523 Thread-Manager...... 119, 123, 138 String, Zeichensuche...... 485 Tage im Jahr ...... 523 Thread-Manager installieren...... 373 String, Zeiger auf letztes Zeichen ...... 471 Tage im Monat...... 523 Thread-Priorität...... 121, 581, 706 String, Zeilentrenner...... 698 Tage in einem Jahr ...... 517 Thread-Puffer löschen ...... 340 Stringarrays verwaltenr ...... 692 Tage in einem Monat...... 517 Thread-Routinen, systemspezifisch...... 119 String-Collections verwalten ...... 644, 655 Tage, Zahl der ganzen...... 545, 549 Threads des Betriebssystems ...... 705 String-Datenstrom...... 702 Tagesanfang/-ende...... 530 Threads verwalten...... 705 String-Deklaration, Schalter...... 160 Tagesangabe ändern ...... 559 Threads weiterführen ...... 364 Stringende, nullterm...... 481 Tagesdatum ...... 530 Threadsicheres TList ...... 706 Stringgröße (max.)...... 297 TAlignment, Aufzählungswerte...... 574 Thread-Start...... 349 Stringlänge ...... 475 Tausendertrennzeichen...... 418, 421 ThreadVar...... 119, 182 Stringlänge setzen...... 371 TBasicAction...... 606 Thread-Variablen ...... 182 Stringlänge, nullterm...... 480, 483 TBasicActionLink ...... 609 Threadwechsel ...... 121 Stringliste sortieren...... 690 TBinaryObjectReader ...... 610 TInterfacedPersistent...... 650 Stringliste verwalten...... 572 TBinaryObjectWriter...... 614 TInterfaceList...... 650 Stringliste, Darstellung...... 699 TBits ...... 618 TInterfaceListEnumerator...... 653 Stringliste, Dateiinhalt laden...... 696 TCollection...... 572, 622 TList...... 572, 644, 654 Stringliste, Groß-/Kleinschreibung...... 690 TCollectionEnumerator ...... 626 TListEnumerator...... 659 Stringlistenvergleich ...... 694 TCollectionItem...... 626 TMemoryStream ...... 659 Stringlistenverwaltung...... 688 TComponent...... 628 TObject...... 390 String-Operator...... 239 TComponentEnumerator...... 636 TObject, Instanz von erzeugen...... 390 String-Referenzzähler...... 161 TComponent-Klasse, neue Instanz...... 631 TOwnedCollection ...... 661 Strings...... 150 TCustomMemoryStream...... 637 TOwnerStream ...... 661 Strings addieren ...... 163 TDataModule...... 639 TP/BP-7.0-Kompatibilität ...... 40 Strings aneinanderfügen...... 163 TDateTime anlegen...... 556 TParser...... 662 Strings vergleichen ...... 467 TDateTime nach Systemzeit ...... 434 TPersistent...... 667 Strings verwalten...... 693 TDateTime zerlegen...... 554 TProxyStream...... 668 Strings zusammenfügen ...... 474 TDateTime zusammenfügen...... 555 TReader...... 669 Strings, nullterminierte addieren ...... 239 Teilbereichstypen...... 157 TRecall ...... 675 Strings, Nullterminierung ...... 160 Teilstring...... 473, 478, 507, 510 Trenner suchen ...... 477 Stringspeicher-Größe...... 479 Teilstring bis Leerzeichens ...... 505 TResourceStream...... 677 Stringsuche...... 513 Teilstring ersetzen...... 503 try..except...... 287 Stringtabellen ...... 116 Teilstring suchen...... 501f., 508 try..finally ...... 288 Stringtabellen aktualisieren ...... 113 Teilstring, nullterm...... 485 TStream ...... 572, 677 String-Typen, Speicherbelegung...... 102 Temporärdatei, Name der ...... 453 TStreamAdapter...... 684 Stringvergleich ...... 374, 469ff., 475f., 478 Temporärverzeichnis ...... 453 TStringList...... 572, 687 Stringvergleich, nullterm...... 480ff. Testprogramme ...... 26 TStrings...... 690 Struktur, Ausrichtung...... 106 Text formatieren ...... 458 TStringsEnumerator...... 701 Stunde...... 518 Text trennen...... 467 TStringStream...... 702 Stunde, Teile der ...... 537 Text zeilenweise lesen...... 362 TThread...... 704 Stunden, Zahl der ganzen...... 546 Textausrichtung in Textsteuerelement. 574 TThreadList ...... 706 Stundenangabe ändern...... 559 Textdateien ...... 105 Turbo-Pascal-Kompatibilität...... 15, 133f. Stundenanteil...... 526 TextRec ...... 134 Turbo-Pascal-Modus...... 732 Subtraktion ...... 277 TFiler...... 641 TWriter...... 708 Such-Handle-Definition ...... 411 TFileStream...... 642 Typ, prozeduraler...... 175 Suchpfad...... 29 TFPList...... 643 Typ-Bezeichner...... 154 Symbole, Zugriff von außen...... 88 TFPListEnumerator...... 648 Typblock...... 210 Systemfehlercode als String...... 465 THandle ...... 305 Typecast ...... 235 Systemton ...... 491 THandleStream ...... 648 Typen, gepackte, strukturierte...... 164 System-Unit...... 41 Thread anhalten ...... 121 Typen, komplexe ...... 135 Systemzeit...... 437 Thread anhalten (Crit. Sect.) ...... 333 Typinformation ermitteln...... 597 Systemzeit nach TDateTime...... 439 Thread beenden ...... 121, 332, 333, 352 Typisierte Konstante...... 152 Thread fortsetzen...... 121 Typisierte Konstante, Initialisierung...... 152 T Thread initialisieren...... 349 Typüberprüfung beim Parsen...... 84 TAbstractObjectReader...... 598 Thread pausieren ...... 377 Typumwandlung...... 162, 235, 236 Tabulatorzeichen nach Leerzeichen...... 516 Thread schließen...... 325 Typumwandlung, bedingte ...... 241 Tag der Woche, erster...... 529 Thread starten...... 321 Typumwandlung, nicht ausgerichtete...236 Stichwortverzeichnis 759

U Variablen prozeduralen Typs...... 176 WideString nach UTF8 ...... 383 Variablen trashen...... 37 WideString (Def.) ...... 162 Übergabe von Werten, direkte ...... 260 Variablen, initialisierte ...... 181 WideString-Manager...... 138, 402 Uhrzeit nach TDateTime...... 437 Variablen-/Typgröße ermitteln...... 374 WideString-Manager installieren ...... 373 Uhrzeit prüfen...... 520 Variablen-Deklaration ...... 179 WideStrings vergleichen ...... 486, 487 Uhrzeiten vergleichen...... 566 Variablenreferenz...... 233 Wiederholte Ausführung e. Anweis...... 248 Umgebungsvariable abfragen...... 489 Variablentyp auf anderen zuweisen...... 275 Wiederholungsanweisungen...... 245 Umgebungsvariablen, Zahl...... 489 Variablen-Typumwandlung...... 236 Win64-Installation...... 19 Ungerade Zahl...... 357 Variant...... 177 WinCE-Installation...... 19 Unicode in AnsiString wandeln...... 381 Variant, Datentyp zuweisen ...... 177f. Windows-Backsl. aus Pfadnam. entf.... 444 UnicodeString-Manager...... 343 Variantentyp umwandeln...... 385 Windows-Distribution...... 16 UnicodeStrings (Def.) ...... 162 Varianter Record...... 169 Windows-Ressourcen ...... 116 Unicode-Umwandlungstabelle laden...... 35 Variantes Array, Wert holen ...... 384 Windows-Units ...... 292 Unicode-Zeichenkettenverarbeitung...... 486 Variant-Manager setzen...... 373 Windres...... 116 UniqueString ...... 161 Var-Parameter ...... 260 Wissenschaftliche Notation ...... 421 Unit kompilieren...... 32, 77 Var-Parameter, Defaultwert...... 261 Wissenschaftliches Format...... 418 Unit System ...... 279 Vergleichsoperatoren ...... 231, 241 Woche ...... 518 Unit, dynam./statisch gelinkt ...... 99 Vergleichsoperatoren überladen...... 278 Woche des Monats ...... 557 Unit, Gültigkeitsbereich ...... 285 Verschlüsselung ...... 517 Woche eines Jahres, erste...... 522 Unit, Inhalt anzeigen ...... 70 Versionsinformationen...... 117 Woche, Teile der...... 535 Unit, Interfaceteil ...... 280 Verzeichnis ändern ...... 324 Woche/Tag en-/dekodieren...... 555 Unit-Abhängigkeiten...... 282 Verzeichnis anlegen...... 355, 441 Wochen, Zahl der ganzen ...... 545, 549 Unit-Beschreibungsdateien...... 78 Verzeichnis ermitteln...... 342 Wochenanfang/-ende ...... 529 Unit-Datei...... 77 Verzeichnis löschen...... 365, 454 Wochenangabe prüfen ...... 521 Unit-Datei, Endung...... 279 Verzeichnis ohne Laufwerk ...... 445 Wochenanteil ...... 526 Unit-Dateien, Suchpfad ...... 35 Verzeichnis v. Units/Progr. säubern...... 57 Wochentag...... 517, 435 unitdiff ...... 75 Verzeichnis, aktuelles...... 452 Wochentag, letzter ...... 525 Unit-Dokumentationstool...... 67 Verzeichnis, prüfen auf Vorhandensein..442 Word...... 155 Unit-Interface-Sektionen, Unterschied ....75 Verzeichnisfunktionen...... 440 Word (Def.)...... 158 Unit-Namen...... 31 Verzeichnisliste zerlegen...... 452 WordBool ...... 156 Units laden, Reihenfolge...... 35 Verzeichnispfad anlegen ...... 451 Word-Suche Speicherbereich ...... 348 Units linken...... 99 Verzeichnistrennzeichen...... 29, 140 Wort aus String extrahieren ...... 507 Units vergleichen...... 75 Verzeichnistrenner vorn...... 453 Worte zählen ...... 516 Units, Abhängigkeitsregeln ...... 60 Verzeichnistrennzeichen ersetzen..443, 455 Wortposition...... 516 Units, gegenseitig einbinden...... 282 Virtual...... 189, 190 WPO-Optimierung...... 131 Units, smartgelinkte ...... 39 Virtual Method Table...... 104 WriteLn...... 137 Units, statische linken mit...... 39 Virtuelle Methode...... 188 Wurzel ...... 375 Units, vom Programm benötigte...... 279 Virtuelle Methode, Elternklasse ...... 200 Units/Programme installieren ...... 59 Virtuelle Methode, Inherited ...... 197 X Unix-Zeitstempel ...... 570 VMT ...... 104, 193 Xming-Server ...... 18 Unterfunktionen aufrufen...... 243 VMT, Layout ...... 104 XN Resource Editor...... 116 Unterprogramm beenden...... 336 Vordefinierter Record ...... 182 Uses-Anweisung...... 279 Vorgänger e. Elements...... 359 Z Uses-Klausel, Reihenfolge...... 35 Vorwärts-Typdeklaration ...... 175 UTF8 nach Unicode ...... 383 Zahl in String umwandeln ...... 375 Zahl, Binärnotation ...... 149 UTF8 nach WideString...... 383 W UTF-8-String, übersetzen in ...... 318 Zahl, Dezimalformat ...... 149 Währungsangabe formatieren...... 416, 420 UWin-Emulation...... 18 Zahl, Hexadezimalformat...... 149 Währungsangabe in String ...... 416 Zahl, Oktalformat...... 149 V Währungsformat ...... 418 Zahlenformat, allgemeines ...... 418 Warnungen ausgeben...... 34 Zahlen-Schreibweise...... 149 var ...... 180 Wert an aufruf. Routine zurückgeben....261 Zahlenwert in Zahl umwandeln ...... 384 VarArgs ...... 274 Wert vergrößern...... 346 Zähler-Interface...... 387 Variable ...... 179 Wert verringern...... 330 Zählerschnittstelle für TStrings...... 701 Variable exportieren ...... 98 Werte, mehrere in Variable speichern...164 Zeichen im String ...... 511 Variable, Betrag ...... 317 Wertparameter...... 260 Zeichen in String löschen...... 506 Variable, externe...... 180 WideChar...... 162 Zeichen löschen...... 331 Variable, globale ...... 179 WideChars in Ansi wandeln...... 385 Zeichen suchen ...... 473 Variable, initialisierte ...... 152 WideString...... 343, 402 Zeichen(ketten)typen...... 158 Variable, lokale...... 179 WideString formatieren ...... 486, 487 Zeichenkette kopieren...... 329 Variable, Ordinalwert...... 357 WideString in Großbuchstaben ...... 487 Zeichenkette, Position von...... 359 Variable, Startwert ...... 181 WideString in Kleinbuchstaben ...... 487 Zeichenketten formatieren...... 457 Variable, thread-lokale...... 182 WideString nach AnsiString ...... 385 Zeichenketten verbinden ...... 328 Variable, Zugriff a. über C-Name...... 95 WideString nach UCS4 ...... 385 Zeichenketten vergleichen...... 241 Variablen in der fpc.cfg ...... 42 760 Stichwortverzeichnis

Zeichenketten, Aufbau ...... 150 Zeigervariablen (zuweisungskompatible)303 Zeitstempel ...... 440 Zeichenkettenbegrenzer...... 159 Zeigervariablen umwandeln ...... 236 Zeitstempel en-/dekodieren ...... 554 Zeichenketten-Konstanten ...... 163 Zeilenende e. Textdatei ...... 373 Zeitstempel nach TDateTime...... 439 Zeichenkettenlänge...... 352, 377 Zeilenende, Positionszeiger am...... 335 Zeitstempel vergleichen...... 539ff., 563 Zeichenkettenverarbeitung...... 467 Zeilenendekennung austauschen ...... 458 Zeitstempel, DOS...... 571 Zeichensuche in Speicherbereich...... 347 Zeilenendemarkierung ...... 140, 297 Zeitstempel, Elemente ändern ...... 558 Zeichentypen, Speicherbelegung ...... 100 Zeilennummer ausgegeben ...... 34 Zeitstempel, Macintosh...... 571 Zeiger...... 173 Zeilentrenner ...... 698 Zeitstempel, Unix...... 570 Zeiger auf Array von Zeigern ...... 574 Zeilenumbruch in Textdaten...... 295 Zielbetriebssysteme ...... 15 Zeiger auf Objekt auf d. Heap...... 195 Zeilenumbruch suchen...... 587 Zielpfad bei Installation...... 17 Zeiger auf Parameter ...... 317 Zeilenvorschub in Ausgabe ...... 386 Zielprozessor...... 58 Zeiger dereferenzieren ...... 173 Zeit nach String...... 429 Zufallgenerator initalisieren ...... 361 Zeiger in Liste einführen...... 644 Zeit, aktuelle...... 524 Zufallszahl...... 360 Zeiger zurückgeben...... 360 Zeit, Exceptions...... 568 Zusammengesetzte Anweisungen...... 245 Zeiger, Speicherbelegung ...... 102 Zeitabschnitt interpretieren ...... 568 Zusammengesetzte Typen, Zeiger, typisierter ...... 175 Zeitangabe ändern ...... 561 Speicherbelegung ...... 103 Zeigerarithmetik ...... 174 Zeitangaben vergleichen ...... 564 Zuweisung...... 243 Zeiger-Collections verwalten...... 644, 655 Zeitanteil...... 519 Zuweisungsanweisungen...... 243 Zeiger-Größe...... 301 Zeitanteil ändern ...... 439 Zuweisungsoperator...... 243, 275 Zeigernliste verwalten...... 572 Zeit-Formatierung ...... 432 Zwischenspeicher i. Storage aktual...... 676

Funktionen, Klassen, Schalter

AnsiStrRScan...... 473 ChDir ...... 324 A AnsiStrScan...... 473 CheckSynchronize...... 584 AbandonSignalHandler...... 488 AnsiStrUpper ...... 473 Chr ...... 324 Abort ...... 488 AnsiToUtf8...... 318 ClassGroupOf ...... 584 Abs ...... 317 AnsiUpperCase...... 474 Close...... 324 AbstractError ...... 317 AnsiUpperCaseFileName...... 441 CloseFile ...... 396 AcquireExceptionObject...... 317 Append ...... 318 CloseThread ...... 325 ActivateClassGroup...... 583 AppendStr...... 474 CollectionsEqual...... 584 AddChar ...... 501 ApplicationName...... 441 CompareByte ...... 325 AddCharR...... 501 Arctan ...... 319 CompareChar ...... 326 AddDisk...... 440 ArrayStringToPPChar...... 319 CompareChar0 ...... 327 AddExitProc ...... 317 Assert...... 319 CompareDate ...... 563 Addr...... 317 Assign ...... 319 CompareDateTime...... 563 AddTerminateProc ...... 488 Assigned...... 320 CompareDWord ...... 327 AdjustLineBreaks...... 457 AssignFile ...... 395 CompareMem ...... 415 Align ...... 318 AssignLst ...... 401 CompareMemRange...... 416 AllocMem...... 318 AssignStr ...... 475 CompareStr ...... 475 AnsiCompareFileName...... 440 CompareText...... 476 AnsiCompareStr ...... 467 B CompareTime...... 564 AnsiCompareText...... 467 BasicEventCreate...... 320 CompareWord...... 328 AnsiContainsStr ...... 501 BasicEventDestroy ...... 320 ComposeDateTime ...... 433 AnsiContainsText...... 502 BasicEventResetEvent ...... 320 Concat ...... 328 AnsiDequotedStr...... 468 BasicEventSetEvent ...... 320 ConcatPaths...... 441 AnsiEndsStr...... 502 BasicEventWaitFor...... 320 Continue...... 329 AnsiEndsText...... 502 BCDToInt...... 414 Copy...... 329 AnsiExtractQuotedStr...... 468 Beep...... 491 Copy2Space...... 505 AnsiIndexStr ...... 502 BeginGlobalLoading...... 583 Copy2SpaceDel...... 505 AnsiIndexText...... 502 BeginThread ...... 321 Copy2Symb...... 505 AnsiLastChar...... 468 BEtoN...... 321 Copy2SymbDel ...... 505 AnsiLeftStr ...... 502 BinStr ...... 321 Cos...... 329 AnsiLowerCase...... 469 BinToHex ...... 504 CreateDir...... 441 AnsiLowerCaseFileName ...... 441 BinToHex ...... 583 CreateGUID...... 491 AnsiMatchStr...... 503 Blockread...... 321 CSeg ...... 330 AnsiMatchText ...... 503 Blockwrite...... 322 CurrentYear ...... 433 AnsiMidStr...... 503 BoolToStr ...... 415 CurrToStr ...... 416 AnsiPos ...... 469 Bounds...... 583 CurrToStrF ...... 416 AnsiProperCase ...... 503 Break...... 322 AnsiQuotedStr...... 469 BsfByte ...... 323 D AnsiReplaceStr ...... 503 BsfDWord ...... 323 Date ...... 433 AnsiReplaceText...... 503 BsfQWord...... 323 DateOf...... 518 AnsiResemblesText...... 504 BsfWord...... 323 DateTimeToDosDateTime...... 571 AnsiReverseString...... 504 BsrByte ...... 323 DateTimeToFileDate...... 433 AnsiRightStr...... 504 BsrDWord...... 323 DateTimeToJulianDate ...... 569 AnsiSameStr...... 469 BsrQWord...... 324 DateTimeToMac ...... 571 AnsiSameText ...... 470 BsrWord ...... 324 DateTimeToModifiedJulianDate...... 570 AnsiStartsStr...... 504 ByteToCharIndex...... 415 DateTimeToStr ...... 433 AnsiStartsText...... 504 ByteToCharLen...... 415 DateTimeToString ...... 434 AnsiStrComp...... 470 ByteType ...... 415 DateTimeToSystemTime...... 434 AnsiStrIComp...... 470 DateTimeToTimeStamp...... 435 AnsiStrLastChar...... 471 C DateTimeToUnix...... 570 AnsiStrLComp...... 471 CallTerminateProcs...... 488 DateToStr ...... 435 AnsiStrLIComp...... 472 ChangeFileExt...... 441 DayOf...... 526 AnsiStrLower ...... 473 CharToByteLen...... 415 DayOfTheMonth...... 534 AnsiStrPos ...... 473 CharToByteLen...... 475 DayOfTheWeek...... 535 762 Funktionen, Klassen, Schalter

DayOfTheYear...... 533 EncodeDayOfWeekInMonth...... 567 FileCreate...... 455 DayOfWeek ...... 435 EncodeTime...... 437 FileDateToDateTime ...... 447 DaysBetween ...... 545 EncodeTimeInterval ...... 567 FileExists ...... 447 DaysInAMonth...... 523 EndGlobalLoading ...... 584 FileGetAttr...... 447 DaysInAYear...... 523 EndOfADay ...... 532 FileGetDate ...... 448 DaysInMonth ...... 523 EndOfAMonth...... 529 FileIsReadOnly ...... 449 DaysInYear...... 522 EndOfAWeek...... 530 FileOpen ...... 456 DaySpan ...... 549 EndOfAYear ...... 527 FilePos...... 337 Dec...... 330 EndOfTheDay...... 531 FileRead ...... 457 Dec2Numb...... 506 EndOfTheMonth ...... 528 FileSearch ...... 449 DecodeDate...... 436 EndOfTheWeek ...... 529 FileSeek...... 457 DecodeDateDay...... 556 EndOfTheYear...... 527 FileSetAttr ...... 449 DecodeDateFully ...... 436 EndThread ...... 333 FileSetDate...... 450 DecodeDateMonthWeek ...... 557 EnterCriticalSection ...... 333 Filesize...... 337 DecodeDateTime...... 554 EnumResourceLanguages ...... 334 FileTruncate ...... 457 DecodeDateWeek ...... 555 EnumResourceNames ...... 334 FileWrite...... 457 DecodeDayOfWeekInMonth...... 567 EnumResourceTypes...... 334 FillByte ...... 338 DecodeSoundexInt...... 506 Eof...... 334 FillChar ...... 338 DecodeSoundexWord...... 506 EoLn ...... 335 FillDWord ...... 338 DecodeTime ...... 436 EOutOfResources...... 592 FillQWord ...... 339 DefaultAnsi2UnicodeMove...... 330 EParserError ...... 592 FillWord...... 339 DefaultAnsi2WideMove...... 331 Erase...... 335 FinalizeResourceTables...... 396 DefaultUnicode2AnsiMove...... 331 EReadError...... 592 FindClass...... 584 DefaultWide2AnsiMove...... 331 EResNotFound...... 592 FindClose...... 450 Definition...... 628 Error ...... 335 FindCmdLineSwitch...... 488 Definitionen...... 492 EStreamError...... 592 FindFirst ...... 450 DelChars ...... 506 EStringListError ...... 592 FindGlobalComponent ...... 584 Delete...... 331 EThread ...... 593 FindIdentToInt...... 585 DeleteFile...... 442 EThreadDestroyCalled ...... 593 FindIntToIdent...... 585 DelSpace...... 506 EWriteError...... 593 FindNestedComponent...... 585 DelSpace1 ...... 506 ExceptAddr ...... 496 FindNext...... 451 DirectoryExists ...... 442 ExceptFrameCount ...... 497 FindPart...... 508 DiskFree...... 442 ExceptFrames ...... 497 FindResource ...... 339 DiskSize...... 443 Exception...... 495 FindResourceEx ...... 339 Dispose ...... 331 ExceptionErrorMessage ...... 497 float_raise ...... 340 DisposeStr ...... 476 Exceptions (Definitionen)...... 492 FloattoCurr ...... 416 DoDirSeparators ...... 443 ExceptObject...... 497 FloatToDateTime ...... 416 DoneCriticalSection...... 332 Exclude...... 335 FloatToDecimal...... 417 DoneThread ...... 332 ExcludeLeadingPathDelimiter...... 444 FloatToStr...... 417 DosDateTimeToDateTime...... 572 ExcludeTrailingBackslash...... 444 FloatToStrF...... 417 DSeg ...... 332 ExcludeTrailingPathDelimiter ...... 444 FloatToText...... 419 Dump_Stack...... 333 ExecuteProcess ...... 488 FloatToTextFmt ...... 420 DumpExceptionBackTrace ...... 332 ExeSearch ...... 444 Flush...... 340 DupeString...... 506 Exit...... 336 FlushThread ...... 340 DynArraySetLength...... 333 Exp...... 337 FmtStr ...... 458 ExpandFileName...... 444 ForceDirectories...... 451 E ExpandUNCFileName ...... 445 Format...... 458 EBitsError...... 591 ExtractDelimited ...... 507 FormatBuf ...... 420 EClassNotFound ...... 591 ExtractFileDir...... 445 FormatCurr...... 420 EComponentError ...... 591 ExtractFileDrive...... 445 FormatDateTime...... 421 EFCreateError ...... 591 ExtractFileExt ...... 446 FormatFloat...... 421 EFilerError ...... 591 ExtractFileName ...... 446 FPower10...... 340 EFOpenError...... 591 ExtractFilePath...... 446 Frac ...... 341 Einfache Formatierfunktionen ...... 518 ExtractRelativePath ...... 446 FreeAndNil ...... 491 EInvalidImage...... 592 ExtractShortPathName...... 446 FreeMem...... 341 EInvalidOperation ...... 592 ExtractStrings ...... 584 FreeMemory ...... 341 EListError...... 592 ExtractSubstr ...... 507 FreeResource...... 341 EMethodNotFound ...... 592 ExtractWord...... 507 Funktionen...... 496 EncodeDate ...... 436 ExtractWordPos...... 507 EncodeDateDay...... 556 G EncodeDateMonthWeek...... 557 F get_caller_addr ...... 344 EncodeDateTime ...... 554 FileAge...... 446 get_caller_frame...... 344 EncodeDateWeek...... 555 FileClose ...... 455 get_cmdline...... 344 Funktionen, Klassen, Schalter 763 get_frame ...... 344 I IsInLeapYear...... 519 GetAppConfigDir...... 451 IsLeapYear...... 438 IdentToInt...... 586 GetAppConfigFile...... 451 IsLstAvailable...... 401 IDesignerNotify...... 593 GetClass...... 585 IsMemoryManagerSet...... 352 IDispatch...... 387 GetCmdLineArg ...... 508 IsPathDelimiter...... 454 IEnumerable...... 387 GetCurrentDir...... 452 IsPM ...... 519 IEnumerator ...... 387 GetCurrentThreadID...... 341 IsSameDay ...... 525 IfThen ...... 508 GetDir ...... 342 IsSameMonth...... 565 IInterfaceComponentReference...... 593 GetDirs ...... 452 IsToday...... 524 IInterfaceList...... 593 GetEnvironmentString ...... 489 IStreamPersist...... 596 IInvokable...... 388 GetEnvironmentVariable...... 489 IStreamPersistLoadFromStream...... 597 Inc...... 346 GetEnvironmentVariableCount...... 489 IStreamPersistSaveToStream...... 597 IncAMonth...... 437 GetFileHandle...... 453 IsValidDate ...... 519 IncDay...... 553 GetFixupInstanceNames...... 585 IsValidDateDay...... 520 IncHour...... 553 GetFixupReferenceNames ...... 585 IsValidDateMonthWeek...... 521 Include ...... 347 GetFPCHeapStatus...... 342 IsValidDateTime ...... 520 IncludeLeadingPathDelimiter...... 453 GetHeapStatus ...... 342 IsValidDateWeek...... 521 IncludeTrailingBackslash ...... 454 GetLastOSError ...... 489 IsValidIdent...... 477 IncludeTrailingPathDelimiter...... 454 GetLocalTime...... 437 IsValidTime...... 520 IncMilliSecond...... 554 GetMem...... 342 IsWild ...... 509 IncMinute...... 553 GetMemory...... 342 IsWordPresent ...... 509 IncMonth...... 437 GetMemoryManager...... 342 IUnknown...... 388 IncSecond...... 554 GetModuleName ...... 490 IVCLComObject...... 597 IncWeek...... 552 GetProcessID...... 342 IncYear...... 552 GetResourceManager ...... 343 J IndexByte...... 347 GetResourceStringCurrentValue...... 396 JulianDateToDateTime ...... 570 IndexChar...... 347 GetResourceStringDefaultValue...... 397 IndexChar0 ...... 348 GetResourceStringHash...... 397 K IndexDWord ...... 348 GetResourceStringName ...... 397 IndexQWord ...... 348 KillThread...... 352 GetTempDir...... 453 IndexWord...... 348 GetTempFileName...... 453 L InitComponentRes...... 586 GetThreadID...... 343 InitCriticalSection ...... 349 LastDelimiter ...... 477 GetThreadManager ...... 343 InitInheritedComponent...... 586 LeaveCriticalSection ...... 352 GetUnicodeStringManager ...... 343 InitPrinter ...... 401 LeftBStr...... 509 GetUserDir...... 453 InitThread...... 349 LeftStr...... 477, 510 GetVariantManager ...... 343 InitThreadVars ...... 349 Length...... 352 GetWideStringManager...... 343 InquireSignal (nur Unix)...... 490 LEtoN ...... 353 GlobalFixupReferences...... 586 Insert...... 349 LineStart ...... 587 GroupDescendentsWith...... 586 Int...... 349 Ln...... 353 GUIDCase...... 491 InterfaceComponentReference...... 593 Lo...... 353 GUIDToString ...... 491 InterLockedCompareExchange...... 350 LoadResource...... 353 LoadResString...... 398 H InterLockedDecrement...... 350 InterLockedExchange...... 350 LockResource...... 354 Halt...... 344 InterLockedExchangeAdd...... 350 LongJmp...... 354 Hash ...... 398 InterLockedIncrement ...... 350 Low ...... 354 Hex2Dec...... 508 IntToBin...... 509 LowerCase...... 354, 477 HexStr ...... 344 IntToHex ...... 422 HexToBin...... 508 IntToIdent...... 587 M HexToBin...... 586 IntToRoman ...... 509 MacTimeStampToUnix...... 571 Hi...... 345 IntToStr ...... 422 MacToDateTime ...... 571 High ...... 345 InvalidDateDayError...... 569 MakeLangID ...... 355 HINSTANCE ...... 346 InvalidDateMonthWeekError ...... 569 MemSize...... 355 HookSignal ...... 490 InvalidDateTimeError...... 568 MidBStr ...... 510 HourOf ...... 526 InvalidDateWeekError ...... 569 MidStr...... 510 HourOfTheDay...... 536 InvalidDayOfWeekInMonthError...... 569 MilliSecondOf...... 526 HourOfTheMonth ...... 534 InvalidPoint ...... 587 MilliSecondOfTheDay ...... 537 HourOfTheWeek ...... 536 IOResult ...... 351 MilliSecondOfTheHour...... 538 HourOfTheYear...... 533 IReadWriteSync (Property) ...... 499 MilliSecondOfTheMinute ...... 538 HoursBetween ...... 546 IReadWriteSync ...... 498 MilliSecondOfTheMonth...... 535 HourSpan ...... 550 Is_Intresource...... 352 MilliSecondOfTheSecond ...... 538

IsDelimiter...... 476 MilliSecondOfTheWeek...... 536

IsEmptyStr...... 509 MilliSecondOfTheYear ...... 533

IsEqualGUID...... 491 MilliSecondsBetween...... 547 764 Funktionen, Klassen, Schalter

MilliSecondSpan ...... 552 Q RmDir ...... 365 MinuteOf...... 526 RolByte...... 366 QuotedStr ...... 464 MinuteOfTheDay ...... 537 RolDWord...... 366 MinuteOfTheHour...... 537 R RolQword ...... 366 MinuteOfTheMonth...... 535 RolWord...... 366 MinuteOfTheWeek...... 536 RaiseLastOSError ...... 490 RomanToInt...... 512 MinuteOfTheYear ...... 533 RaiseList...... 360 RorByte ...... 366 MinutesBetween...... 546 Random ...... 360 RorDWord ...... 366 MinuteSpan ...... 550 RandomFrom...... 511 RorQWord...... 366 MkDir ...... 355 Randomize...... 361 RorWord...... 367 ModifiedJulianDateToDateTime...... 570 Read ...... 361 Round ...... 367 MonthOf...... 526 ReadBarrier ...... 361 RPos ...... 513 MonthOfTheYear ...... 532 ReadComponentRes...... 588 RPosex ...... 513 MonthsBetween...... 544 ReadComponentResEx...... 588 RTLEventCreate...... 367 MonthSpan...... 548 ReadComponentResFile ...... 588 RTLEventDestroy ...... 367 Move...... 355 ReadDependencyBarrir...... 362 RTLEventResetEvent ...... 367 MoveChar0...... 355 ReadLn...... 362 RTLEventSetEvent ...... 367 MSecsToTimeStamp ...... 438 ReadWriteBarrier...... 362 RTLEventSync...... 367 Real2Double ...... 362 RTLEventWaitFor...... 367 N ReAllocMem ...... 363 RunError ...... 368 ReAllocMemory ...... 363 New ...... 356 RecodeDate...... 561 NewStr...... 478 S RecodeDateTime ...... 561 NotifyGlobalLoading...... 587 SafeLoadLibrary...... 491 RecodeDay...... 559 Now ...... 438 SameDate ...... 565 RecodeHour...... 559 NPos ...... 510 SameDateTime ...... 565 RecodeMilliSecond...... 560 NthDayOfWeek ...... 567 SameFileName ...... 455 RecodeMinute...... 560 NtoBE...... 356 SameText...... 478 RecodeMonth...... 559 NtoLE ...... 356 SameTime...... 566 RecodeSecond...... 560 Null...... 356 SarInt64...... 368 RecodeTime ...... 561 Numb2Dec...... 510 SarLongInt...... 368 RecodeYear...... 558 Numb2USA...... 510 SarShortInt...... 368 Rect ...... 588 SarSmallInt...... 368 RedirectFixupReferences ...... 588 O ScanDateTime ...... 571 RegisterClass ...... 588 ObjectBinaryToText ...... 587 SearchBuf...... 513 RegisterClassAlias...... 589 ObjectResourceToText ...... 587 SecondOf...... 526 RegisterClasses ...... 589 ObjectTextToBinary ...... 587 SecondOfTheDay...... 537 RegisterComponents ...... 589 ObjectTextToResource ...... 587 SecondOfTheHour...... 537 RegisterFindGlobalComponentProc...... 589 OctStr...... 356 SecondOfTheMinute...... 538 RegisterInitComponentHandler...... 589 Odd ...... 357 SecondOfTheMonth...... 535 RegisterIntegerConsts...... 589 Ofs...... 357 SecondOfTheWeek...... 536 RegisterNoIcon ...... 590 Operatoren...... 387 SecondOfTheYear...... 533 RegisterNonActiveX ...... 590 Ord ...... 357 SecondsBetween...... 547 ReleaseExceptionObject...... 363 OutOfMemoryError...... 497 SecondSpan...... 551 RemoveDir...... 454 Seek...... 369 RemoveFixupReferences...... 590 P SeekEoF...... 369 RemoveFixups ...... 590 SeekEoLn...... 369 Pack ...... 358 RemoveLeadingChars...... 512 Seg ...... 370 PadCenter...... 510 RemovePadChars ...... 512 SetCurrentDir ...... 455 PadLeft...... 511 RemoveTrailingChars...... 512 SetDirSeparators ...... 455 PadRight ...... 511 Rename ...... 363 SetJmp...... 370 ParamCount...... 358 RenameFile...... 454 SetLength...... 371 ParamStr...... 358, 398 ReplaceDate...... 439 SetMemoryMananager...... 371 Pi...... 358 ReplaceTime ...... 439 SetResourceManager...... 371 Point...... 588 Reset ...... 363 SetResourceStrings...... 399 PointsEqual...... 588 ResetResourceTables...... 399 SetResourceStringValue...... 400 Pos ...... 359 ResourceStringCount...... 399 SetString ...... 371 PosEx ...... 511 ResourceStringTableCount...... 399 SetTextBuf ...... 372 PosSet...... 511 Ressourcenstrings ...... 500 SetTextLineEnding...... 373 PosSetEx...... 511 ResumeThread...... 364 SetThreadManager...... 373 Pred...... 359 ReverseString...... 512 SetUnicodeStringManager...... 373 Prefetch ...... 360 Rewrite...... 365 SetUnitResourceStrings ...... 400 PreviousDayOfWeek...... 525 RightBStr...... 512 SetVariantManager ...... 373 Ptr...... 360 RightStr ...... 478 SetWideStringManager ...... 373 RightStr ...... 512 Funktionen, Klassen, Schalter 765

ShortCompareText ...... 374 StrPos ...... 485 TCustomMemoryStream...... 637 ShowException...... 497 StrRScan...... 485 TDataModule...... 639 Sin...... 374 StrScan ...... 485 TDateTime...... 433 SizeOf ...... 374 StrToBool ...... 423 TextToFloat ...... 428 SizeOfResource...... 374 StrToBoolDef...... 423 TFiler...... 641 Sleep ...... 490 StrToCurr ...... 423 TFileStream ...... 642 SmallPoint...... 590 StrToCurrDef...... 423 TFPList...... 643 SoundEx ...... 513 StrToDate...... 423 TFPListEnumerator...... 648 SoundexCompare ...... 514 StrToDateDef ...... 424 THandleStream ...... 648 SoundexInt...... 515 StrToDateTime ...... 424 ThreadGetPriority...... 380 SoundexProc...... 515 StrToDateTimeDef...... 425 ThreadSetPriority ...... 380 SoundexSimilar...... 515 StrToFloat ...... 425 ThreadSwitch...... 380 SoundexWord...... 515 StrToFloatDef...... 426 Time...... 439 Space ...... 374 StrToInt ...... 426 TimeOf ...... 519 SPtr...... 374 StrToInt64...... 426 TimeStampToDateTime...... 439 Sqr...... 375 StrToInt64Def ...... 427 TimeStampToMSecs...... 440 Sqrt...... 375 StrToIntDef...... 427 TimeToStr...... 429 SScanf...... 464 StrToQWord ...... 427 TInterfacedObject ...... 389 SSeg...... 375 StrToQWordDef...... 427 TInterfacedPersistent ...... 650 StartClassGroup...... 590 StrToTime ...... 427 TInterfaceList ...... 650 StartOfADay...... 531 StrToTimeDef...... 428 TInterfaceListEnumerator ...... 653 StartOfAMonth ...... 528 StrUpper ...... 486 TList ...... 654 StartOfAWeek ...... 530 StuffString...... 515 TListEnumerator...... 659 StartOfAYear...... 527 Succ ...... 377 TMemoryStream...... 659 StartOfTheDay ...... 530 Supports ...... 492 TMultiReadExclusiveWriteSynchronizer.....498 StartOfTheMonth...... 528 SuspendThread ...... 377 TObject...... 390 StartOfTheWeek...... 529 Swap...... 377 Today...... 524 StartOfTheYear ...... 527 SwapEndian...... 378 Tomorrow...... 524 Str...... 375 SysAllocMem ...... 378 TOwnedCollection...... 661 StrAlloc...... 478 SysAssert ...... 378 TOwnerStream...... 661 StrBufSize...... 479 SysBackTraceStr...... 378 TParser ...... 662 StrByteType...... 479 SysErrorMessage...... 465 TPersistent ...... 667 StrCat ...... 479 SysFlushStdIO ...... 378 TProxyStream ...... 668 StrCharLength...... 480 SysFreemem ...... 378 TReader ...... 669 StrComp...... 480 SysFreememSize...... 378 TRecall...... 675 StrCopy ...... 480 SysGetFPCHeapStatus ...... 378 TResourceStream ...... 677 StrDispose...... 480 SysGetHeapStatus...... 379 Trim...... 465 StrECopy ...... 480 SysGetmem...... 379 TrimLeft ...... 466 StrEnd...... 481 SysInitExceptions...... 379 TrimLeftSet...... 516 StrFmt ...... 464 SysInitFPU ...... 379 TrimRight...... 466 StrIComp...... 481 SysInitStdIO...... 379 TrimRightSet ...... 516 StringOfChar ...... 376 SysMemSize...... 379 TrimSet...... 516 StringReplace ...... 482 SysReAllocMem...... 379 Trunc...... 380 StringsReplace...... 515 SysResetFPU...... 379 Truncate ...... 380 StringToGUID...... 492 SysSetCtrlBreakHandler ...... 379 TryEncodeDate...... 429 StringToPPChar ...... 376 SystemTimeToDateTime ...... 439 TryEncodeDateDay ...... 557 StringToUnicodeChar ...... 376 SysTryResizeMem ...... 380 TryEncodeDateMonthWeek ...... 558 StringToWideChar...... 377 TryEncodeDateTime...... 555 StrLCat ...... 482 T TryEncodeDateWeek...... 556 StrLComp ...... 482 Tab2Space...... 516 TryEncodeDayOfWeekInMonth...... 568 StrLCopy ...... 483 TAbstractObjectReader...... 598 TryEncodeTime ...... 429 StrLen...... 377 TAbstractObjectWriter ...... 604 TryEncodeTimeInterval...... 568 StrLen...... 483 TAggregatedObject...... 389 TryEnterCriticalsection...... 381 StrLFmt ...... 465 TBasicAction ...... 606 TryFloatToCurr ...... 429 StrLIComp ...... 483 TBinaryObjectReader...... 610 TryJulianDateToDateTime...... 570 StrLower...... 483 TBinaryObjectWriter...... 614 TryModifiedJulianDateToDateTime ...... 570 StrMove ...... 484 TBits...... 617 TryRecodeDateTime ...... 562 StrNew...... 484 TCollection...... 622 TryStringToGUID...... 430 StrNextChar ...... 484 TCollectionEnumerator...... 626 TryStrToBool ...... 430 StrPas...... 377 TCollectionItem ...... 626 TryStrToCurr...... 430 StrPas...... 484 TComponent ...... 628 TryStrToDate...... 430 StrPCopy...... 485 TComponentEnumerator...... 636 TryStrToDateTime...... 431 StrPLCopy ...... 485 TContainedObject...... 389 TryStrToFloat...... 431 766 Funktionen, Klassen, Schalter

TryStrToInt...... 431 WideCharLenToString ...... 385 Bedingte Kompilation (MACPAS) ...... 741 TryStrToInt64 ...... 431 WideCharLenToStrVar...... 385 Beginn eines Else-Blocks...... 741 TryStrToQWord...... 431 WideCharToString ...... 385 Bereichsprüfung...... 726 TryStrToTime...... 432 WideCharToStrVar...... 385 Bitpacking ...... 720 TSimpleRWSync...... 499 WideCompareStr...... 486 Blockanfang (MACPAS)...... 742 TStream...... 677 WideCompareText ...... 486 Blockende (MACPAS) ...... 742 TStreamAdapter...... 684 WideFmtStr...... 486 Blockende ...... 742 TStringList ...... 687 WideFormat ...... 487 Browser-Informationen hinzufügen...... 737 TStrings ...... 690 WideFormatBuf...... 487 C-ähnliche Operatoren erlauben ...... 724 TStringsEnumerator ...... 701 WideLowerCase ...... 487 Code-Ausrichtung (Alignment) ...... 720 TStringStream ...... 702 WideSameStr...... 487 Compiler-Einstellungen speichern...... 740 TTextObjectWriter...... 703 WideSameText...... 487 Compilereinstellungen wiederherstell. ..740 TThread...... 704 WideStringToUCS4String...... 385 Compilerinformationen einfügen...... 714 TThreadList...... 706 WideUpperCase...... 487 Compiler-Kompatibilitätsmodus ...... 731 TWriter ...... 708 WithinPastDays ...... 541 Datei einbinden ...... 714 WithinPastHours...... 541 Datenausrichtung...... 719 U WithinPastMilliSeconds ...... 543 Debugsymbole einfügen...... 731 UCS4StringToUnicodeString ...... 381 WithinPastMinutes...... 542 Default-Interfacetyp...... 731 UCS4StringToWideString...... 381 WithinPastMonths...... 539 Definition eines Symbols ...... 740 Unassigned...... 381 WithinPastSeconds ...... 542 Delphi-Schalter ...... 727 UnhookSignal...... 490 WithinPastWeeks...... 540 DLL-Version...... 729 UnicodeCharLenToString ...... 381 WithinPastYears ...... 539 Ebene-2-Optimierung ...... 726 UnicodeCharLenToStrVar...... 381 WordCount...... 516 Ein- und Ausgabeüberprüfung...... 713 UnicodeCharToString...... 381 WordPosition ...... 516 Erweiterte Funktionssyntax...... 736 UnicodeCharToStrVar ...... 382 WrapText ...... 466 Fehlermeldung ...... 749 UnicodeStringToUCS4String ...... 382 Write...... 385 Genauigkeit d. Gleitkommakonstante....717 UnicodeToUtf8 ...... 382 WriteBarrier ...... 386 Generieren kritischer Fehler ...... 750 UniqueString...... 382 WriteComponentResFile ...... 591 Goto und Label aktivieren...... 724 UnixTimeStampToMac...... 571 WriteLn...... 386 Größe von Sets ...... 721 UnixToDateTime...... 570 WriteStr...... 386 Hinweis Ausgeben...... 749 UnlockResource ...... 382 Hinweise aktivieren ...... 749 Unpack...... 382 X Include-Verzeichnisse...... 729 UnRegisterClass...... 590 XorDecode...... 516 Informationen zu lokalen Symbolen ...... 736 UnRegisterClasses...... 590 XorEncode ...... 517 Informationen...... 749 UnregisterFindGlobalComponentProc...591 XorString ...... 517 Inline-Code aktivieren...... 722 UnRegisterModuleClasses ...... 591 Intel-MMX-Technologie aktivieren ...... 717 UpCase ...... 383 Y Keinen Finalisierungscode schreiben.....724 UpperCase...... 486 YearOf...... 525 Koprozessor emulieren ...... 736 UTF8Decode...... 383 YearsBetween...... 544 Koprozessor-Typ auswählen ...... 717 UTF8Encode ...... 383 YearSpan ...... 548 Kritischer Fehler...... 750 Utf8ToAnsi...... 383 Yesterday ...... 524 Makros aktivieren...... 725 Utf8ToUnicode ...... 383 Max. FPU-Register für Variablen ...... 717 Min.-/Max.-größe d. Aufzählungstyps...721 V Minimale Größe von Aufzählungen...... 721 Val...... 384 Schalter Modusumschaltung...... 733 VarArrayGet...... 384 80286-Code schreiben ...... 736 Nachrichten/Meldungen...... 749 VarArrayPut...... 384 An eine Bibliothek linken...... 715 Name des Einsprungspunkts ...... 735 VarArrayRedim...... 384 Anfang der bedingten Kompilierung...... 742 Neuer ELSE-Zweig ...... 741 VarCast ...... 385 Anfang der bedingten Kompilierung...... 742 Notiz ...... 749 Variablen...... 395 Angabe der Bibliotheksverzeichnisse ... 729 Notizen aktivieren ...... 749 Variablen...... 412 AnsiStrings aktivieren...... 718 Objekt prüfen ...... 725 Variablen...... 582 Anwendungsbeschreibung...... 736 Objektdatei einbinden...... 715 VendorName...... 492 Applikationskennung...... 727 Offene Strings erlauben/verbieten...... 734 Applikationsname ...... 727 Optimierungen erlauben...... 725 W Art der Anwendung ...... 727 PIC-Code schreiben...... 735 WaitForThreadTerminate ...... 385 Assemblerformat ...... 722 Profiling ...... 735 WeekOf...... 526 Assembler-Modus ...... 722 Prüfen auf Stacküberlauf...... 735 WeekOfTheMonth...... 534 Auf Betätig. d. Eingabetaste warten..... 750 Prüfungen mit Assert...... 723 WeekOfTheYear ...... 532 Auf Framework linken...... 715 Quellcodepage setzen ...... 728 WeeksBetween...... 545 Auf Integer-Überläufe prüfen...... 726 Rechenoperationen...... 737 WeeksInAYear...... 522 Aufrufkonvention festlegen...... 723 Recordelemente packen ...... 719 WeeksInYear ...... 522 Ausgabeformat ...... 722 Ressource einbinden ...... 716 WeekSpan...... 549 Ausrichtung von Recordfeldern...... 721 Sättigungsarithmetik ...... 718 Funktionen, Klassen, Schalter 767

Schlüsselwort Static zulassen ...... 726 Symbol definieren u. Wert zuweisen.....741 Var-Strings überprüfen...... 718 Schwache Unitpakete ...... 737 Symboldefinition aufheben ...... 743 Vollständige boolesche Auswertung..... 723 Smartlinking...... 735 Threads zulassen...... 736 Voreingestellte Aufrufkonvention ...... 730 Speichergröße von Heap und Stack ...... 731 Turbo-Pascal-Schalter...... 727 Warnhinweis generieren...... 750 Stackframes anlegen...... 727 Typinformationen schreiben ...... 716 Warnungen aktivieren...... 750 Suchpfade für Objektdateien ...... 730 Typisierte Konstanten erlauben ...... 724 Zeigerwerte prüfen...... 723 Suchpfade für Units...... 730 Typisierter Adreßoperator @...... 726