Visual Basic 6
Programmiertechniken, Datenbanken, Internet


Vorwort, Inhaltsverzeichnis, Klappentext, und mein Fazit

Vorwort

Im Vorwort zur letzten Auflage dieses Buchs habe ich geschrieben: Visual Basic ist erwachsen geworden. Wie läßt sich das noch steigern? Mit Visual Basic 6 können Sie
- Tools jeder Art
- Multithreading-fähige Komponenten
- Client / Server-Systeme
- Datenbankanwendungen (von der kleinen Adreßkartei bis zum Three-Tier-Enterprise-System)
- Internet-Anwendungen (Client- und Server-seitig)
entwickeln. Was immer Ihnen an Technologien einfällt - DCOM, ActiveX, Integration mit dem Microsoft Transaction Server - es ist kein Problem für Visual Basic! Gleichzeitig beträgt der Zeitaufwand für die Programmierung einen Bruchteil dessen, was beispielsweise mit C/C++ erforderlich wäre.

Warum dieses Buch?
Das Programmieren ist also zum Kinderspiel geworden; dank zahlloser Assistenten erledigt sich die Arbeit eigentlich schon von alleine - warum dann noch so ein dickes Buch? Nun ja, es gibt ein paar kleine Haken, die in der Werbung nicht verraten werden: Einer besteht darin, daß Visual Basic ein so gigantisches Werkzeug geworden ist, daß offenbar selbst Microsoft den Überblick verloren hat. Inkonsistente Bibliotheken sind die Folge. Ein anderes Problem ist die Ausgereiftheit: Visual Basic unterstützt zwar tatsächlich beinahe jede Technologie von Microsoft (oft schon, bevor diese fertig entwickelt ist). In der Praxis treten dann aber oft Fehler auf, die beweisen, daß nicht jedes neue Feature auch ausreichend durchdacht und getestet ist.

Nun soll ein Vorwort unter anderem die Leser überzeugen, das Buch zu kaufen. Der Verlag wünscht sich folglich einen möglichst positiven Text: Die Leser sollen schon in der Buchhandlung überzeugt werden, daß sie zu einem tollen Produkt ein noch besseres Buch in Händen halten.

Diesmal bin ich dieser Erwartung vielleicht nicht ganz gerecht geworden. Ich will damit durchaus nicht sagen, daß Visual Basic kein konzeptionell großartiges Produkt wäre (die Leser früherer Auflagen werden sich an meine geradezu euphorischen Vorworte erinnern) oder daß man damit nicht arbeiten könne. Visual Basic ist nicht umsonst die unter Windows am häufigsten eingesetzte Programmiersprache. Aber es ist nicht frei von Mängeln, und es ist bei weitem nicht so einfach zu verwenden, wie es in den ersten Versionen der Fall war (und wie Microsoft es noch immer verspricht).

Dieses Buch gaukelt keine heile Welt vor. Es soll vielmehr die Lücke schließen, die sich zwischen Online-Dokumentation und Werbung auf der einen Seite und der täglichen Praxis auf der anderen Seite auftut. Es beschreibt Visual Basic so, wie es wirklich funktioniert.

Was bietet dieses Buch?
Im Vordergrund der ersten Hälfte dieses Buchs stehen Grundlagen: Ob Sie Informationen zur objektorientierten Programmierung oder eine übersichtliche Beschreibung aller wichtigen Steuerelemente suchen - Sie werden nicht enttäuscht werden.

Der Anwendungsteil setzt die Schwerpunkte bei der neuen ADO-Datenbanktechnologie (Objekte, Steuerelemente, Werkzeuge) sowie beim Themenkomplex ActiveX/Internet. Auch wenn der Platz nicht ausreicht, um hier bis ins letzte Detail vorzudringen, werden Sie zumindest einen raschen Einstieg in diese Spielarten moderner Programmierung finden.

Syntaxzusammenfassungen am Ende jedes Abschnitts vermitteln den Überblick, der in einer durch Tausende von Querverweisen zerstückelten Online-Dokumentation verlorengeht. Und im Unterschied zu manchen anderen Büchern werden die Inhalte der Originaldokumentation nicht einfach gebetsmühlenartig wiederholt. (Diese ist wegen der bisweilen sehr holprigen Übersetzung ins Deutsche ohnedies oft schwer zu verstehen.)

In diesem Buch erhalten Sie Hintergrundwissen, warum etwas funktioniert - nicht nur wie. Wenn etwas nicht funktioniert wird das auch nicht verheimlicht. Statt dessen werden - so weit möglich - alternative Wege vorgeschlagen.

Viel Erfolg!
Wenn Sie oder Ihre Chefs sich dazu entschlossen haben, Visual Basic einzusetzen, dann wird dieses Buch Ihre Arbeit entscheidend erleichtern. Es wird Ihnen helfen, neue Technologien zu beurteilen, ohne zwei Monate in die Erprobung zu investieren. Es wird Ihnen gerade wegen des bisweilen kritischen Tons viel Mühe und Ärger ersparen. Ich wünsche Ihnen Erfolg beim Programmieren und viel Spaß beim Lesen!

Michael Kofler, Oktober 98
 

PS: Bedanken möchte ich mich bei meiner Lektorin Irmgard Wagner und bei Herrn Arne Steingräber, dem Herausgeber der Zeitschrift BasicPro. Beide haben maßgeblich geholfen, daß dieses Buch termingerecht fertiggestellt wurde.

Konzeption des Buches
Das Buch ist in fünf Teile gegliedert:

