Home
Object Pascal mit Delphi
Eine Einführung in die objektorientierte Windows-Programmierung
Springer-Verlag Berlin/Heidelberg
ISBN: 3540603409
1997. XIII, 762 S.
3-540-60340-9
EUR 49,95
Dieses Buch bietet eine systematische Einführung in die Programmierung
mit der objektorientierten Programmiersprache Object Pascal sowie eine
Darstellung der zugrundeliegenden Entwicklungsumgebung Delphi von Borland.
Dabei wird neben Delphi 1.0 auch die neue Version 2.0 berücksichtigt.
Alle Sprachkonzepte von der klassischen strukturierten bis zur objektorientierten,
visuellen Programmierung einschließlich exception handling werden
umfassend und präzise behandelt und an Beispielen illustriert. Object
Pascal umfaßt praktisch alle Sprachelemente von C++ und ist einfacher
als Visual C++.
Rückentext Vorwort
Inhaltsverzeichnis Lösungen
Buchhandlungen
Rezension im Zentralblatt für Mathematik (Fachinformationszentrum Karlsruhe FIZ)
Rückentext
Object Pascal mit Delphi
-
behandelt sowohl die 16-bit-Version 1 als auch die 32-bit-Version 2 von
Delphi, der Software-Entwicklungsumgebung von Borland.
-
ist eine umfassende Darstellung von Object Pascal, der objektorientierten
Programmiersprache von Delphi. Dabei stehen
-
Zusammenhänge und Sprachkonzepte im Vordergrund vor Detailinformationen,
die man auch in der Online-Hilfe findet.
-
ist zum Selbststudium und als Lehrbuch zur Einführung in die Programmierung
an Fachhochschulen und Universitäten geeignet.Es setzt keine Vorkenntnisse
voraus und enthält zahlreiche Übungsaufgaben und Lösungen.
-
verbindet die Darstellung der Ablaufstrukturen mit einer Einführung
in die Programmierlogik und die Programmverifikation.
-
enthält eine ausführliche, praxisorientierte Darstellung der
Konzepte und Sprachelemente der objektorientierten Programmierung. In
-
einem kleinen praxisnahen Projekt wird gezeigt, wie man diese für
die Entwicklung eines Windows-Programms einsetzen kann.
-
ist eines der ersten Lehrbücher überhaupt, das eine systematische
Einführung in die Programmierung nahtlos mit einer Einführung
-
in die objektorientierte Programmierung und in die Windows-Programmierung
verbindet.
-
enthält zahlreiche vergleichende Hinweise für C/C++-Programmierer
Richard Kaiser war über 10 Jahre freiberuflicher Dozent und
Software-Entwickler für verschiedene Firmen. Seit einigen Jahren ist
er Professor für Technische Informatik an der Berufsakademie Lörrach,
wo er vor allem Vorlesungen über Programmiersprachen (Object Pascal,
C und C++), Software-Engineering, Mathematik und Grafische Datenverarbeitung
hält.
Vorwort
Dieses Buch verbindet eine umfassende Darstellung von Object Pascal mit
einer systematischen Einführung in die Programmierung. Dabei werden
alle Sprachkonzepte von der strukturierten bis zur objektorientierten Programmierung
behandelt und an Beispielen illustriert.
Delphi ist eine Plattform, die sich sehr gut für eine Einführung
in die Programmierung eignet. Da Object Pascal sowohl alle herkömmlichen
als auch die modernen, objektorientierten Sprachelemente enthält,
können alle damit verbundenen Konzepte in einer einheitlichen
Umgebung gelehrt und geübt werden. Und ganz nebenbei entstehen dabei
auch noch optisch ansprechende Windows-Programme.
Das Buch richtet sich aber nicht nur an diejenigen, die objektorientiertes
Programmieren lernen wollen, sondern genauso an Praktiker, die eine umfassende
Darstellung von Object Pascal suchen.
Die ersten beiden Kapitel geben einen Überblick über die Entwicklungsumgebung
und die visuelle Programmierung mit Delphi. Hier wird gezeigt, wie man
schon mit geringen Vorkenntnissen einfache Windows-Programme erstellen
kann.
In den Kapiteln 3 bis 5 werden die Sprachelemente der strukturierten
Programmierung dargestellt. Mit den Ablaufstrukturen werden die Grundbegriffe
der Programmierlogik und Programmverifikation behandelt. Dieser Teil entspricht
damit einer klassischen Einführung in die Programmierung, wobei allerdings
von Anfang an Windows-Programme entwickelt werden.
Kapitel 6 ist eine Einführung in die objektorientierte Programmierung.
Nach der Vorstellung des Klassenkonzepts von Object Pascal geht es vor
allem um die systematische Konstruktion von Basisklassen. Solche Basisklassen
können als Bausteine für wiederverwendbare und erweiterbare Algorithmen
verwendet werden. Als Beispiele werden unter anderem Basisklassen für
einige gängige Sortierverfahren, die Klassenbibliothek von Delphi,
tiefer gehende Klassenkonzepte und ihre Verbindung zu Windows sowie Sprachelemente
für die visuelle Programmierung vorgestellt.
Im Rahmen eines kleinen Projekts wird in Kapitel 7 ein praxisnahes Windows-Programm
entwickelt. Auch hier spielen Basisklassen eine zentrale Rolle: Sie stellen
das grundlegende Verhalten von Formularen dar.
In Kapitel 8 werden vor allem anhand von Beispielen einige Themen behandelt,
die nicht mehr im engeren Sinne zur Sprache Object Pascal gehören.
Die zugehörigen Funktionen sind für viele Anwendungen nützlich
und machen Delphi zu einem außerordentlich vielseitigen Entwicklungssystem,
das viel mehr ist als nur ein Compiler für Object Pascal. Die dazu
von Delphi zur Verfügung gestellten Klassen sind außerdem ein
gutes Beispiel für die Architektur einer Klassenbibliothek.
Zahlreiche Übungsaufgaben geben dem Leser die Möglichkeit,
die Inhalte praktisch anzuwenden und so zu vertiefen. Da man Programmieren
nur lernt, indem man es tut, möchte ich ausdrücklich dazu ermuntern,
zumindest einen Teil der Aufgaben zu lösen und sich dann selbst neue
Aufgaben zu stellen. Der Schwierigkeitsgrad der Aufgaben reicht von einfachen
Wiederholungen des Textes bis zu kleinen Programmieraufgaben, die ein gewisses
Maß an selbständiger Arbeit erfordern. Die Lösungen der
allermeisten Aufgaben findet man im letzten Kapitel.
Inhalt
1 Die Entwicklungsumgebung 1
1.1 Visuelle Programmierung: Ein erstes kleines Programm 2
1.2 Erste Schritte in Object Pascal 6
1.3 Projekte, Projektdateien und Projektoptionen 10
1.4 Die Online-Hilfe 12
1.5 Der Quelltexteditor 14
1.6 Das lokale Menü 17
1.7 Die Symbolleiste 18
1.8 Weitere Optionen der Menüleiste 18
2 Die Komponentenpalette 21
2.1 Die Delphi-Hilfe zu den Komponenten 21
2.2 Namen 25
2.3 Labels und Datentypen 28
2.4 Methoden und Ereignisse am Beispiel der Komponente
Edit 33
2.5 Memos, ListBoxen, ComboBoxen und TStrings 37
2.6 Buttons und Ereignisse 40
2.7 CheckBoxen, RadioButtons und einfache If-Abfragen
44
2.8 Die Container GroupBox, Panel und RadioGroup 46
2.9 ScrollBar 49
2.10 Hauptmenüs und Popup-Menüs 51
2.11 Die Komponenten der Seite Dialoge 54
2.12 Der Aufruf von eigenen Formularen und modale Fenster
57
2.13 Einige weitere Komponenten 60
2.14 Einige Komponenten der Seite System 65
2.15 Vordefinierte DialogBoxen 68
2.16 Formularschablonen 70
3 Variablen und vordefinierte Datentypen 71
3.1 Programme, Units und Syntaxdiagramme 71
3.2 Variablen 79
3.3 Ganzzahldatentypen 83
3.4 Der integrierte Debugger 96
3.5 Gleitkommadatentypen 103
3.6 Der Datentyp Char und der ASCII- und ANSI-Zeichensatz
118
3.7 Der Datentyp String 122
3.8 Aufzählungstypen 135
3.9 Boolesche Datentypen 138
3.10 Unterbereichstypen 143
3.11 Die Systematik der einfachen Datentypen 145
3.12 Mengen 147
3.13 Der Konstantenvereinbarungsteil 153
3.14 Initialisierte Variablen 155
3.15 Der Typvereinbarungsteil 157
3.16 Gleichheit und Kompatibilität von Datentypen
158
3.17 Arrays 161
3.18 Ein wenig Graphik: TCanvas und TImage 174
3.19 Pointer und dynamische Variablen 178
3.20 Kommentare 185
3.21 Compilerbefehle und bedingte Kompilation 189
4 Anweisungen 193
4.1 Wertzuweisungen und Ausdrücke 194
4.2 Ein wenig Programmierlogik: Symbolische Ausführung
203
4.3 Die Verbundanweisung 211
4.4 Bedingte Anweisungen 212
4.4.1 Die if-Anweisung 212
4.4.2 Die case-Anweisung 224
4.4.3 Ein wenig Programmierlogik für bedingte Anweisungen
226
4.5 Wiederholungsanweisungen 233
4.5.1 Die repeat-Anweisung 234
4.5.2 Die while-Anweisung 234
4.5.3 Die for-Anweisung 236
4.5.4 Endlosschleifen, Abbruchbedingungen und Windows
241
4.5.5 Ein wenig Programmierlogik für Schleifen 244
4.6 Die Prozeduranweisung 250
4.7 Die goto-Anweisung, Break und Continue 252
4.8 Exception-Anweisungen 257
4.8.1 Strukturierte Ausnahmebehandlung 258
4.8.2 Die try-except-Anweisung 260
4.8.3 Exception-Handler und vordefinierte Exceptions 262
4.8.4 Das vordefinierte Exception-Handling von Delphi
270
4.8.5 Die Anweisung raise und selbstdefinierte Exceptions
272
4.8.6 Ressourcen-Schutzblöcke mit try-finally 275
4.9 Die Systematik der Anweisungen 279
5 Prozeduren, Funktionen und die Blockstruktur von Pascal
281
5.1 Die Vereinbarung und der Aufruf von Prozeduren 282
5.2 Die Verwaltung von Prozeduraufrufen über den
Stack 286
5.3 Blockstruktur und Lokalität 289
5.4 Speichergrenzen für lokale und globale Variablen
294
5.5 Prozeduren mit Parametern 295
5.5.1 Werteparameter 297
5.5.2 Variablenparameter 299
5.5.3 Konstantenparameter 302
5.5.4 Untypisierte Parameter 303
5.5.5 Offene Array-Parameter 304
5.5.6 Typvariante offene Array-Parameter 305
5.6 Funktionen 306
5.7 Seiteneffekte und die Reihenfolge von Auswertungen
313
5.8 Schrittweise Verfeinerung als Entwurfstechnik 316
5.9 Etwas Programmierlogik und -stil für Prozeduren
und Funktionen 321
5.10 Prozedurtypen 325
5.11 Rekursion 329
5.12 Weitere Optionen für Funktionen und Prozeduren
343
6 Objektorientierte Programmierung - 345
6.1 Records und die with-Anweisung 346
6.2 Records mit Varianten und typvariante Array-Parameter
356
6.3 Abstrakte Datentypen - Teil 1 365
6.4 Objekte und Methoden 368
6.5 Vererbung 375
6.6 Virtuelle Methoden, späte Bindung und Polymorphie
380
6.7 Klassen 390
6.8 Delphi-Komponenten als Klassen und MDI-Programme 400
6.9 Selbstdefinierte Komponenten und Methodenzeiger 405
6.10 Abstrakte Datentypen mit Klassen 410
6.11 Units 411
6.12 Zugriffsrechte auf Klassenkomponenten 419
6.13 Abstrakte Methoden, Basisklassen und Erweiterbarkeit
425
6.14 Programmbausteine und -gerüste 431
6.15 Typinformationen zur Laufzeit 439
6.16 Klassenreferenztypen und Klassenmethoden 444
6.17 Visuelle Programmierung und Properties (Eigenschaften)
449
6.17.1 Array-Properties 453
6.17.2 Indexangaben 456
6.17.3 Speicherangaben 458
6.17.4 Überschriebene Eigenschaften 459
6.18 Die Objekthierarchie von Delphi 459
6.19 Botschaften (Messages) 469
6.19.1 Die Message Queue und die Window-Prozedur 469
6.19.2 Botschaften für eine Anwendung 47 1
6.19.3 Selbstdefinierte Message-Handler für Windows-Steuerelemente
472
6.19.4 Botschaften versenden 476
6.19.5 Die Behandlung von Botschaften in der VCL 477
6.20 Die Erweiterung der Komponentenpalette 483
7 Datenverwaltung und ein kleines Projekt 491
7.1 Projektvorbereitungen 492
7.2 Datenverwaltung mit Arrays 495
7.2.1 Vererbung von visuell erzeugten Formularen 497
7.2.2 Suchen und Sortieren 501
7.3 Dateien 503
7.3.1 Sequentielle Dateibearbeitung 506
7.3.2 I/O-Fehler und ElnOutError-Exceptions 511
7.3.3 Textdateien und Drucken 515
7.3.4 Dateibearbeitung im Direktzugriff 5 19
7.3.5 Untypisierte Dateien 522
7.3.6 File-Sharing, Zugriffsrechte und Record-Locking
523
7.3.7 Sortieren, Mischen und Gruppenverarbeitung 530
7.4 Rekursive Datenstrukturen 538
7.4.1 Verkettete Listen 540
7.4.2 Programmbausteine mit generischen Pointern 551
7.4.3 Baumstrukturen 553
8 Verschiedenes 565
8.1 Datenbanken 566
8.1.1 TTable 566
8.1.2 Indizierte Tabellen 574
8.1.3 SQL-Abfragen 580
8.1.4 Datenbanken, Transaktionen und Cached Updates 582
8.1.5 Die BDE am Beispiel von ODBC und MS Access Datenbanken
585
8.1.6 QuickReport 589
8.2 OLE 595
8.2.1 Ein einfacher OLE-Client 595
8.2.2 Ein einfacher OLE-Server 597
8.2.3 Verknüpfen und Einbetten von OLE-Objekten 599
8.3 Dynamic Link Libraries (DLLs) 603
8.4 Windows API-Programme 609
8.5 Multitasking und Threads 611
8.5.1 Windows-API-Funktionen für Threads 612
8.5.2 Threads und die VCL 616
8.6 Meßwert-Erfassung 619
9.1 Lösungen Kapitel 2 623
9.2 Lösungen Kapitel 3 635
9.3 Lösungen Kapitel 4 653
9.4 Lösungen Kapitel 5 667
9.5 Lösungen Kapitel 6 679
9.6 Lösungen Kapitel 7 713
Literaturverzeichnis 747
Index 749