www.ewlab.de
Delphi 2006
Delphi 2005
Kylix
Delphi 6
Delphi 5
Delphi 4
Impressum
Delphi 6 - Inhalt

Hier finden Sie das komplette Inhaltsverzeichnis mit Seitenzahlen.

Zurück zur Buch-Homepage.

Delphi 6, ISBN 3-8273-1773-8

Inhalt

Vorwort 15

1 Die visuelle Programmierumgebung 21

1.1 Delphi-Anwendungen sind ereignisorientiert 22

1.1.1 Zu jedem Anlass ein Ereignis 22

1.1.2 Ereignisse in Delphi 24

1.2 Von Formularen und Komponenten 26

1.2.1 Die Fensterhierarchie einer Windows-Anwendung 26

1.2.2 Formulare und Fenster 27

1.2.3 Komponenten 28

1.3 Der Entwicklungszyklus 29

1.3.1 Der Entwicklungszyklus in der Delphi-IDE 29

1.3.2 Übersicht über das Beispielprogramm 30

1.4 Die IDE und die visuellen Werkzeuge 31

1.4.1 Der Aufbau der IDE 31

1.4.2 Hilfe zu IDE und Sprachreferenz 38

1.4.3 Entwerfen von Formularen 40

1.4.4 Dateiverwaltung 45

1.4.5 Der Objektinspektor 46

1.4.6 Das Objekt-Hierarchie-Fenster 54

1.4.7 Menüs 56

1.4.8 Grafiken 60

1.5 Ereignisse 64

1.5.1 Einführung in die Ereignisbearbeitung 64

1.5.2 Schnellübersicht: Pascal für Ereignisbearbeitungsmethoden 68

1.5.3 Eine Übersicht über die Formular-Unit 69

1.5.4 Die Ereignisse des Beispielprogramms 72

1.5.5 Methoden für die Weckfunktion 75

1.5.6 Ereignisverknüpfung: Navigieren, verändern, lösen 78

1.5.7 Drei Blicke hinter die Kulissen 80

1.6 Bearbeiten von Projekten 83

1.6.1 Der Quelltext-Editor 84

1.6.2 Aufbau von Projekten 91

1.6.3 Die Projektverwaltung 92

1.6.4 Objektablage und Komponentenschablonen 97

1.6.5 Der Browser 102

1.7 Der Debugger 105

1.7.1 Übersetzungsoptionen für den Debugger 106

1.7.2 Allgemeine Debugger-Fenster 107

1.7.3 Breakpoints 111

1.7.4 Variablen untersuchen 115

1.7.5 Code-Ausführung 118

1.7.6 Assertions 121

1.8 Noch mehr Praxis: Verbesserung des Beispielprogramms 123

1.8.1 Erweiterung des Beispielformulars 123

1.8.2 Anpassen der Fenstergröße zur Laufzeit 126

1.8.3 Optimierung der Weckfunktion 129

1.8.4 Programmierung der Stringtabelle 130

1.8.5 Ausnahmebehandlung in der Timer-Methode 133

1.8.6 Behandlung mehrerer Ereignisse mit einer Methode 135

1.8.7 Nachwort/Zusammenfassung des Beispielprogramms 136

1.9 Das aktuelle Einmaleins der Komponenten 136

1.9.1 Verwendung von Formularen als modale Dialoge 137

1.9.2 Komponenten zur Programmsteuerung 142

1.9.3 Listenelemente und die Sicherung ihres Inhalts 146

1.9.4 Eingabekomponenten 158

1.9.5 Ausgabekomponenten 167

1.9.6 Komponenten zu Gestaltung und Strukturierung 179

2 Die Sprache Object Pascal 183

2.1 Überblick 184

2.1.1 Object Pascal für Umsteiger 184

2.1.2 Lexikalische Elemente 187

2.1.3 Compileranweisungen 190

2.1.4 Typen und Variablen 194

2.1.5 Konstanten und initialisierte Variablen 196

2.1.6 Gültigkeitsbereiche und lokale Variablen 197

2.1.7 Das Modulkonzept 198

2.2 Objekte und Klassen in Object Pascal 201

2.2.1 Der Aufbau von Objekten 202

2.2.2 Klassen und Instanzen 202

2.2.3 Die Klassendeklaration 203