Intuitiver Einstieg:
Das erste Kapitel richtet sich an VB-Neueinsteiger: Anhand zweier Beispielprogramme lernen Sie die wichtigsten Elemente von Visual Basic kennen. Das folgende Kapitel versucht, einen Überblick über Visual Basic zu geben: Welche Komponenten wurden installiert und wozu dienen sie? Worin unterscheiden sich die zahllosen Visual-Basic-Versionen und -Dialekte? Ein weiteres Kapitel beschäftigt sich mit der Entwicklungsumgebung von Visual Basic und insbesondere mit dem Paket- und Weitergabe-Assistenten (kurz Installationsassistenten) zur Weitergabe von VB-Programmen.

Grundlagen:
Der Grundlagenabschnitt gibt fundierte Informationen zu den Sprachelementen von Visual Basic. Dazu zählen neben den weitgehend bekannten prozeduralen Elementen immer mehr objektorientierte Erweiterungen, die in einem eigenen Kapitel ausführlich behandelt werden. Den zweiten Schwerpunkt setzen Steuerelemente, die ja quasi die Bausteine jedes Visual-Basic-Programms sind. In zwei Kapiteln werden die wichtigsten Standard- und Zusatzsteuerelemente behandelt (inklusive aller Windows Common Controls). Der Grundlagenteil endet mit einer Diskussion der Möglichkeiten zur Fehlersuche und Fehlerabsicherung.

Programmiertechniken:
Die zentrale Frage in diesem Abschnitt lautet nicht: "Welche Funktionen gibt es?" sondern: "Wie können häufig vorkommende Aufgabenstellungen gelöst werden?" Die Themenliste ist fast endlos: Umgang mit Zeichenketten, Dateiverwaltung, Maus und Tastatur, Drag and Drop, Grafik, Ausgabe am Drucker, Verwendung von DLL-Funktionen, Zugriff auf die Registriedatenbank, eigene Online-Hilfe etc.

Datenbanken:
Ein großer Prozentsatz aller Visual-Basic-Programme hat in irgend einer Form mit Datenbanken zu tun. Da eine vollständige Beschreibung aller Datenbankmöglichkeiten aus Platzgründen unmöglich ist, beschränkt sich dieses Buch auf den Datenbankzugriff mit der neuen ADO-Bibliothek und den dazugehörigen ADO-Steuerelementen sowie auf Access-kompatible Jet-Datenbanken.

Internet/ActiveX:
Dieser Abschnitt könnte ebensogut den Titel "Component Object Model (COM)" tragen, aber Internet ist nun mal das gängigste Schlagwort und ActiveX das dazugehörende Microsoft-Modewort. Das Themenspektrum reicht von der Programmierung eigener, internet-tauglicher Steuerelemente bis zur Programmierung des Internet Information Servers durch Active Server Pages und WebClasses.

Hinweis
Während die Grundlagen Visual Basics und wesentliche Programmiertechniken in diesem Buch sehr ausführlich und umfassend beschrieben werden, gilt dies für die Themenkomplexe Datenbanken/Internet/ActiveX nur mit Einschränkungen. Visual Basic bietet mittlerweile so viele Möglichkeiten, daß eigene Bücher zur Komponenten-Programmierung, zu Client- und Server-seitigen Internet-Projekten sowie zur Datenbankanwendungen etc. angebracht wären. Es ist schon lange nicht mehr möglich, Visual Basic in einem Buch vollständig zu beschreiben. Betrachten Sie die Datenbank- und ActiveX-Kapitel daher als kompakte Einführungen zu diesen Themen. Speziell zum Thema Client/Server-Datenbanksysteme wird wenige Monate nach diesem Titel ein eigenes Buch des Autors bei Addison Wesley erscheinen.

Querverweise auf die MSDN-Library
Daß dieses Buch unmöglich alle Aspekte der Visual-Basic-Programmierung abdecken kann, wurde bereits erwähnt. Wo in diesem Buch der Platz zur umfassende Beschreibung von Features oder Anwendungsmöglichkeiten fehlt, wird häufig in grauen Boxen auf einen Ort in der MSDN-Library hingewiesen, wo Sie weitere Details finden. (Die MSDN-Library wird mit der Professional- und Enterprise-Version von Visual Basic mitgeliefert und ist auf Seite 97 kurz beschrieben.)

Verweis
Diese Querverweise sollen Ihre Suchzeiten in der tief verästelten Bibliothek möglichst reduzieren. Die Syntax der Querverweise sollte in Zusammenhang mit der folgenden Abbildung klar werden.
PLATTFORM SDK / INTERNET/INTRANET / INTERNET TOOLS / OFFLINE BROWSING

Querverweise auf die Visual-Basic- bzw. Visual-Studio-CDs
Gelegentlich finden sich im Text Verweise auf Zusatzprogramme, die sich an allen möglichen und unmöglichen Orten der von Microsoft ausgelieferten CDs befinden (und nur teilweise auch auf die Festplatte installiert werden). Sehr häufig beziehen sich diese Verweise auf das Verzeichnis common/Tools. Wenn Sie Visual Studio besitzen, gibt es davon allerdings gleich zwei. Das ersten common/Tools-Verzeichnis befindet sich auf der CD 1 und enthält gemeinsame Tools aller Visual-Studio-Komponenten. Das zweite common/Tools-Verzeichnis befindet sich auf der CD 3 und enthält zusätzlich eine Reihe von Visual-Basic-spezifischen Ergänzungen.

Verwendete Hard- und Software
Während es früher üblich war, daß ein Programm in einer bestimmten Version eine Weile verwendet werden konnte, wird Software heutzutage in Raten geliefert (wobei diese Raten nicht etwa Bugfixes heißen, sondern Service Packs oder Service Releases). Gelernte Computer-Anwender wissen ja ohnedies schon lange, was von einer n.0-Versionen zu halten ist: die moderne Form einer Beta-Version. Bevor die Versionsnummer nicht n.0.1 oder n.0A erreicht hat, ist größte Vorsicht geboten.

