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.
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
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.
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
Hier geht's zu den weiteren Leserbewertungen und zur Bestellmöglchkeit bei Amazon.de