Software-Entwicklung mit Delphi Eine systematische Einführung von Dieter Orlamünder, Rüdiger Liskowsky und Heinrich Hußmann mit 170 Bildern und 102 Übungen Fachbuchverlag Leipzig im Carl Hanser Verlag
Inhaltsverzeichnis 1 Software-Entwicklungsumgebung Delphi..................... 13 1.1 Aufbau und Inhalt von Software-Entwicklungsumgebungen.......... 13 1.1.1 Grundwerkzeuge der Software-Entwicklung, 13 1.1.2 Übersicht über Programmiersprachen und -techniken 15 1.1.3 Charakteristik der Software-Entwicklungsumgebung Delphi 20 1.1.4 übungen 22 1.2 Einzelwerkzeuge von Delphi................................... 22 1.2.1 Bedienelemente der Benutzungsoberfläche................... 22 1.2.2 Formular Designer..................................... 25 1.2.3 Objektinspektor 27 1.2.4 Quelltext-Editor... 29 1.2.5 Bild-Editor... 31 1.2.6 Package-Editor... 31 1.2.7 Klassen-Browser... 33 1.2.8 Datenbank-Anbinder... 33 1.2.9 Rapid Prototyping 34 1.2.10 Compiler 35 1.2.11 Debugger 36 1.2.12 Testhilfe 37 1.2.13 Hilfe-Tool... 38 1.2.14 übungen 40 1.3 Nutzung der KomponentenbibliothekVCL........................ 40 1.3.1 Aufbau der Klassenbibliothek............................. 40 1.3.2 Beschreibung wichtiger Komponenten 42 1.3.3 übungen 49 1.4 Struktur eines Delphi-Projekts................................. 49 1.4.1 Einzelbestandteile eines Delphi-Projekts..................... 49 1.4.2 Erzeugen eines Anwendungsprojekts 51 1.4.3 Übungen 52 1.5 Beispiel einer einfachen Anwendung............................. 52 1.5.1 Analyse der AufgabensteIlung............................. 52 1.5.2 Schritte der Aufgabenlösung.............................. 53 1.5.3 Übungen 60 2 Strukturierte Software-Entwicklung......................... 61 2.1 Grundlagen der Softwaretechnologie 61 2.1.1 Phasenmodelle der Software-Entwicklung 61 2.1.2 Softwarequalität....................................... 62 2.1.3 Softwarekosten........................................ 62 2.1.4 Prinzipien der Softwaretechnologie 62 2.1.5 Methoden der Softwaretechnologie 64 2.1.6 Werkzeuge der Softwaretechnik 65 2.1.7 übungen 65
Inhaltsverzeichnis 9 2.2 Strukturierter Entwurfvon Algorithmen (SEA)..... 66 2.3 Elementarstrukturblöcke (ESB) mit Umsetzung in Object Pascal, 67 2.3.1 Grundstrukturen Alternative, Selektion bzw. Fallauswahl........ 68 2.3.2 Grundstrukturen für Zyklen (Wiederholungen), 69 2.3.3 Beispiel Summenbildung für den Induktionszyklus (Zählzyklus).. 70 2.3.4 Beispiel Newton-Verfahren für den Iterationszyklus 72 2.3.5 Übungen 75 2.4 Empfehlungen für den strukturierten Entwurf..................... 76 2.5 Vor- und Nachteile der SEA-Beschreibungsmittel................... 77 2.5.1 Übungen 78 3 Prozedurale Programmierung mit Object Pascal............... 79 3.1 Interne Zeichen- und ZahlendarsteIlung.......................... 79 3.1.1 Zahlensysteme... 80 3.1.2 Interne ZahlendarsteIlung 81 3.1.3 übungen 83 3.2 Lexikalische Elemente inobject Pascal........................... 83 3.2.1 Übungen 86 3.3 Syntaxbeschreibung einer Programmiersprache.................... 86 3.3.1 übungen 88 3.4 Typklassen und Wertebereiche in Object Pascal.................... 89 3.4.1 Definition von Datentypen............................... 89 3.4.2 Typklassen in Object Pascal 89 3.4.3 übungen 92 3.5 Deklarationsteil............................................. 92 3.5.1 Konstantendeklaration.................................. 93 3.5.2 Typdeklaration...................................... 94 3.5.3 Variablendeklaration 94 3.5.4 Markendeklaration, 98 3.5.5 Übungen 99 3.6 Anweisungsteil.............................................. 99 3.7 Ausdrücke und Ergibtanweisungen.............................. 99 3.7.1 Arithmetische Ausdrücke und Ergibtanweisungen 100 3.7.2 Zeichenketten-Ausdrücke und Ergibtanweisungen 102 3.7.3 Logische Ausdrücke und Ergibtanweisungen 103 3.7.4 Vergleichvon arithmetischen Ausdrücken 103 3.7.5 Vergleichvon Zeichenketten 104 3.7.6 übungen 105 3.8 Standardfunktionen und -prozeduren 105 3.8.1 Arithmetische Routinen 106 3.8.2 Routinen der Unit Math (Auszug) 107 3.8.3 Routinen für die Steuerung des Programmlaufs 107 3.8.4 Routinen für die Konvertierung 108 3.8.5 Routinen für die Stringverarbeitung........................ 110 3.8.6 Routinen für die Behandlung ordinaler Daten 111
10 Inhaltsverzeichnis 3.8.7 Transferroutinen 111 3.8.8 Übungen 112 3.9 Ein- und Ausgabe in Object Pascal 113 3.9.1 übung 115 4 Anwendungsprogrammierung mit Object Pascal unter Delphi 116 4.1 Weitere Object-Pascal-Anweisungen im überblick.................. 116 4.1.1 Einfache Anweisungen 117 4.1.2 Strukturierte Anweisungen 117 4.1.3 Standardprozeduren Break, Continue, Exit und Halt 131 4.1.4 Projekt TRÄGER2 132 4.1.5 Übungen 133 4.2 Grafik-Programmierung mit Object Pascal........................ 135 4.2.1 Einführung 135 4.2.2 Methoden und Eigenschaften der KlasseTCanvas im Überblick.,. 136 4.2.3 Methoden der KlasseTCanvas 137 4.2.4 Eigenschaften der KlasseTCanvas.......................... 142 4.2.5 Projekt BElSPlELBILD.................................. 145 4.2.6 Projekt KOORDINATENTRANSFORMATION 147 4.2.7 Projekt VlERGELENKGETRlEBE 150 4.2.8 Projekt FORMELINTERPRETER 151 4.2.9 Projekt BARNSLEYFARN................................ 152 4.2.10 Projekt TRÄGER3 153 4.2.11 Übungen 154 4.3 Unterprogranuntechnik..................... 156 4.3.1 Einführung 156 4.3.2 Deklaration von Unterprogrammen 158 4.3.3 Aufrufvon Unterprogrammen 163 4.3.4 Projekt MATRlZENMULTIPLIKATION 166 4.3.5 Projekt AUSGLElCHSGERADE 168 4.3.6 Projekt NUMERISCHLINTEGRATION_1 170 4.3.7 Rekursive Unterprogramme 172 4.3.8 Erweiterungen der Unterprogrammtechnik 175 4.3.9 Übungen 178 4.4 Compiler-Befehle (Auswahl) 178 4.5 Units 179 4.5.1 Einführung 179 4.5.2 Struktur, Implementierung und Nutzung von Units..... 180 4.5.3 Projekt NUMERISCHE_INTEGRATION_2 181 4.5.4 Projekt DIFFERENZIALGLEICHUNGEN 182 4.5.5 Projekt KURVENDARSTELLUNGEN 184 4.5.6 Projekt FOURlERTRANSFORMATION..................... 188 4.5.7 Übungen 190 4.6 Strukturierte Datentypen von Object Pascal......................, 190 4.6.1 Datentyp Set 190 4.6.2 Projekt ZAHLENLOTTO 192
Inhaltsverzeichnis 11 4.6.3 Datentyp Record 193 4.6.4 Projekt GRUPPENLISTE 194 4.6.5 Datentyp File 196 4.6.6 Projekt DATEIARBEIT.................................. 198 4.6.7 Datentyp Variant 199 4.6.8 Übungen 200 4.7 Programmierung mit Pointern................................. 200 4.7.1 Statische und dynamische Variable 200 4.7.2 Zeigervariable......................................... 201 4.7.3 Listen 203 4.7.4 Projekt LINEAR_VERKETTETE_LISTE 207 4.7.5 Bäume 207 4.7.6 übungen 208 5 Objektorientierte Programmierung mit Object Pascal.......... 209 5.1 KlassenundObjekte 210 5.1.1 Grundkonzepte der Objektorientierung 210 5.1.2 Syntax für Klassen und Objekte in Object Pascal 212 5.1.3 Konstruktoren und Destruktoren 215 5.1.4 Projekt OOP_DEMOl 216 5.1.5 Übungen 219 5.2 Vererbung und Polymorphie................................... 219 5.2.1 Vererbung 219 5.2.2 Polymorphie und dynamische Bindung 223 5.2.3 Projekt OOP_DEM02 227 5.2.4 Übungen 230 5.3 Fortgeschrittene Konzepte der Objektorientierung 231 5.3.1 Zugriffsrechte 231 5.3.2 Abstrakte Klassen und Methoden 233 5.3.3 Projekt BAUTEILE 234 5.3.4 Eigenschaften (Properties) 237 5.3.5 Projekt KREISEIGENSCHAFTEN 238 5.3.6 übungen 241 5.4 Delphi-Komponenten 242 5.4.1 Einordnung... 242 5.4.2 Komponente GETRIEBE 243 5.4.3 Komponente ERZEUGUNGSDATUM...... 246 5.4.4 Projekt SCHUBKURBELGETRIEBE 251 5.4.5 übungen 252 6 Datenbankprogramrnierung unter Delphi 253 6.1 Einführung 253 6.1.1 Zweck und Geschichte von Datenbanksystemen " 253 6.1.2 Theoretische Grundlagen 254 6.1.3 Grundkonzepte des relationalen Datenbanksystems Paradox 255
12 Inhaltsverzeichnis 6.2 Nutzung des Werkzeugs Datenbankoberfläche..................... 257 6.2.1 Einsatzzweck der Datenbankoberfläche 257 6.2.2 Beispieltabelle STAHLSORTEN 257 6.2.3 übungen 260 6.3 Datenbanksprache SQL....................................... 261 6.3.1 Definition und Übersicht 261 6.3.2 Anwendung von SQL mit Delphi 262 6.4 Programmierung mit Delphi-Datenbank-Komponenten 263 6.4.1 Übersicht über ausgewählte Datenbank-Komponenten 263 6.4.2 Die Komponenten-Pipeline 267 6.4.3 Projekt TABELLENANZEIGE, 268 6.4.4 Projekt TABELLENNAVIGATOR 270 6.4.5 Projekt STAHLDB 271 6.4.6 Übersicht über ausgewählte QuickReport-Komponenten 273 6.4.7 Projekt STAHLREPORT 274 6.4.8 übungen 275 6.5 Arbeit mit mehreren Datenbanktabellen.......................... 275 6.5.1 Beispieltabelle NORMEN 275 6.5.2 Verknüpfen von Tabellen in der Datenbankoberfläche 276 6.5.3 Projekt DINSTAHL 277 6.5.4 übungen 280 Literaturverzeichnis............... 281 Sachwortverzeichnis.......................................... 283