Wie auch immer: Service Packs und versteckte Updates in Form von neuen DLL-Versionen, die nach der Installation irgendwelcher Programme plötzlich im Systemverzeichnis landen, gehören zum Windows-Alltag. Sie führen dazu, daß es weltweit vermutlich keine zwei Rechner gibt, die exakt gleich konfiguriert sind. Die Folge: Ein Programm, das auf Rechner A entwickelt wurde und dort zufriedenstellend läuft, zeigt auf Rechner B gewisse Probleme, ist auf Rechner C (bei vergleichbarer Hardware) um 50 Prozent langsamer und stürzt auf Rechner D ganz ab. Viel Spaß bei der Suche nach den Ursachen!

Wenn eines der Beispielprogramme auf der CD-ROM nicht funktioniert, ist eine mögliche Ursache natürlich die, daß dem Autor ein Fehler unterlaufen ist. (Niemand ist vollkommen. Wenn Sie glauben, daß Sie auf einen Fehler gestoßen sind, schicken Sie mir eine E-Mail - ich werde sehen, was sich machen läßt.) Eine andere Ursache kann aber eine unterschiedliche Software-Konfiguration Ihres Rechners sein - und in solchen Fällen ist guter Rat teuer.

Als Hilfestellung für solche Probleme finden Sie hier einige Informationen zur Hard- und Software des Autors: Als primärer Rechner für die Entwicklung der Programme und für deren Test wurde ein Pentium PC mit Windows NT 4.0 Workstation verwendet (400 MHz, 128 MByte RAM). Zur IIS-Programmierung (Kapitel 27 und 28) wurde NT 4.0 Server mit dem Internet Information Server 4 verwendet.

Intranet-Anwendungen wurden mit Windows-95-Clients getestet. Die Vernetzung erfolgte mit einer 10-MBit-Ethernet-Verbindung. Die folgende Software-Liste ist geordnet nach Herkunft bzw. Zugehörigkeit der Programme. Bei allen Produkten handelt es sich um Endversionen (keine Betas!).
- Windows 95B (deutsch)
- Windows NT 4.0 Workstation mit Service Pack 3 (deutsch)
- Windows NT 4.0 Server mit Service Pack 3 (englisch)
- Windows NT 4 Option Pack 1 (englisch)
- Internet Information Server 4 mit Active Server Pages (englisch)
- Script Debugger 1.0.7295 (englisch)
- Visual Studio 6.0 Enterprise (deutsch)
- Visual Basic 6.0 (deutsch)
- Internet Explorer 4.01 ohne Active Desktop (deutsch)
- MSDN Library Visual Studio 6
- Office 97 Professional mit Service Release 1 (deutsch)

Abkürzungen
Es wurde versucht, Abkürzungen so sparsam wie möglich einzusetzen. Ein paar Visual-Basic-spezifische Abkürzungen, die nicht vor jeder Verwendung neu erklärt werden, haben sich aber nicht vermeiden lassen:
ADO
ActiveX Data Objects (neue Datenbank-Objektbibliothek)
COM
Component Object Model (Technologie zum Umgang mit Objekten)
DAO
Data Access Objects (alte Datenbank-Objektbibliothek)
FSO
File System Objects (Bibliothek zum Zugriff auf Dateien)
IE
Internet Explorer
IIS
Internet Information Server
OLE
Object Linking and Embedding (Technologie zum Umgang mit Objekten)
SP
Service Pack (die zur Zeit übliche Bezeichnung eines Bug-Fixes)
VB
Visual Basic
VBA
Visual Basic für Applikationen (beispielsweise in Excel, WinWord etc.)

Informationen, die sich gleichermaßen auf Windows 95 und Windows 98 beziehen, sind in diesem Buch unter dem Begriff "Windows 9x" zusammengefaßt.

Und eine Entschuldigung
Ich bin mir bewußt, daß unter den Lesern dieses Buchs auch zahlreiche Frauen sind. Dennoch ist in diesem Buch immer wieder von dem Anwender die Rede, wenn ich keine geschlechtsneutrale Formulierung gefunden habe. Ich bitte dafür alle Leserinnen ausdrücklich um Entschuldigung. Ich bin mir der Problematik bewußt, empfinde Doppelgleisigkeiten der Form der/die Anwender/in oder kurz AnwenderIn aber sprachlich nicht schön - sowohl beim Schreiben als auch beim Lesen.



Vorwort, Inhaltsverzeichnis, Klappentext, und mein Fazit

Inhaltsverzeichnis

Kapitelüberblick

Vorwort 21
Konzeption 23

I Intuitiver Einstieg 29
1 Schnelleinstieg 31
2 Systemüberblick 49
3 Entwicklungsumgebung 67

II Grundlagen 101
4 Prozedurale Programmierung 103
5 Objektorientierte Programmierung 147
6 Standardsteuerelemente 205
7 Zusatzsteuerelemente 237
8 Fehlersuche, Fehlerabsicherung 365

III Programmiertechniken 381
9 Zahlen, Zeichenketten, Datum und Uhrzeit 383
10 Oberflächengestaltung 405
11 Grafikprogrammierung 457
12 Ein- und Ausgabe 513
13 Systemnahe Programmierung 611
14 Eigene Online-Hilfe (HTMLHelp) 671

IV Datenbanken 687
15 Datenbankgrundlagen 689
16 ADO-Einführungsbeispiel 727
17 ADO-Bibliothek 749
18 ADO-Steuerelemente und -Designer 805