2.2.4 Zugriff auf die Klassenelemente 204

2.2.5 Properties 205

2.2.6 Zugriffsbeschränkungen 209

2.2.7 Vererbung 210

2.2.8 Vorwärtsdeklaration von Klassen 211

2.3 Der Lebenslauf von Objekten 211

2.3.1 Initialisierung von Objekten: Konstruktoren 211

2.3.2 Aufräumen mit Destruktoren 214

2.3.3 Polymorphie durch virtuelle Methoden 217

2.3.4 TClass – die Klasse der Klassen 224

2.3.5 Klassenmethoden 227

2.3.6 Typinformationen zur Laufzeit 228

2.3.7 Kompatibilität mit Borland Pascal 232

2.4 Typen 233

2.4.1 Einfache Typen 234

2.4.2 Operatoren und Ausdrücke 240

2.4.3 Arrays 242

2.4.4 Die verschiedenen Stringtypen 245

2.4.5 Strukturierte Typen 253

2.4.6 Zeigertypen 255

2.4.7 Typenkompatibilität und Typenumwandlungen 258

2.4.8 Initialisierte Konstanten strukturierter Typen 259

2.5 Anweisungen und Funktionen 260

2.5.1 Pascal-Anweisungen 260

2.5.2 Prozeduren und Funktionen 264

2.5.3 Parametertypen 266

2.5.4 Überladen von Funktionen, Standardparameter 272

2.5.5 Prozedurtypen 274

2.6 Fehlerbehandlung mit Exceptions 275

2.6.1 Verhängung des Ausnahmezustandes 276

2.6.2 Exception-Klassen 276

2.6.3 Schadensbegrenzung mit finally 278

2.6.4 Behandeln der Exceptions 279

2.6.5 Optionen für Exceptions 282

2.6.6 Exceptions im Beispielprogramm 283

2.7 Interfaces 285

2.7.1 Abstrakte Basisklassen versus Interfaces 286

2.7.2 Verwendung eines Interfaces 288

2.7.3 IUnknown, Co-Klassen und andere Begriffe 291

2.7.4 Implementierung eines Interfaces 294

2.7.5 Interface-Mix-In 298

2.8 Funktionsbereiche der Laufzeitbibliothek 303

2.8.1 Dateiverwaltung 303

2.8.2 Dateieingabe und -ausgabe 304

2.8.3 Zeitformat und Zeitfunktionen 307

2.8.4 Formatierungs-/Stringfunktionen 309

2.8.5 Sonstige Funktionen 312

3 Die Visual Component Library 315

3.1 Überblick über die VCL 316

3.1.1 Die grundlegenden Klassen 317

3.1.2 Komponenten 320

3.1.3 Visuelle Komponenten 322

3.1.4 Der Nachrichtenfluss 323

3.2 Die Beziehungen der Komponenten 329

3.2.1 Besitzhierarchie und Komponentenlisten 329

3.2.2 Die Fensterhierarchie 331

3.2.3 Die oberste Komponente: TApplication 333

3.2.4 TScreen 337

3.3 Grundlegende Gemeinsamkeiten von Steuerelementen 339

3.3.1 Grundlegende Eigenschaften 341

3.3.2 Maus- und Tastatureingaben 347

3.3.3 Aktionen beim Bewegen der Maus 350

3.3.4 Anzeigesteuerung 352

3.3.5 Kontrolle über Größe und Position 354

3.3.6 TWinControl 356

3.4 Formulare, TScrollingWinControl und TScrollBox 358

3.4.1 TScrollingWinControl und TScrollBox 358

3.4.2 Die verschiedenen Arten von Formularen 360

3.4.3 Eigenschaften und Ereignisse der Formulare 365

3.4.4 Arbeiten mit mehreren Formularen 371

3.5 Aufbau von Formularen und Verwendung von Dialogen 375

3.5.1 Steuerelemente in Gruppen 375

3.5.2 Gleichzeitige Behandlung mehrerer Komponenten 378

3.5.3 Steuerelemente in Arrays 381

3.5.4 Mehrseitige Dialoge 384

3.5.5 Maximale Flexibilität mit TNotebook 390

3.5.6 Formulardateien im Textmodus editieren 393

3.5.7 Verwenden der Standarddialoge 396

