Software-Entwicklung mit Delphi Eine systematische Einführung Bearbeitet von Dieter Orlamünder, Rüdiger Liskowsky, Heinrich Hußmann 1. Auflage 2002. Taschenbuch. 296 S. Paperback ISBN 978 3 446 22088 1 Format (B x L): 16 x 22,7 cm Gewicht: 502 g Zu Leseprobe schnell und portofrei erhältlich bei Die Online-Fachbuchhandlung beck-shop.de ist spezialisiert auf Fachbücher, insbesondere Recht, Steuern und Wirtschaft. Im Sortiment finden Sie alle Medien (Bücher, Zeitschriften, CDs, ebooks, etc.) aller Verlage. Ergänzt wird das Programm durch Services wie Neuerscheinungsdienst oder Zusammenstellungen von Büchern zu Sonderpreisen. Der Shop führt mehr als 8 Millionen Produkte.
CARL HANSER VERLAG Dieter Orlamünder, Rüdiger Liskowsky, Heinrich Hußmann Software-Entwicklung mit Delphi Eine systematische Einführung 3-446-22088-7 www.hanser.de
Inhaltsverzeichnis 1 Software-Entwicklungsumgebung Delphi... 13 1.1 Aufbau und Inhalt von Software-Entwicklungsumgebungen... 13 1.1.1 GrundwerkzeugederSoftware-Entwicklung... 13 1.1.2 ÜbersichtüberProgrammiersprachenund-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 BedienelementederBenutzungsoberfläche... 22 1.2.2 FormularDesigner... 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 RapidPrototyping... 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 Komponentenbibliothek VCL... 40 1.3.1 AufbauderKlassenbibliothek... 40 1.3.2 BeschreibungwichtigerKomponenten... 42 1.3.3 Übungen... 49 1.4 Struktur eines Delphi-Projekts... 49 1.4.1 EinzelbestandteileeinesDelphi-Projekts... 49 1.4.2 ErzeugeneinesAnwendungsprojekts... 51 1.4.3 Übungen... 52 1.5 Beispiel einer einfachen Anwendung... 52 1.5.1 AnalysederAufgabenstellung... 52 1.5.2 SchrittederAufgabenlösung... 53 1.5.3 Übungen... 60 2 Strukturierte Software-Entwicklung... 61 2.1 Grundlagen der Softwaretechnologie... 61 2.1.1 PhasenmodellederSoftware-Entwicklung... 61 2.1.2 Softwarequalität... 62 2.1.3 Softwarekosten... 62 2.1.4 PrinzipienderSoftwaretechnologie... 62 2.1.5 MethodenderSoftwaretechnologie... 64 2.1.6 WerkzeugederSoftwaretechnik... 65 2.1.7 Übungen... 65
Inhaltsverzeichnis 9 2.2 Strukturierter Entwurf von Algorithmen (SEA)... 66 2.3 Elementarstrukturblöcke (ESB) mit Umsetzung in Object Pascal... 67 2.3.1 GrundstrukturenAlternative,Selektionbzw.Fallauswahl... 68 2.3.2 GrundstrukturenfürZyklen(Wiederholungen)... 69 2.3.3 Beispiel Summenbildung für den Induktionszyklus (Zählzyklus).. 70 2.3.4 BeispielNewton-VerfahrenfürdenIterationszyklus... 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 Zahlendarstellung... 79 3.1.1 Zahlensysteme... 80 3.1.2 InterneZahlendarstellung... 81 3.1.3 Übungen... 83 3.2 Lexikalische Elemente in Object 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 DefinitionvonDatentypen... 89 3.4.2 TypklasseninObjectPascal... 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 ArithmetischeAusdrückeundErgibtanweisungen... 100 3.7.2 Zeichenketten-AusdrückeundErgibtanweisungen... 102 3.7.3 LogischeAusdrückeundErgibtanweisungen... 103 3.7.4 VergleichvonarithmetischenAusdrücken... 103 3.7.5 VergleichvonZeichenketten... 104 3.7.6 Übungen... 105 3.8 Standardfunktionen und -prozeduren... 105 3.8.1 ArithmetischeRoutinen... 106 3.8.2 RoutinenderUnitMath(Auszug)... 107 3.8.3 RoutinenfürdieSteuerungdesProgrammlaufs... 107 3.8.4 RoutinenfürdieKonvertierung... 108 3.8.5 RoutinenfürdieStringverarbeitung... 110 3.8.6 RoutinenfürdieBehandlungordinalerDaten... 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 EinfacheAnweisungen... 117 4.1.2 StrukturierteAnweisungen... 117 4.1.3 StandardprozedurenBreak,Continue,ExitundHalt... 131 4.1.4 ProjektTRÄ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 Klasse TCanvas im Überblick... 136 4.2.3 MethodenderKlasseTCanvas... 137 4.2.4 EigenschaftenderKlasseTCanvas... 142 4.2.5 ProjektBEISPIELBILD... 145 4.2.6 ProjektKOORDINATENTRANSFORMATION... 147 4.2.7 ProjektVIERGELENKGETRIEBE... 150 4.2.8 ProjektFORMELINTERPRETER... 151 4.2.9 ProjektBARNSLEYFARN... 152 4.2.10 ProjektTRÄGER3... 153 4.2.11 Übungen... 154 4.3 Unterprogrammtechnik... 156 4.3.1 Einführung... 156 4.3.2 DeklarationvonUnterprogrammen... 158 4.3.3 AufrufvonUnterprogrammen... 163 4.3.4 ProjektMATRIZENMULTIPLIKATION... 166 4.3.5 ProjektAUSGLEICHSGERADE... 168 4.3.6 ProjektNUMERISCHE_INTEGRATION_1... 170 4.3.7 RekursiveUnterprogramme... 172 4.3.8 ErweiterungenderUnterprogrammtechnik... 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,ImplementierungundNutzungvonUnits... 180 4.5.3 ProjektNUMERISCHE_INTEGRATION_2... 181 4.5.4 Projekt DIFFERENZIALGLEICHUNGEN... 182 4.5.5 ProjektKURVENDARSTELLUNGEN... 184 4.5.6 ProjektFOURIERTRANSFORMATION... 188 4.5.7 Übungen... 190 4.6 Strukturierte Datentypen von Object Pascal... 190 4.6.1 DatentypSet... 190 4.6.2 ProjektZAHLENLOTTO... 192
Inhaltsverzeichnis 11 4.6.3 DatentypRecord... 193 4.6.4 ProjektGRUPPENLISTE... 194 4.6.5 DatentypFile... 196 4.6.6 ProjektDATEIARBEIT... 198 4.6.7 DatentypVariant... 199 4.6.8 Übungen... 200 4.7 Programmierung mit Pointern... 200 4.7.1 StatischeunddynamischeVariable... 200 4.7.2 Zeigervariable... 201 4.7.3 Listen... 203 4.7.4 ProjektLINEAR_VERKETTETE_LISTE... 207 4.7.5 Bäume... 207 4.7.6 Übungen... 208 5 Objektorientierte Programmierung mit Object Pascal... 209 5.1 Klassen und Objekte... 210 5.1.1 GrundkonzeptederObjektorientierung... 210 5.1.2 SyntaxfürKlassenundObjekteinObjectPascal... 212 5.1.3 KonstruktorenundDestruktoren... 215 5.1.4 ProjektOOP_DEMO1... 216 5.1.5 Übungen... 219 5.2 Vererbung und Polymorphie... 219 5.2.1 Vererbung... 219 5.2.2 PolymorphieunddynamischeBindung... 223 5.2.3 ProjektOOP_DEMO2... 227 5.2.4 Übungen... 230 5.3 Fortgeschrittene Konzepte der Objektorientierung... 231 5.3.1 Zugriffsrechte... 231 5.3.2 AbstrakteKlassenundMethoden... 233 5.3.3 ProjektBAUTEILE... 234 5.3.4 Eigenschaften(Properties)... 237 5.3.5 ProjektKREISEIGENSCHAFTEN... 238 5.3.6 Übungen... 241 5.4 Delphi-Komponenten... 242 5.4.1 Einordnung... 242 5.4.2 KomponenteGETRIEBE... 243 5.4.3 KomponenteERZEUGUNGSDATUM... 246 5.4.4 ProjektSCHUBKURBELGETRIEBE... 251 5.4.5 Übungen... 252 6 Datenbankprogrammierung unter Delphi... 253 6.1 Einführung... 253 6.1.1 ZweckundGeschichtevonDatenbanksystemen... 253 6.1.2 TheoretischeGrundlagen... 254 6.1.3 Grundkonzepte des relationalen Datenbanksystems Paradox..... 255
12 Inhaltsverzeichnis 6.2 Nutzung des Werkzeugs Datenbankoberfläche... 257 6.2.1 EinsatzzweckderDatenbankoberfläche... 257 6.2.2 BeispieltabelleSTAHLSORTEN... 257 6.2.3 Übungen... 260 6.3 Datenbanksprache SQL... 261 6.3.1 DefinitionundÜbersicht... 261 6.3.2 AnwendungvonSQLmitDelphi... 262 6.4 Programmierung mit Delphi-Datenbank-Komponenten... 263 6.4.1 ÜbersichtüberausgewählteDatenbank-Komponenten... 263 6.4.2 DieKomponenten-Pipeline... 267 6.4.3 ProjektTABELLENANZEIGE... 268 6.4.4 ProjektTABELLENNAVIGATOR... 270 6.4.5 ProjektSTAHLDB... 271 6.4.6 ÜbersichtüberausgewählteQuickReport-Komponenten... 273 6.4.7 ProjektSTAHLREPORT... 274 6.4.8 Übungen... 275 6.5 Arbeit mit mehreren Datenbanktabellen... 275 6.5.1 BeispieltabelleNORMEN... 275 6.5.2 VerknüpfenvonTabelleninderDatenbankoberfläche... 276 6.5.3 ProjektDINSTAHL... 277 6.5.4 Übungen... 280 Literaturverzeichnis... 281 Sachwortverzeichnis... 283