V ActiveX/Internet 869
19 ActiveX- und Internet-Grundlagen 871
20 Internet-Steuerelemente 881
21 ActiveX Automation (Office-97-Steuerung) 913
22 ActiveX-Komponenten 945
23 ActiveX-Steuerelemente erstellen 991
24 ActiveX-Dokumente 1027
25 Visual Basic Script 1043
26 DHTML-Programmierung 1059
27 Active Server Pages 1087
28 IIS-Anwendungen 1127

Anhang 1159
A Dateikennungen 1159
B HTML-Kurzreferenz 1163
C Die beiliegende CD-ROM 1169
D Quellenverzeichnis 1171

Stichwortverzeichnis 1173
 

Inhaltsverzeichnis

Vorwort 21

Konzeption 23

I INTUITIVER EINSTIEG 29

1 Schnelleinstieg 31
1.1 Die wichtigsten Bedienungselemente von Visual Basic 32
1.2 Der Aufbau von Visual-Basic-Programmen 34
1.3 Beispielprogramm: Hello World 34
1.4 Beispielprogramm: Split 39

2 Systemüberblick 49
2.1 Neuerungen in Visual Basic 6.0 50
2.1.1 Entwicklungsumgebung/Compiler 50
2.1.2 Sprachmerkmale 50
2.1.3 Steuerelemente 51
2.1.4 Datenbanken 53
2.1.5 Internet 55
2.1.6 Inkompatibilitäten 55
2.1.7 Weitere Neuigkeiten in diesem Buch 56
2.1.8 Mängel- und Wunschliste 57
2.2 Die Komponenten von Visual Basic 60
2.3 Visual Basic für Applikationen (VBA) und VBScript 63

3 Entwicklungsumgebung 67
3.1 Einführung 68
3.2 Gestaltung von Formularen 72
3.3 Codeeingabe 77
3.4 Objektkatalog 80
3.5 Programmausführung, Kompilierung 82
3.5.1 Programmausführung in der Entwicklungsumgebung 82
3.5.2 Kompilierung zu *.exe- oder *.dll-Dateien 83
3.5.3 Bedingte Kompilierung 84
3.6 Designer 85
3.7 Assistenten 86
3.8 Installationsassistent 88
3.8.1 Grundlagen 88
3.8.2 Bedienung des Installationsassistenten 90
3.8.3 Installation mit dem Setup-Programm ausführen 95
3.9 MSDN-Dokumentation 97
3.10 Tastenkürzel 98

II Grundlagen 101

4 Prozedurale Programmierung 103
4.1 Variablen und Felder 104
4.1.1 Variablenverwaltung, Datentypen 104
4.1.2 Konstanten und Enum-Aufzählungen 114
4.1.3 Eigene Datentypen 115
4.1.4 Felder 117
4.1.5 Syntaxzusammenfassung 120
4.2 Prozeduren 121
4.2.1 Unterprogramme und Funktionen 121
4.2.2 Parameter von Prozeduren 124
4.2.3 Rekursion 129
4.2.4 Gültigkeitsbereiche von Variablen und Prozeduren 130
4.2.5 Syntaxzusammenfassung 133
4.3 Verzweigungen (Abfragen) 134
4.3.1 If-Then-Else 134
4.3.2 Select-Case 136
4.3.3 IIf, Choose und Switch 137
4.3.4 Syntaxzusammenfassung 138
4.4 Schleifen 139
4.4.1 For-Next-Schleifen 139
4.4.2 While-Wend-Schleifen 140
4.4.3 Syntaxzusammenfassung 141
4.5 Operatoren 142

5 Objektorientierte Programmierung 147
5.1 Umgang mit vorgegebenen Objekten 148
5.1.1 Objekte, Methoden, Eigenschaften 148
5.1.2 Defaulteigenschaften und -methoden 150
5.1.3 Auflistungen (Aufzählobjekte und -methoden) 151
5.1.4 Objekthierarchie, Objektzugriff mit With 152
5.1.5 Ereignisse 154
5.2 Objektbibliotheken 155
5.3 Objektvariablen 159
5.3.1 Umgang mit Objektvariablen 159
5.3.2 Neue Objekte erzeugen 164
5.3.3 Objekte/Objektvariablen löschen 166
5.4 Collection- und Dictionary-Objekte 166
5.5 Programmierung eigener Objekte (Klassenmodule) 170
5.5.1 Einführung 170
5.5.2 Programmierung von Objektklassen 171
5.5.3 Eigenschaftsprozeduren 173
5.5.4 Methoden 176
5.5.5 Eigene Ereignisse 176
5.5.6 Konstanten 178
5.5.7 Programmierung von Aufzählklassen 179
5.5.8 Gültigkeit von Variablen und Prozeduren 182
5.5.9 Objekthierarchien/Vererbung/Polymorphismus 184
5.5.10 Interna der Objektverwaltung 191
5.5.11 Der Objektklassenassistent 193
5.6 Objektklassenbeispiel 194
5.6.1 Anwendung der Klassen 194
5.6.2 Die Klassen Bock und Books 197
5.6.3 Die Klassen Bookmark und Bookmarks 200
5.7 Syntaxzusammenfassung 200