3.6 Komplexere Steuerelemente 403

3.6.1 Editierfelder, Memos und RTF-Felder 404

3.6.2 Listenansichten (ListViews) und Bilderlisten 410

3.6.3 Baumanzeige-Komponenten (TreeViews) 423

3.6.4 Der Mediaplayer 429

3.7 Frames und verwandte Techniken 438

3.7.1 Formularvererbung 439

3.7.2 Frames 447

4 Außerhalb der Komponenten 453

4.1 Grundlegende Datenstrukturen: TList und TStrings 454

4.1.1 TStrings 454

4.1.2 Ableiten einer History-Liste von TStringList 458

4.1.3 TList 460

4.1.4 Andere Container-Klassen 461

4.2 INI-Dateien und die Windows-Registry 462

4.2.1 Dateien im INI-Format 462

4.2.2 Die Windows-Registrierung (Registry) 465

4.2.3 Die Registry und die Windows-Shell 470

4.2.4 Speichern der History-Liste in Registry bzw. INI-Datei 472

4.2.5 Die TStateSaver-Komponente 473

4.3 Streams und Ablageobjekte 477

4.3.1 Stream-Klassen 477

4.3.2 Der Inhalt von Streams 478

4.3.3 Polymorphe Objekte speichern 479

4.3.4 TReader und TWriter 483

4.3.5 Memory-Streams 485

4.4 Grafikausgabe 487

4.4.1 Die Klasse TCanvas 487

4.4.2 Zeichenwerkzeuge 490

4.4.3 Grafikmethoden 495

4.4.4 Besitzergezeichnete Komponenten 501

4.5 Grafiken als Objekte 509

4.5.1 Die drei TGraphic-Klassen 510

4.5.2 Bitmaps 513

4.5.3 TPicture 515

4.5.4 Bitmaps für eine OwnerDraw-Listbox 517

4.6 Menüs und Aktionsmanagement 524

4.6.1 Die Unit Menus 525

4.6.2 Dynamische Menüerweiterungen 531

4.6.3 Ein dynamischer Tastenkürzeleditor 538

4.6.4 Befehlslisten mit TActionList 544

4.6.5 Die neuen Aktionsmanager-Komponenten 549

4.7 Threads 558

4.7.1 Multitasking-Typen 558

4.7.2 Threads in der VCL 566

4.7.3 Mehrere Threads und deren Synchronisation 573

4.7.4 Ein Utility mit dynamischer Thread-Anzahl 586

5 Die selbstständige Delphi-Anwendung 593

5.1 Der TreeDesigner 594

5.1.1 Wahl eines Beispielprogramms 595

5.1.2 Spezielle Fähigkeiten 596

5.1.3 Kurzbeschreibung und Bedienung 598

5.1.4 Dateien auf der CD 604

5.1.5 Kurzvorstellung von Itéa 607

5.2 Das Hauptfenster 610

5.2.1 Der Entwurf von Symbol- und Werkzeugleisten 610

5.2.2 Docking von Symbolleisten 616

5.2.3 Menüleisten im Toolbar-Stil 622

5.2.4 Komponenten für die Zeichenfläche 624

5.2.5 Wichtige Menübefehle 625

5.2.6 Typische Formularaufgaben 628

5.3 Das Grafikdokument 632

5.3.1 Das Dokument-View-Konzept 633

5.3.2 Eine Klasse für das Grafikdokument 641

5.3.3 Eine Klasse für die Grafikobjekte 648

5.3.4 Baumstrukturen 660

5.4 Mausaktionen und Zeichnen 666

5.4.1 Die Methoden im TreeDesigner 667

5.4.2 Shift und Variationen eines Ziehvorgangs 671

5.5 Grafikausgabe und Scrolling 675

5.5.1 Ereignisgesteuerte Grafikausgabe 675

5.5.2 Zeichnen von Objekten und Text 677

5.5.3 Effiziente Grafikausgabe 683

5.5.4 Scrolling 688

5.5.5 Clipping 692

5.6 Skalierung, virtuelle Koordinatensysteme und Druckerausgabe 697

5.6.1 Geräteunabhängigkeit 697

5.6.2 Die Funktionen des Windows-API 699

5.6.3 Das Koordinatensystem des TreeDesigners 706

5.6.4 Drucken 710

