Vorwort 1 Einführung in das Programmieren mit Clipper 3 1.1 Kapitel 1 im Überblick 3 1.2 Was kann Clipper? 4 1.3 Was leistet ein Compiler? 5 1.4 Wie Clipper kompiliert 6 1.4.1 Compilerschalter 7 1.4.2 Scriptdateien 9 1.4.3 Fehler beim Kompilieren 9 1.5 Linken 12 1.5.1 PLINK86 14 1.5.2 MS LINK 20 1.5.3 TLINK 22 1.5.4 RTLink 23 1.5.5 MAP-Dateien 34 1.6. Die Installierung von Clipper 36 1.6.1 Clipper-Version Sommer 87 36 1.6.2 Die Installierung von Clipper 5.01 38 1.6.3 Die Clipper-Umgebung 39 1.6.4 Batch-Dateien zum Kompilieren und Linken 44 1.7 Hilfen für Clipper-Entwickler 46 2 Programmieren in Clipper 51 2.1 Kapitel 2 im Überblick 51 2.2 Die Clipper-Sprache 51 2.2.1 Softwareentwicklung in Clipper 54 2.3 Eine kleine Grammatik der Clipper-Sprache 62 2.3.1 Konstanten 63 2.3.2 Variablen 65 2.3.3 Ausdrücke 81 2.3.4 Umwandlung von Datentypen 84 2.3.5 Clipper-Anweisungen zur Steuerung des Programmflusses 85 V VII http://d-nb.info/920000029
VIII 3 Die erste Datenbank 95 3.1 Kapitel 3 im Überblick 95 3.2 Die erste Datenbank 95 3.3 Datenbank-Definition unter Clipper 96 3.4 Erzeugen einer Datenbankdatei 98 3.5 Öffnen einer Datenbank 104 3.6 Gleichzeitiges Öffnen mehrerer Datenbanken 106 3.7 Eingabe von Daten 108 3.8 Ausgabe von Daten 125 3.9 Ordnung in der Datenbank - Sortieren und Indizieren 136 3.10 Blättern, Suchen und Finden in einer Datenbank 142 3.11 Datensätze löschen 150 3.12 Verbindungen zwischen Datenbanken 153 3.13 Ein erstes Datenbankprogramm 172 4 Weitergehende Datenbankanwendungen 193 4.1 Kapitel 4 im Überblick 193 4.2 Berichte - REPORTS 194 4.2.1 Der Reportgenerator RL.EXE 194 4.2.2 Der REPORT-Befehl 197 4.2.3 Berichte nach Maß - Lösungen in Clipper 200 4.3 LABEL 214 4.3.1 Erstellung der Labeldatei 214 4.3.2 Der Befehl LABEL 217 4.3.3 LABEL und UDF 219 4.4 Einfache statistische Auswertungen 225 4.5 Komplexe Auswertungen 230 4.6 Import und Export von Daten 234 4.6.1 Datenexport 234 4.6.2 Datenimport 238 5 Prozeduren und Funktionen 243 5.1 Kapitel 5 im Überblick 243 5.2 Prozeduren 244 5.2.1 Einfache Prozeduren 244 5.3 Funktionen 255 5.3.1 Funktionen mit Rückgabewert 255 5.3.2 Funktionen ohne Rückgabewert 256 5.3.3 Übergabe von Parametern an Funktionen 257 5.3.4 Übergabe von Funktionen als Parameter an andere Funktionen 258 5.4 Benutzerdefinierte Funktionen (UDFs) 258 5.4.1 User Defined Functions in Clipper 259 5.4.2 UDFs in Assembler 272 5.4.3 UDFs in C 300
IX 6 Fortgeschrittene Programmiertechniken 319 6.1 Kapitel 6 im Überblick 319 6.2 Variablen für Fortgeschrittene 320 6.2.1 Speichern von Variablen 321 6.3 Arrays 322 6.3.1 Deklaration von Arrays 323 6.3.2 Manipulation von Array-Elementen 324 6.4 Makros 332 6.5 Makros in Arrays 337 6.6 Komplexe Clipper-Funktionen 338 6.6.1 Auswahl mit ACHOICE() 338 6.6.2 MEMOEDIT() - Textverarbeitung mit Clipper 348 6.7 Die Kontrolle der Tastatur 372 6.7.1 Befehle und Funktionen 372 6.7.2 Beispiele für die Kontrolle der Tastatureingaben 374 6.8 Die Bildschirmkontrolle 379 6.8.1 Befehle und Funktionen zur Bildschirmkontrolle 379 6.8.2 Einstellung der Bildschirmfarben 384 6.8.3 Interaktive Einstellung der Bildschirmfarben 387 6.9 Der Clipper-Debugger (Sommer 87) 392 6.10 Die Behandlung von Laufzeitfehlern (Clipper Sommer 87) 396 6.11 Clipper und Drucker 405 6.11.1 Ansteuerung des Druckers über Clipper 407 6.11.2 Behandlung von Drucker-Fehlermeldungen 410 6.11.3 Druckeransteuerung aus Clipper-Programmen 418 6.11.4 Maßgeschneiderte Druckerausgabe in Clipper 423 6.12 Clipper im Netzwerk 444 6.13 Low-Level-Dateizugriffe 448 6.13.1 Clipper-Funktionen für Low-Level-Dateizugriffe 449 6.13.2 Ein Beispiel für Low-Level-Dateizugriffe - Auslesen von MEM-Dateien 451 6.13.3 Darstellung von MEM-Dateien über Low-Level- Dateifunktionen 453 6.13.4 Darstellung von.lbl-dateien über Low-Level- Dateifunktionen 457 6.14 Menüs 460 6.15 Die Clipper-Hilfefunktion 482 6.15.1 Fest programmierte Hilfetexte 483 6.15.3 Speichern von Hilfetexten in einer dbase-datei 484 7 Clipper Tools 487 7.1 Kapitel 7 im Überblick 487 7.2 Nantucket Tools II 488 7.2.1 Mit Clipper Online - Modem-Funktionen 489 7.3 Grafik mit Clipper - die dge-tools 511
X 7.4 Brief / dbbrief 517 7.5 Ein Tool für die Dokumentation - CLEAR for dbase 523 8 Neues bei Clipper 5.01 529 8.1 Kapitel 8 im Überblick 529 8.2 Was ist anders bei Clipper 5.01? 530 8.2.1 Mehrdimensionale Arrays 530 8.2.2 Änderungen bei Variablen 530 8.2.3 Neue Datentypen 531 8.2.4 Mehr Operatoren 531 8.2.5 Kommentarzeichen 533 8.2.6 Evaluierung von Makros in Clipper 5.01 533 8.2.7 Änderungen bei Funktionen/Procedures 533 8.3 Was ist neu bei Clipper 5.01? 534 8.3.1 Der Preprozessor 534 8.3.2 Codeblöcke 540 8.3.3 User Defined Commands (UDC) 550 8.3.4 Das neue GET-System 568 8.3.5 Datendarstellung in Tabellen - Die Klassen TBrowse und TBColumn 579 8.3.6 Fehlern auf der Spur - das Fehlerobjekt 594 8.3.7 Der neue Linker RTLink 605 8.3.8 Mitgelieferte Programme 606 Die Anhänge 625 1 Clipper-Befehle und -Statements 631 2 Clipper-Funktionen 625 3 Klassen, Export-Instanzvariablen und Exportmethoden 644 a) Die Fehler-Klasse 641 b) Die Get-Klasse 642 c) Die TBColumn-Klasse 644 d) Die TBrowse-Klasse 644 4 Liste reservierter Wörter und Funktionen 647 a) Reservierte Wörter in Clipper Sommer 87 und PLINK86 647 b) Reservierte Wörter und Funktionen in Clipper 5.01 648 5 Compiler-Optionen 649 6 INKEYO-Rückgabewerte 651 1) Funktionstasten 651 2) Cursortasten und Sondertasten 652 3) Alle anderen Tasten 652
XI 7 RMAKE 653 RMAKE-Direktiven 653 RMAKE-Makros 654 RMAKE-Optionen 654 8 Interaktive Debugger-Befehle 655 9 Environment-Variablen 657 10 Nantucket Toolbox II 659 Window-Funktionen (22) 659 Treiber-Funktionen (51) 660 Funktionen für die serielle Schnittstelle (40) 663 String-Funktionen (87) 665 Numerische Funktionen (29) 669 Video-Funktionen (59) 670 Funktionen für Diskette/Festplatte (50) 673 Drucker-Funktionen (15) 675 DATUM (27) 676 Datenbank-Funktionen (8) 677 Schalter-Funktionen (25) 678 Funktionen mit System-Informationen (24) 679 Verschiedene Funktionen (22) 680 Netzwerk-Funktionen (44) 681 Mathematische Funktionen (23) 684 PEEK/POKE-Funktionen (9) 685 GET/READ-Funktionen (11) 685 11 Escape-Sequenzen für den Drucker 687 Allgemeine Steuerbefehle 687 Formatierungs-Befehle 689 Schrift-Befehle 689 Befehle zur Steuerung des Druckkopfes und des Druckerpuffers 691 12 Hayes-Befehle für die Modem-Ansteuerung 693 13 Kommandos von dbrief 695 14 Befehle und Funktionen der dge-tools 699 15 ASCII-Tabelle 703 16 Wichtige Anschriften 705 Index 707