6 Standardsteuerelemente 205
6.1 Überblick 206
6.2 Gemeinsame Merkmale 206
6.3 Bildfeld (Picture) 208
6.4 Button (CommandButton) 210
6.5 Kontrollkästchen und Optionsfelder (CheckBox) 212
6.6 Textfelder (TextBox) und Labelfelder (Label) 214
6.7 Rahmen (Frame) 218
6.8 Bildlaufleisten (HScrollBar, VScrollBar) 220
6.9 Listenfeld und Kombinationsfeld (ListBox, ComboBox) 223
6.10 Datei-, Verzeichnis- und Laufwerkslistenfelder 228
6.11 Zeitmesser (Timer) 231
6.12 Figuren- und Linienfeld (Shape, Line) 232
6.13 Image-Feld (Image) 233
6.14 Die MS-Forms-Bibliothek 234
6.15 Windowless-Steuerelemente 235

7 Zusatzsteuerelemente 237
7.1 Einführung 238
7.2 Überblick über die Zusatzsteuerelemente 240
7.3 Standarddialoge (CommonDialog) 244
7.3.1 Datei öffnen, Datei speichern unter 246
7.3.2 Farbe auswählen 253
7.3.3 Zeichensatz auswählen 255
7.3.4 Drucker auswählen 259
7.3.5 Syntaxzusammenfassung 261
7.4 Windows-9x-Steuerelemente (Common Controls) 262
7.5 Schieberegler (Slider) 265
7.6 Zustandsanzeige (ProgressBar) 266
7.7 Mehrblättrige Dialoge (TabStrip) 268
7.8 Bitmap-Container (ImageList) 270
7.9 Symbolleiste (ToolBar) 274
7.10 Statusleiste (StatusBar) 280
7.11 Tabellen (ListView) 283
7.12 Hierarchische Listen (TreeView) 296
7.13 Bitmap-Listenfeld (ImageCombo) 303
7.14 Drehfeld (UpDown) 305
7.15 Flache Bildlaufleiste (FlatScrollBar) 306
7.16 Bildsequenzen (Animation) 307
7.17 Datum- und Zeiteingabe (MonthView, DTPicker) 308
7.18 Symbolleiste (CoolBar) 314
7.19 Mehrblättrige Dialoge (SSTab) 317
7.20 Formatierter Text (RichText) 319
7.21 Tabellen (MSFlexGrid/MSHFlexGrid) 334
7.22 Diagramme (MSChart) 344
7.23 Beispielprogramm: Bitmap-Viewer 355

8 Fehlersuche, Fehlerabsicherung 365
8.1 Hilfsmittel zur Fehlersuche (Debugging) 366
8.1.1 Syntaxkontrolle 366
8.1.2 Reaktion auf Fehler 367
8.1.3 Kontrollierte Programmausführung 369
8.1.4 Fehlersuche in ActiveX-Komponenten 372
8.2 Fehlertolerantes Verhalten von Programmen 373

III Programmiertechniken 381

9 Zahlen, Zeichenketten, Datum und Uhrzeit 383
9.1 Zahlen 384
9.2 Zeichenketten 386
9.2.1 Grundlagen 386
9.2.2 Das Euro-Symbol 388
9.2.3 Funktionen zur Bearbeitung von Zeichenketten 390
9.2.4 Programmiertechniken 394
9.2.5 Syntaxzusammenfassung 397
9.3 Datum und Uhrzeit 399
9.3.1 Funktionen 399
9.3.2 Rechnen mit Daten und Zeiten 401
9.3.3 Syntaxzusammenfassung 402

10 Oberflächengestaltung 405
10.1 Formulare, Fenster, Dialoge 406
10.1.1 Fenstermerkmale 406
10.1.2 Formular-Ereignisse 410
10.1.3 Fenster mit variabler Größe 413
10.1.4 Programme mit mehreren Fenstern 418
10.1.5 Interna der Formularprogrammierung 421
10.1.6 Entwurf und Design komplexer Formulare 424
10.1.7 Dynamische Veränderung von Formularen 426
10.1.8 Syntaxzusammenfassung 432
10.2 Multiple Document Interface (MDI) 435
10.3 Mehrfachinstanzen von Formularen 443
10.4 Menüs 445
10.4.1 Grundlagen 445
10.4.2 Programmiertechniken 449
10.4.3 Syntaxzusammenfassung 456

11 Grafikprogrammierung 457
11.1 Grundlagen 458
11.1.1 Grafikmethoden und -eigenschaften 458
11.1.2 Paint-Ereignis, AutoRedraw-Eigenschaft 461
11.1.3 Umgang mit Bitmaps und Icons 468
11.2 Eigene Koordinatensysteme verwenden 473
11.3 Bildlaufleisten zur Einstellung des Grafikausschnitts 477
11.3.1 Grundlagen 477
11.3.2 Beispielprogramm: Gitternetz (Bildlaufleisten) 480
11.3.3 Beispielprogramm: KingSize (beliebig große Bitmaps) 484
11.4 Aufruf von GDI-Funktionen 488
11.5 Farben in Visual-Basic-Programmen 493
11.5.1 Grundlagen 493
11.5.2 Die Grafikprogrammierung im 256-Farben-Modus 495
11.6 Apfelmännchenprogramm 498
11.6.1 Merkmale und Bedienung 499
11.6.2 Programmcode 501
11.6.3 Algorithmus 502
11.6.4 Modul ApfelMain 503
11.6.5 Formular ApfelHauptformular 509
11.7 Syntaxzusammenfassung 511