5.7 MDI-Anwendungen 720

5.7.1 MDI im Überblick 720

5.7.2 MDI- und SDI-Versionen des TreeDesigners 722

5.7.3 Verschmelzen von Menüs 725

5.7.4 Verwaltung der MDI-Kindfenster 727

5.7.5 Dynamisches Werkzeugleisten-Management 733

5.7.6 Globale Werkzeugleisten und Mauspaletten 744

5.7.7 Verwenden des MDI-Kindfensters als SDI-Hauptformular 749

5.8 Erweiterung der Benutzerschnittstelle 751

5.8.1 Tastatursteuerung 752

5.8.2 Docking von Fenstern 757

5.8.3 Interaktion mit Grafikobjekten 767

5.8.4 Drag&Drop 769

5.9 XML 776

5.9.1 XML-Grundlagen 777

5.9.2 Ein grafischer XML-Betrachter 786

5.9.3 XML-Dateiformate 793

6 Komponentenentwicklung 803

6.1 Delphis Komponentenkonzept 804

6.1.1 Das Wesen einer Komponente 805

6.1.2 Überblick über die Komponentenentwicklung 806

6.1.3 Das Package-Konzept 807

6.2 Beispiele und Installation 809

6.2.1 Starthilfe durch den Komponenten-Experten 810

6.2.2 Eine Minimalkomponente 811

6.2.3 Installation von Packages und Komponenten 812

6.2.4 Eine sinnvolle Beispiel-Komponente 816

6.3 Die Schnittstelle zum Benutzer 818

6.3.1 Properties 819

6.3.2 Events 821

6.3.3 Events auslösen 824

6.4 Komponenten intern 825

6.4.1 Ereignisse in den Komponenten 825

6.4.2 Komponenten in der Formulardatei 829

6.4.3 Steuerung der Property-Speicherung 831

6.4.4 Die Schnittstelle zur Delphi-IDE 833

6.5 Erweiterung bestehender Komponenten 836

6.5.1 Verändern bestehender Komponenten 836

6.5.2 Erweiterung von TScrollBox 840

6.5.3 Die automatische History-Kombobox 842

6.5.4 Zusammenfassen mehrerer Komponenten 848

6.6 Entwicklung neuer Steuerelemente 851

6.6.1 Eine Testumgebung aufbauen 852

6.6.2 Die Schnittstelle der neuen Farbpalette 854

6.6.3 Implementierung der Komponente 860

6.6.4 Events mit Eingriffsmöglichkeiten 865

6.6.5 Komponenten- und Property-Editoren 868

6.6.6 Speichern 875

6.6.7 Vordefinierte Aktionen 879

6.7 Formulare als Dialogkomponenten 881

6.7.1 Eine Hülle für das Formular 882

6.7.2 Die automatische Aktivierung 883

6.7.3 Implementierung 885

6.8 ActiveX-Komponenten 888

6.8.1 Von der VCL-Hierarchie zu ActiveX 890

6.8.2 Typenbibliothek und Implementation 891

6.8.3 Eine Eigenschaftenseite 896

6.8.4 Testen der ActiveX-Komponente in Delphi 899

6.8.5 ActiveForms 901

7 Datenbankanwendungen 903

7.1 Datenbank-Variationen und Datenzugriff 904

7.1.1 BDE-spezifische Desktop-Datenbanken 906

7.1.2 MyBase-Datenbanken 911

7.1.3 Interbase-Datenbanken 914

7.1.4 Das Konzept der Datenquelle 919

7.1.5 Portierung von Desktop-Datenbanken 921

7.1.6 Datenzugriff mit dbExpress 925

7.2 Von der Tabelle zum Browser 929

7.2.1 Das grundlegende Datenbankformular 929

7.2.2 Datensensitive Steuerelemente 934

7.2.3 Elementare Funktionen 937

7.2.4 Automatischer Aufbau der Daten-Pipeline 942

7.2.5 Ein Browser für BDE- und MyBase-Tabellen 944

7.2.6 Ein Browser für Interbase-Tabellen 947

7.2.7 Anwenden und Verwerfen von Updates mit dbExpress 950

7.2.8 Objekt-Hierarchie und Diagramme 953

7.3 Programmieren mit Feldern 956

7.3.1 TField und die Fields 957