12 Ein- und Ausgabe 513
12.1 Umgang mit Dateien 514
12.1.1 File System Objects - Überblick 514
12.1.2 Laufwerke, Verzeichnisse und Dateien 516
12.1.3 Textdateien (TextStream) 522
12.1.4 Text-, Binär- und Random-Access-Dateien (Open) 524
12.1.5 Programmiertechniken 532
12.1.6 Dateien sicher löschen (Papierkorb) 536
12.1.7 Syntaxzusammenfassung 538
12.2 Tastaturereignisse 541
12.3 Verwaltung der Maus 547
12.4 Drag and Drop 552
12.4.1 Drag and Drop innerhalb von Visual Basic 553
12.4.2 Beispiele zu Drag and Drop 555
12.4.3 OLE-Drag-and-Drop 561
12.4.4 Manuelle OLE-Drop-Operationen 563
12.4.5 Manuelle OLE-Drag-Operationen 564
12.4.6 Beispiel zu manuellem OLE-Drag-and-Drop 567
12.4.7 Datei-Drop aus dem Explorer 577
12.4.8 Syntaxzusammenfassung 580
12.5 Zugriff auf die Zwischenablage 581
12.6 Ausgabe am Drucker 588
12.6.1 Drucken mit dem Printer-Objekt 589
12.6.2 Drucken mit GDI-Funktionen 594
12.6.3 Direkte Druckersteuerung 599
12.6.4 Beispielprogramm 599
12.6.5 Syntaxzusammenfassung 608

13 Systemnahe Programmierung 611
13.1 Aufruf von DLL-Funktionen 612
13.1.1 Einführung 612
13.1.2 Das Zusatzprogramm API-Viewer 616
13.1.3 Parameterübergabe an DLL-Funktionen 617
13.1.4 Callback-Funktionen und Sub-Classing 623
13.1.5 Die Funktionen VarPtr, StrPtr und ObjPtr 628
13.1.6 Beispiele 628
13.1.7 Syntaxzusammenfassung 634
13.2 IntelliMouse-Ereignisse verarbeiten 634
13.2.1 Grundlagen 635
13.2.2 Setup 637
13.2.3 Sub-Classing-Funktion aktivieren/deaktivieren 638
13.2.4 Die neue Windows-Funktion 641
13.3 DLL-Funktionen in C++ programmieren 643
13.3.1 DLL-Interna 644
13.3.2 Beispiel: Apfelmännchengrafiken per DLL 647
13.3.3 DLLs mit Type-Library 650
13.4 Zugriff auf die Registrierdatenbank 653
13.4.1 Grundlagen 653
13.4.2 Zugriff auf die Registrierdatenbank 655
13.5 Ressourcendateien 659
13.6 Informationen zum laufenden Programm 660
13.7 SysInfo-Steuerelement 662
13.8 Hintergrundberechnungen und Warteschleifen 663
13.8.1 Hintergrundberechnungen 663
13.8.2 Beispielprogramm 665
13.8.3 Warteschleifen 666
13.9 Fremde Programme starten 667

14 Eigene Online-Hilfe (HTMLHelp) 671
14.1 Einführung 672
14.2 Aufbau eines HTML-Hilfedokuments 674
14.3 HTMLHelp-Workshop 675
14.4 Die Online-Hilfe im Visual-Basic-Programm aufrufen 680

IV Datenbanken 687

15 Datenbankgrundlagen 689
15.1 Einführung 690
15.2 Kleines Datenbankglossar 691
15.3 Bibliotheken zur Datenbankprogrammierung 695
15.4 Relationale Datenbanken 700
15.5 Standard Query Language (SQL) 707
15.6 Datenbanken im Netzwerk 715
15.7 Datenbankentwurf 719
15.7.1 Entwurf des Datenbankschemas 719
15.7.2 Werkzeuge zum Datenbankentwurf 720
15.7.3 Datenmanager (VisData) 721

16 ADO-Einführungsbeispiel 727
16.1 Datenbankentwurf 728
16.2 Programmdesign 728
16.3 Verbindung zwischen Programm und Datenbank 730
16.4 Hauptmenü 733
16.5 Eingabemaske 734
16.5.1 Datenformular-Assistent 734
16.5.2 Aufbau des Formulars 736
16.5.3 Programmcode 736
16.6 Tabellenansicht 742
16.7 Ausdruck der Adreßliste 744

17 ADO-Bibliothek 749
17.1 ADO-Objekthierarchie 750
17.2 Datenbankverbindung (Connection, Property) 754
17.2.1 Grundlagen 754
17.2.2 Asynchroner Verbindungsaufbau 759
17.2.3 Transaktionen 760
17.2.4 Syntaxzusammenfassung 762
17.3 Abfragen (Command, Parameter) 763
17.3.1 Grundlagen 763
17.3.2 Abfragen mit Parametern 767
17.3.3 Asynchrone und kompilierte Abfragen 769
17.3.4 Syntaxzusammenfassung 772
17.4 Datensatzlisten (Recordset, Field) 772
17.4.1 Grundlagen 772
17.4.2 Datensatzfelder (Fields) 774
17.4.3 Navigation in Datensatzlisten 776
17.4.4 Datensätze verändern 779
17.4.5 Locking, Cursortyp 782
17.4.6 Hierarchische Datensatzlisten (Data Shaping) 790
17.4.7 Recordsets ohne Datenbank 797
17.4.8 Syntaxzusaminenfassung 801
17.5 Fehlerverarbeitung (Error) 802

18 ADO-Steuerelemente und -Designer 805
18.1 Verbindungsdaten (DataEnvironment) 806
18.1.1 Connection 807
18.1.2 Command 808
18.1.3 DataEnvironment-Programmcode 810
18.1.4 Das Datenansichtfenster 812
18.2 Datenbankfeld (Adodc) 815
18.3 Gebundene Standardsteuerelemente 822
18.3.1 Grundlagen 822
18.3.2 Programmiertechniken 825
18.4 Formatierung (DataFormat) 831
18.5 Listenfelder (DataList/DataCombo) 836
18.6 Tabellenfelder (DataGrid/MSHFlexGrid) 841
18.6.1 DataGrid 841
18.6.2 MSHFlexGrid 851
18.7 Tabellen-Containerfeld (DataRepeater) 855
18.8 Diagramme (MSChart) 860
18.9 Datenbankberichte (DataReport) 862
18.9.1 Einführung 862
18.9.2 DataReport-Komponenten 864
18.9.3 Beispiele 866
18.9.4 Alternativen zum DataReport-Designer 868

V ActiveX/Internet 869

19 ActiveX- und Internet-Grundlagen 871
19.1 Was ist ActiveX? 872
19.2 Komponentenorientierte Programmierung 873
19.2.1 Typen von Komponenten 873
19.2.2 Nutzung von Komponenten 875
19.2.3 Programmierung neuer Komponenten 875
19.3 Internet/Intranet 877

20 Internet-Steuerelemente 881
20.1 Überblick 882
20.2 WWW-Dokumente anzeigen 883
20.2.1 Das WebBrowser-Steuerelement 884
20.2.2 ActiveX-Steuerung des Internet Explorers 889
20.2.3 Syntaxzusammenfassung 892
20.3 E-Mail-Verwaltung (MAPI) 893
20.3.1 Grundlagen 893
20.3.2 Die MAPI-Steuerelemente 894
20.3.3 Alternativen zum MAPI-Steuerelement 897
20.4 Dateien übertragen (Inet) 898
20.5 Daten übertragen (Winsock) 903
20.5.1 TCP-Kommunikation 904
20.5.2 TCP-Beispielprogramm 906
20.5.3 UDP-Kommunikation 911
20.5.4 Syntaxzusammenfassung 912

21 ActiveX Automation (Office-97-Steuerung) 913
21.1 OLE-Einführung 914
21.2 OLE-Feld 917
21.2.1 OLE-Objekte beim Programmentwurf festlegen 918
21.2.2 Programmierung des OLE-Felds in Visual Basic 919
21.3 ActiveX Automation 926
21.4 ActiveX Automation mit Office 97 930
21.4.1 3D-Diagramm mit Excel erzeugen und ausdrucken 931
21.4.2 Datenbankbericht mit Access ausdrucken 939
21.4.3 Text mit WinWord ausdrucken 941

22 ActiveX-Komponenten 945
22.1 Einführung 946
22.1.1 Was sind ActiveX-Komponenten? 946
22.1.2 Stabilität versus Geschwindigkeit 947
22.1.3 Optionen und Einstellungen 950
22.1.4 Entwicklungsumgebung 953
22.1.5 Einführungsbeispiel 954
22.1.6 Server-Kompilate 957
22.1.7 Neu in Visual Basic 6 958
22.2 ActiveX-Grundlagen 959
22.2.1 Identifikationsnummern (UUIDs) und Registrierung 960
22.2.2 Registrierung 963
22.2.3 Kompatibilität 964
22.2.4 Projekt-Eigenschaften 965
22.2.5 Wie lange läuft ein ActiveX-Server? 969
22.3 Klassen und Instanzen 971
22.4 Multithreading 975
22.4.1 Out-of-Process-Multithreading (EXEs) 977
22.4.2 In-Process-Multithreading (DLLs) 979
22.4.3 Thread-sichere Komponenten 980
22.5 Asynchrone Kommunikation 981
22.5.1 Callback-Funktionen 982
22.5.2 Ereignisprozeduren 987

23 ActiveX-Steuerelemente erstellen 991
23.1 Einführung 992
23.1.1 Was sind ActiveX-Steuerelemente? 992
23.1.2 Ein Steuerelement in fünf Minuten 993
23.1.3 Verwendung von ActiveX-Steuerelementen 994
23.2 ActiveX-Steuerelemente im Internet 995
23.2.1 ActiveX-Steuerelemente in HTML-Dokumenten 995
23.2.2 Cabinet-Dateien 997
23.2.3 Installation am lokalen Rechner 1000
23.2.4 Wie sicher sind ActiveX-Steuerelemente? 1000
23.2.5 Sicherheit per Definition 1002
23.2.6 Authentifizierung und Signaturen 1003
23.3 Programmiertechniken 1006
23.3.1 Grundlagen 1006
23.3.2 Eigenschaften, Methoden und Ereignisse 1008
23.3.3 Darstellung des Steuerelements 1014
23.3.4 Asynchrone Datenübertragung 1015
23.3.5 Windowless-Steuerelemente 1017
23.3.6 Sub-Classing in ActiveX-Steuerelementen 1017
23.3.7 Syntaxzusammenfassung 1019
23.4 Eigenschaftsdialoge 1021
23.5 Assistenten 1024
23.5.1 ActiveX-Schnittstellenassistent 1025
23.5.2 Eigenschaftsseitenassistent 1025

24 ActiveX-Dokumente 1027
24.1 Grundlagen 1028
24.2 ActiveX-Dokumente ausführen 1030
24.3 Programmiertechniken 1032
24.3.1 Interna von ActiveX-Dokumenten 1032
24.3.2 Navigation zwischen mehreren Dokumenten 1034
24.3.3 Programmausführung 1036
24.3.4 Einstellungen speichern 1038
24.3.5 Syntaxzusammenfassung 1039
24.4 ActiveX-Dokumentassistent 1040
24.5 Beispielprogramm: 5 Gewinnt 1041

25 Visual Basic Script 1043
25.1 Einführung 1044
25.1.1 'Hello World' in VBScript 1044
25.1.2 VBScript-Sprachumfang 1046
25.1.3 Internet-Explorer-Objekte 1047
25.2 Programmiertechniken 1049
25.2.1 Zeitverzögerte Umleitung auf eine andere Seite 1049
25.2.2 HTML-Seiten beim Laden dynamisch aufbauen 1050
25.2.3 ActiveX-Steuerelemente verwenden 1054
25.3 Script-Debugger 1056