7.3.2 Persistente Felder und der Felder-Editor 961

7.3.3 Feld-Definitionen 968

7.3.4 Ein Beispielprogramm mit dynamischen Feldern 970

7.3.5 Die Daten des aktuellen Datensatzes 972

7.3.6 Eine Dateidatenbank 975

7.3.7 Zusatzfunktionen für die Anwendung 980

7.4 Sortieren, Suchen und Filtern 983

7.4.1 Methoden zum Suchen, Filtern und für Lesezeichen 984

7.4.2 Sortieren mit Indizes 987

7.4.3 Modusabhängige Filter- und Suchfunktionen 991

7.4.4 Aktualisieren der Dateidatenbank 994

7.4.5 Haupt-/Detailformulare und Sortieren 997

7.5 Eine Beispielanwendung 999

7.5.1 Definition der Datenbank 1000

7.5.2 Das Datenmodul 1004

7.5.3 Die Formulare 1012

7.5.4 Updates und das Änderungsprotokoll 1016

7.5.5 Mehrbenutzersimulation 1021

7.5.6 Updates per SQL 1023

7.5.7 Ein SQL-Monitor 1029

8 Die kooperative Delphi-Anwendung 1033

8.1 Die Zwischenablage 1034

8.1.1 Der Aufbau der Zwischenablage 1034

8.1.2 TClipboard 1035

8.2 DDE und OLE 1039

8.2.1 DDE-Grundlagen und -Komponenten 1040

8.2.2 Ein heißer Draht zwischen Delphi-Anwendungen 1043

8.2.3 Dynamische Items und Makros 1048

8.2.4 OLE-Grundlagen 1051

8.2.5 Implementation eines OLE-Clients 1055

8.2.6 Zusammengesetzte Dokumente mit TOleContainer 1057

8.3 Effektiver Austausch von DLLs 1061

8.3.1 DLLs in Delphi und C++ 1061

8.3.2 Ein fester Formular-Anschluss für C++ 1065

8.3.3 Objektaustausch zwischen C++ und Delphi 1071

8.4 Verwendung externer COM-Klassen 1074

8.4.1 Von Schnittstellen und Objekten 1075

8.4.2 Programmgruppen und Datei-Verknüpfungen 1081

8.4.3 Ein selbst gemachter Shell-Browser 1084

8.5 Programmierung eigener COM-Klassen 1098

8.5.1 Typen von COM-Objekten 1098

8.5.2 Erweiterungen der Windows-Shell 1100

8.5.3 Ein COM-Objekt als Kontextmenü-Handler 1103

8.5.4 Verwaltungsaufgaben für ein COM-Objekt 1110

8.5.5 Selbst definierte COM-Schnittstellen 1114

8.6 COM-Automation: Clients und Internet-Explorer 1120

8.6.1 COM-Automationsobjekte und Varianten 1120

8.6.2 Typenbibliotheken 1125

8.6.3 Einbindung des Internet Explorers 1135

8.6.4 Das HTML-Dokument 1143

8.7 COM-Automations-Server 1153

8.7.1 Implementieren eines Automations-Objekts 1153

8.7.2 Interne Automations-Objekte 1160

8.7.3 Alternative Dispatch-Möglichkeiten 1166

8.7.4 Distributed COM (DCOM) 1169

8.7.5 Übertragung beliebiger Datenstrukturen 1178

8.7.6 COM-Objekte mit Events 1183

8.8 Web-Server-Anwendungen 1189

8.8.1 Interaktion zwischen Web-Server und Anwendung 1189

8.8.2 Web-Module und Seitenproduzenten 1197

8.8.3 Seitenproduzenten von WebSnap 1216

8.8.4 Web Services 1228

A Erweiterung der Delphi-IDE 1245

A.1 Grundlagen 1247

A.2 Erweiterung des Editors 1261

A.3 Neue Funktionen für den Formularentwurf 1271

A.4 Eine CodeExplorer-Imitation 1276

B VCL-Hierarchiegrafiken des TreeDesigners 1279

C Rezeptverzeichnis 1285

Stichwortverzeichnis 1293


[www.ewlab.de] [Delphi 2006] [Delphi 2005] [Kylix] [Delphi 6] [Delphi 5] [Delphi 4] [Impressum]