26 DHTML-Programmierung 1059
26.1 Einführung 1060
26.1.1 Grundlagen 1060
26.1.2 Hello DHTML-World 1064
26.1.3 DHTML-Projekte ins Netz stellen 1065
26.2 DHTML-Designer 1066
26.3 DHTML-Objekthierarchie 1068
26.3.1 DHTMLPage-Objekt 1069
26.3.2 HTML Object Library (MSHTML) 1070
26.3.3 HTMLWindow2-Objekt 1076
26.3.4 HTMLDocument-Objekt 1076
26.3.5 HTMLFormElement-Objekt 1077
26.3.6 HTMLAnchor- und HTMLLocationElement 1078
26.3.7 HTMLHistoryElement 1078
26.3.8 HTMLNavigator-Objekt 1079
26.4 Programmiertechniken 1079
26.4.1 SPAN- und DIV-Tags 1079
26.4.2 Ereignisse 1082
26.4.3 Navigation zwischen DHTML-Seiten 1084
26.4.4 Cookies 1084

27 Active Server Pages 1087
27.1 Server-seitige Programmierung, CGI 1088
27.2 Hello ASP-World 1093
27.3 ASP-Objektbibliothek 1098
27.3.1 Application-Objekt 1099
27.3.2 Session-Objekt 1099
27.3.3 Server-Objekt 1100
27.3.4 Request-Objekt 1101
27.3.5 Response-Objekt 1102
27.3.6 ScriptingContext-Objekt 1103
27.3.7 Syntaxzusammenfassung 1103
27.4 Programmiertechniken 1104
27.4.1 Grundlagen 1104
27.4.2 Auswertung von Formularen 1109
27.4.3 Automatische Umleitung zur Startseite 1111
27.4.4 Besucheranzahl messen 1111
27.4.5 Protokollierung von Ereignissen 1113
27.5 Datenbankzugriff mit der ADO-Bibliothek 1114
27.5.1 Einführungsbeispiel 1115
27.5.2 Abfrage als HTML-Tabelle formatieren 1117
27.5.3 Abfrageergebnisse über mehrere Seiten verteilen 1119

28 IIS-Anwendungen 1127
28.1 Grundlagen 1128
28.2 WebClass-Designer 1133
28.2.1 Templates 1134
28.2.2 WebItems ohne zugeordnete HTML-Datei 1137
28.2.3 Projekteigenschaften 1137
28.3 Programmiertechniken 1139
28.4 ADO-Beispiel 1150
28.5 Syntaxzusammenfassung 1156

Anhang 1159
A Dateikennungen 1159
B HTML-Kurzreferenz 1163
C Die beiliegende CD-ROM 1169
D Quellenverzeichnis 1171

Stichwortverzeichnis 1173



Vorwort, Inhaltsverzeichnis, Klappentext, und mein Fazit

Klappentext

Seit der ersten Auflage zu Visual Basic 1 bildet dieses Buch das Fundament für Zehntausende professioneller Visual-Basic-Programmierer. Die vorliegende Neuauflage wurde vollständig überarbeitet. Besondere Berücksichtigung finden die ADO-Datenbankbibliothek, die neuen Zusatzsteuerelemente sowie IIS- und DHTML-Anwendungen. Die neuen Features werden kritisch beschrieben - nicht wie sie laut Dokumentation funktionieren sollten, sondern wie sie tatsächlich funktionieren. Selbstverständlich basiert das Buch auf der deutschen Endversion.

Das Buch setzt einen großen Akzent auf die Vermittlung von Grundlagenwissen: Sie lernen nicht nur, wie Visual Basic funktioniert, sondern auch, warum. Unzählige Beispielprogramme und Programmiertechniken helfen, Visual Basic rasch und effizient einzusetzen. Kompakte Syntaxzusammenfassungen ergänzen die Online-Dokumentation von Visual Basic und vermitteln den Überblick, der dort fehlt.

Zur letzten Auflage schrieb BasicPro 5/97:
"Zusammenfassend läßt sich sagen, daß dieses durchgehend kompetente, sachlich und sauber recherchierte, glänzend layoutete, illustrierte und redigierte Buch zum Besten gehört, was Sie gegenwärtig auf dem deutschsprachigen Buchmarkt finden können. Viel Lob läßt sich schließlich in ein Wort fassen: Kaufen!"

Michael Kofler ist einer der erfolgreichsten Buchautoren bei Addison-Wesley. Seine Themengebiete umfassen Computer-Algebra-Systeme, VB, VBA und Linux.
 
 



Vorwort, Inhaltsverzeichnis, Klappentext, und mein Fazit

Mein Fazit

Dieses Buch ist ein Standard-Werk und gehört an jeden Arbeitsplatz, an dem in Visual Basic programmiert wird. Die lockere Schreibweise des Autors macht Spaß. Tiefgang hat das Buch dabei aber immer: Alle wichtigen Themen werden erschöpfend abgehandelt. Eben ein Klassiker.
Es eignet sich sowohl zum Einstieg in VB6, als auch als Nachschlagewerk.

Visual Basic 6
Programmiertechniken, Datenbanken, Internet.
    Autor: Kofler, Michael
    Verlag: Addison-Wesley
 erschienen: 11/1998
Sprache: deutsch
Seiten: 1197
mit CD-ROM
    Preis: EUR 49,95

Cover

Hier geht's zu den weiteren Leserbewertungen und zur Bestellmöglchkeit bei Amazon.de


vbBooks.de
Zurück zur Haupseite