Visual Basic 6 . Programmiertechniken, Datenbanken, Internet

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Author(s): Michael Kofler

Language: German
Pages: 1196

Cover......Page 1
Visual Basic 6......Page 2
ActiveX-Komponenten......Page 4
Stichwortverzeichnis......Page 5
Entwicklungsumgebung......Page 6
Objektorientierte Programmierung......Page 7
Standardsteuerelemente......Page 8
Fehlersuche, Fehlerabsicherung......Page 9
Grafikprogrammierung......Page 10
Ein- und Ausgabe......Page 11
Eigene Online-Hilfe (HTMLHelp)......Page 12
ADO-Bibliothek......Page 13
ADO-Steuerelemente und -Designer......Page 14
ActiveX Automation (Office-97-Steuerung)......Page 15
ActiveX-Steuerelemente erstellen......Page 16
DHTML-Programmierung......Page 17
Active Server Pages......Page 18
Anhang......Page 19
Warum dieses Buch?......Page 20
Viel Erfolg!......Page 21
Konzeption des Buches......Page 22
Querverweise auf die MSDN-Library......Page 23
Verwendete Hard- und Software......Page 24
Abkürzungen......Page 25
Und eine Entschuldigung......Page 26
Teil I: Intuitiver Einstieg......Page 28
Schnelleinstieg......Page 30
Die wichtigsten Bedienungselemente von Visual Basic......Page 31
Beispielprogramm: Hello World......Page 33
Steuerelemente einfügen......Page 34
Eigenschaften einstellen......Page 35
Programmcode erstellen......Page 36
Programm speichern......Page 37
Beispielprogramm: Split......Page 38
Formulargestaltung......Page 39
Steuerelemente benennen......Page 40
Der Programmcode......Page 41
Split in eine eigenständige *.exe-Datei umwandeln......Page 46
Systemüberblick......Page 48
Sprachmerkmale......Page 49
Standardsteuerelemente......Page 50
Neue Zusatzsteuerelemente......Page 51
Datenbanken......Page 52
Inkompatibilitäten......Page 54
Weitere Neuigkeiten in diesem Buch......Page 55
Mängel- und Wunschliste......Page 56
Ausgereiftheit und Stabilität......Page 58
Versionen......Page 59
Nicht installierte Komponenten und Tools......Page 60
Icons, Bitmaps für Symbolleisten......Page 61
Visual Basic für Applikationen (VBA)......Page 62
Visual Basic Script......Page 63
Entwicklungsumgebung......Page 66
Projekttypen......Page 67
Schablonen (Template-Verzeichnis)......Page 68
Gleichzeitige Bearbeitung mehrerer Projekte (Projektgruppen)......Page 69
Gestaltung von Formularen......Page 70
Zusatzsteuerelemente......Page 71
Steuerelementfelder......Page 72
Eigenschaften......Page 73
Farben......Page 74
Tabulatorreihenfolge......Page 75
Codeeingabe......Page 76
Cursorbewegung im Programmcodefenster......Page 77
Änderungen rückgängig machen......Page 78
Objektkatalog......Page 79
Programmausführung in der Entwicklungsumgebung......Page 81
Kompilierung zu *.exe- oder *.dll-Dateien......Page 82
Bedingte Kompilierung......Page 83
Designer......Page 84
Assistenten......Page 85
Grundlagen......Page 87
Probleme......Page 88
Vorarbeiten......Page 89
Standard-Setup-Paket......Page 90
Abhängigkeitsdateien......Page 91
Probleme mit fehlenden Bibliotheken......Page 92
Internet-Installation......Page 93
Installation mit dem Setup-Programm ausführen......Page 94
Installationsprobleme......Page 95
MSDN-Dokumentation......Page 96
Tastenkürzel......Page 97
Programmausführung......Page 98
Im Codefenster......Page 99
Teil II: Grundlagen......Page 100
Prozedurale Programmierung......Page 102
Variablendeklaration......Page 103
Variablennamen......Page 104
Variablentypen (Datentypen)......Page 105
Der universelle Datentyp Variant......Page 106
Integerzahlen (Byte, Integer und Long)......Page 107
Fließkommazahlen (Typ Single und Double)......Page 108
Zeichenketten (Typ String)......Page 109
Spezifikation von Zeichenketten, Zahlen, Daten und Zeiten......Page 110
Automatische Datentypenkonvertierung......Page 112
Enum-Aufzählungen......Page 113
Eigene Datentypen......Page 114
Dynamische Felder......Page 116
Indexgrenzen ermitteln......Page 117
Aufzählungen (Collection, Dictionary)......Page 118
Syntaxzusammenfassung......Page 119
Unterprogramme und Funktionen......Page 120
Prozedurnamen......Page 122
Rückgabeparameter (call by reference)......Page 123
Wertparameter (call by value)......Page 124
Felder als Parameter übergeben......Page 125
Optionale Parameter......Page 126
Variable Parameterzahl......Page 127
Rekursion......Page 128
Gültigkeitsbereiche von Variablen und Prozeduren......Page 129
Statische Variablen......Page 130
Generelle und globale Prozeduren......Page 131
Syntaxzusammenfassung......Page 132
If-Then-Else......Page 133
Formulierung und Auswertung logischer Bedingungen......Page 134
Select-Case......Page 135
IIf, Choose und Switch......Page 136
Syntaxzusammenfassung......Page 137
For-Next-Schleifen......Page 138
While-Wend-Schleifen......Page 139
Syntaxzusammenfassung......Page 140
Operatoren......Page 141
Hierarchie der Operatoren......Page 142
Syntaxzusammenfassung......Page 143
Objektorientierte Programmierung......Page 146
Eigenschaften......Page 147
Eigene Eigenschaften und Methoden......Page 148
Defaulteigenschaften und -methoden......Page 149
Auflistungen (Aufzählobjekte und -methoden)......Page 150
Objekthierarchie, Objektzugriff mit With......Page 151
Ereignisse......Page 153
Objektbibliotheken......Page 154
Ständig verfügbare Objektbibliotheken......Page 155
Optionale Objektbibliotheken......Page 156
ActiveX Automation......Page 157
Umgang mit Objektvariablen......Page 158
Objekte als Ergebnisse von Funktionen zurückgeben......Page 160
Objekttyp feststellen......Page 161
Die Schlüsselwörter Me, ActiveForm und ActiveControl......Page 162
Neue Objekte erzeugen......Page 163
Collection- und Dictionary-Objekte......Page 165
Collection-Objekttyp......Page 166
Dictionary......Page 167
Einführung......Page 169
Programmierung von Objektklassen......Page 170
Tips zur Benennung von Objekten, Methoden, Eigenschaften und Ereignissen......Page 171
Eigenschaftsprozeduren für Zahlenwerte / Zeichenketten......Page 172
Eigenschaftsprozeduren für Objekte (Objektverweise)......Page 173
Defaulteigenschaften......Page 174
Ereignisse definieren und auslösen......Page 175
Ereignisse empfangen......Page 176
Konstanten......Page 177
Programmierung von Aufzählklassen......Page 178
Verwaltung der Collection-Schlüssel......Page 180
Kapselung von Daten und Prozeduren......Page 181
Besonderheiten bei ActiveX-Komponenten......Page 182
Objekthierarchien......Page 183
Polymorphismus – Viel Wind um Nichts......Page 184
Anwendung von Polymorphismus-Klassen......Page 185
Code für die abgeleiteten Klassen......Page 186
Auf Eigenschaften / Methoden des übergeordneten Objekts zurückgreifen......Page 187
Offenlegen der übergeordneten Eigenschaften / Methoden......Page 188
Hintergründe......Page 189
Early and Late Binding......Page 190
Lebensdauer von Objekten......Page 191
Einschränkungen......Page 192
Anwendung der Klassen......Page 193
Die Klassen Book und Books......Page 196
Syntaxzusammenfassung......Page 199
Definition eigener Klassen......Page 201
Standardsteuerelemente......Page 204
Gemeinsame Merkmale......Page 205
Das Koordinatensystem in Bildfeldern......Page 207
Beispiel......Page 208
Button (CommandButton)......Page 209
Beispiel......Page 210
Kontrollkästchen und Optionsfelder (CheckBox, OptionButton)......Page 211
Beispiel......Page 212
Textfelder (TextBox) und Labelfelder (Label)......Page 213
Textanzeige......Page 214
Beispiel......Page 215
Steuerelemente in den Rahmen einfügen......Page 217
Beispiel......Page 218
Bildlaufleisten (HScrollBar, VScrollBar)......Page 219
Beispiel......Page 221
Listenfeld und Kombinationsfeld (ListBox, ComboBox)......Page 222
Gemeinsame Merkmale......Page 223
Beispiel......Page 224
Syntaxzusammenfassung......Page 226
Dateilistenfeld......Page 227
Beispiel......Page 228
Beispiel......Page 230
Figuren- und Linienfeld (Shape, Line)......Page 231
Image-Feld (Image)......Page 232
Die MS-Forms-Bibliothek......Page 233
Windowless-Steuerelemente......Page 234
Zusatzsteuerelemente......Page 236
Zusatzsteuerelemente verwenden......Page 237
Zusatzsteuerelemente weitergeben......Page 238
Windows-9x-Steuerelemente (Microsoft Windows Common Controls Teil 1 bis 3)......Page 239
Steuerelemente für Datenbankanwendungen......Page 240
Sonstiges......Page 241
Welches Steuerelement für welchen Zweck?......Page 242
CommonDialog-Steuerelement......Page 243
Datei öffnen, Datei speichern unter......Page 245
Aussehen und Eigenschaften des Standarddialogs......Page 246
Zusatzinformationen, Rückgabeparameter......Page 247
Die Hilfsfunktionen FileSel und AnalyseName......Page 248
Beispielprogramm......Page 249
Farbe auswählen......Page 252
Beispielprogramm......Page 253
Die Konstanten für die Flags-Eigenschaft......Page 254
Das Font-Objekt......Page 255
Die Hilfsfunktionen FontSel, InitCommonFont, ReadCommonFont......Page 256
Beispielprogramm......Page 257
Drucker auswählen......Page 258
Die Konstanten für die Flags-Eigenschaft......Page 259
Syntaxzusammenfassung......Page 260
Eigenschaftsdialog......Page 261
Update von Version 5 auf Version 6......Page 262
Schieberegler (Slider)......Page 264
Zustandsanzeige (ProgressBar)......Page 265
Beispielprogramm......Page 267
Programmcode......Page 268
Bitmap-Container (ImageList)......Page 269
Programmierung......Page 271
Syntaxzusammenfassung......Page 272
Einstellungen im Eigenschaftsdialog......Page 273
Programmierung......Page 275
Eigene Steuerelemente in der Symbolleiste......Page 276
Veränderung der Symbolleiste während des Programmablaufs......Page 277
Syntaxzusammenfassung......Page 278
Einstellungen im Eigenschaftsdialog......Page 279
Eigene Steuerelemente in der Statusleiste......Page 280
Syntaxzusammenfassung......Page 281
Alternativen......Page 282
Allgemeine Einstellungen im Eigenschaftsdialog......Page 283
Weitere Einstellungen......Page 284
Objekthierarchie......Page 285
Programmierung......Page 286
Liste neu sortieren......Page 287
Ereignisse......Page 288
Beispielprogramm......Page 289
Syntaxzusammenfassung......Page 294
Einstellungen im Eigenschaftsdialog......Page 295
Das Nodes-Subobjekt......Page 296
Eintrag hinzufügen......Page 297
Ereignisse......Page 298
Beispielprogramm......Page 299
Syntaxzusammenfassung......Page 301
Bitmap-Listenfeld (ImageCombo)......Page 302
Drehfeld (UpDown)......Page 304
Flache Bildlaufleiste (FlatScrollBar)......Page 305
Bildsequenzen (Animation)......Page 306
Gemeinsame Merkmale......Page 307
MonthView......Page 308
DTPicker......Page 309
Benutzerdefinierte Datums- / Zeitformatierung......Page 310
Syntaxzusammenfassung......Page 312
Symbolleiste (CoolBar)......Page 313
Programmentwurf......Page 314
Beispielprogramm......Page 316
Formatierter Text (RichText)......Page 318
Programmierung......Page 320
Cursorposition, markierter Text......Page 321
Absatzformat......Page 322
Suchen im Text......Page 323
Zeilennummer ermitteln......Page 324
Datenaustausch mit der Zwischenablage......Page 325
Beispielprogramm......Page 326
Auswertung von Command beim Programmstart......Page 327
Textgröße verändern......Page 328
Suchen und Markieren......Page 329
Verwaltung der Statuszeile......Page 330
Text ausdrucken......Page 331
Syntaxzusammenfassung......Page 332
Tabellen (MSFlexGrid / MSHFlexGrid)......Page 333
Hierarchical FlexGrid (MSHFlexGrid)......Page 334
Steuerung des FlexGrid-Steuerelements......Page 335
Felder vereinen......Page 336
Der Zugriff auf den markierten Bereich......Page 337
Datenaustausch über die Zwischenablage......Page 338
Zeilen sortieren......Page 339
FlexGrid-Beispielprogramm......Page 340
Syntaxzusammenfassung......Page 342
Merkmale......Page 343
Datenübergabe......Page 345
Beschriftung......Page 346
Kreisdiagramme......Page 348
D-Balkendiagramm......Page 350
Logarithmisches Liniendiagramm......Page 351
Syntaxzusammenfassung......Page 353
Merkmale und Bedienung......Page 354
Der Programmcode......Page 355
Formularentwurf für das Hauptfenster......Page 356
Generelle Variablen......Page 357
Verwaltung des TreeView-Felds......Page 358
Verwaltung des ListView-Felds, Bitmaps einlesen......Page 360
Der restliche Code......Page 362
Fehlersuche, Fehlerabsicherung......Page 364
Fehler bei der Variablendeklaration......Page 365
Das Direktfenster (Testfenster)......Page 366
Prozedurliste (Aufrufeliste)......Page 367
Kontrollierte Programmausführung......Page 368
Programmunterbrechung durch Haltepunkte (Breakpoints)......Page 369
Programmunterbrechung durch Überwachungsausdrücke (Watch- Expressions)......Page 370
Fehlersuche in ActiveX-Komponenten......Page 371
Der Befehl On Error......Page 372
Sprungmarken......Page 374
Das Err-Objekt......Page 375
Tips und Tricks zur Fehlerbehandlung......Page 376
in Kompilaten......Page 377
Teil III: Programmiertechniken......Page 380
Zahlen, Zeichenketten, Datum und Uhrzeit......Page 382
Trigonometrische und logarithmische Funktionen......Page 383
Zufallszahlen......Page 384
Unicode......Page 385
Kompatibilität......Page 386
Das Euro-Symbol......Page 387
Funktionen zur Bearbeitung von Zeichenketten......Page 389
Neue Funktionen in Version 6......Page 390
Vergleich von Zeichenketten......Page 391
Umwandlungsfunktionen......Page 392
Zeichenketten suchen......Page 393
Analyse von Dateinamen......Page 394
Syntaxzusammenfassung......Page 396
Die aktuelle Zeit ermitteln......Page 398
Funktionen zur Bearbeitung des Datums......Page 399
Ein Monat zu einem Datum addieren......Page 400
Syntaxzusammenfassung......Page 401
Oberflächengestaltung......Page 404
Fenstermerkmale......Page 405
Formulargröße und -koordinaten......Page 406
Plazierung von Formularen......Page 407
Beispielprogramm: Formular unter Mausposition zentrieren......Page 408
Ereignisse beim Erstellen eines Fensters (Initialize, Load)......Page 409
Ereignisse beim Schließen eines Fenster (QueryUnload, Load und Terminate)......Page 410
Beispielprogramm......Page 411
Das Resize-Ereignis und seine Konsequenzen......Page 412
Beispielprogramm: Formular mit veränderlicher Größe......Page 413
Fenstermaße von innen her verändern......Page 416
Gleichrangige Formulare anzeigen......Page 417
Formular schließen......Page 418
Startformular......Page 419
Programmausführung......Page 420
Dialoge wie Funktionen verwenden......Page 421
Entwurf und Design komplexer Formulare......Page 423
Effiziente Formularauswertung durch Steuerelementfelder......Page 424
Steuerelemente ein- und ausblenden......Page 425
Dynamische Steuerelementfelder......Page 426
Die Controls-Aufzählung......Page 427
Standardformulare......Page 431
Screen-Objekt......Page 432
Dynamische Formulare mit Controls......Page 433
Aufbau und Verwaltung von MDI-Programmen......Page 434
Das erste Beispielprogramm......Page 435
Subfenster im MDI-Fenster anordnen......Page 437
Die Eigenschaften ActiveForm und ActiveControl......Page 438
Beispielprogramm: Variante 2 mit einem Collection-Objekt......Page 439
Formular MDI2main.frm......Page 440
Menüs, Buttonleiste und Statuszeile in MDI-Programmen......Page 441
Mehrfachinstanzen von Formularen......Page 442
Grundlagen......Page 444
Menüs entwerfen......Page 445
Eigenschaften von Menüeinträgen......Page 446
Gliederungslinien......Page 447
Menüs im Programm verwalten......Page 448
Informationen zum Menüeintrag in der Statuszeile anzeigen......Page 449
Menüs vor deren Auswahl einstellen......Page 450
Beispielprogramm: Dynamische Menüs......Page 451
Kontextmenüs (Popupmenüs)......Page 452
Menüdefinition in ein neues Formular übernehmen......Page 453
Das Fenstermenü in MDI-Programmen......Page 454
Syntaxzusammenfassung......Page 455
Grafikprogrammierung......Page 456
Eigenschaften......Page 457
Methoden......Page 458
Beispiele......Page 459
Paint-Ereignis, AutoRedraw- und ClipControl- Eigenschaft......Page 460
Paint und Resize bei Grafik, die von der Fenstergröße unabhängig ist......Page 461
Die Eigenschaft ClipControls......Page 462
Die Eigenschaft AutoRedraw......Page 463
Nachteile durch AutoRedraw......Page 464
AutoRedraw-Interna (Vordergrund- und Hintergrundgrafik)......Page 465
Datenaustausch über die Zwischenablage......Page 466
Umgang mit Bitmaps und Icons......Page 467
Bilder aus Dateien laden......Page 468
Größe des Bildfelds automatisch an die Grafik anpassen......Page 469
Icons-Interna......Page 470
Die Objekttypen Picture und StdPicture......Page 471
Eigene Koordinatensysteme verwenden......Page 472
Standardkoordinatensysteme mit der ScaleMode-Eigenschaft einstellen......Page 473
Mathematische Koordinatensysteme definieren......Page 474
Koordinatenoffset einstellen......Page 475
Ereignisprozeduren......Page 476
Die Eigenschaften Min, Max, SmallChange und LargeChange einstellen......Page 477
Die Auswertung der Value-Eigenschaft in der Paint-Prozedur......Page 478
Beispielprogramm: Gitternetz (Grafik mit Bildlaufleisten)......Page 479
Beispielprogramm: KingSize (Bitmaps ohne Größenbeschränkung)......Page 483
Der Aufbau des Beispielprogramms......Page 484
Die Eigenschaften des Grafiksystems ermitteln......Page 487
Beliebige Formen mit Muster füllen (FloodFill)......Page 488
Beispielprogramm......Page 489
Das Farbpalettenfenster......Page 492
Farben im Programm einstellen......Page 493
Die Grafikprogrammierung im 256-Farbenmodus......Page 494
Definition der Farbpalette in Visual Basic......Page 495
Beispielprogramm......Page 496
Apfelmännchenprogramm......Page 497
Ausschnitt für die nächste Grafik auswählen......Page 498
Grafiken speichern und wieder laden......Page 499
Überblick über den Programmablauf......Page 500
Der Algorithmus zur Berechnung der Apfelmännchengrafik......Page 501
Das Modul ApfelMain......Page 502
Das Formular ApfelHauptformular......Page 508
Syntaxzusammenfassung......Page 510
Ein- und Ausgabe......Page 512
File System Objects – Überblick......Page 513
Eigenschaften von Laufwerken (Drive-Objekt)......Page 515
Das aktuelle Verzeichnis......Page 516
Applikations-Verzeichnis und temporäres Verzeichnis......Page 517
Eigenschaften von Verzeichnissen (Folder-Objekt)......Page 518
Dateien und Verzeichnisse erzeugen / verschieben / kopieren / löschen......Page 519
Hilfsfunktionen......Page 520
Textdateien (TextStream)......Page 521
Beispielprogramm......Page 522
Datenkanal öffnen......Page 523
Textdateien......Page 525
Binärdateien......Page 526
Zeichenketten in Binärdateien......Page 528
Benutzerdefinierte Datentypen und Felder in Binärdateien......Page 529
Random-Access-Dateien......Page 530
Backup-Dateien......Page 531
Verzeichnisbaum rekursiv abarbeiten......Page 532
Dateien sicher löschen (Papierkorb)......Page 535
File System Objects......Page 537
Herkömmliche Kommandos......Page 539
Die drei Tastaturereignisse......Page 540
Der Tasten_Ascii-Code für das KeyPress-Ereignis......Page 541
Der KeyCode-Parameter......Page 542
Weiterleitung von Tastaturereignissen......Page 543
Tastatureingaben mit SendKeys simulieren......Page 544
Beispielprogramm......Page 545
Mausereignisse......Page 546
Die Parameter der MouseXxx-Ereignisprozeduren......Page 547
Bereichsmarkierungen mit der Maus......Page 548
Drag and Drop......Page 551
DragOver- und DragDrop-Ereignisprozeduren......Page 552
Drag-Methode......Page 553
Beispiel 1: Drag and Drop Demonstrationsprogramm......Page 554
Beispiel 2: Dynamische Fensteraufteilung......Page 556
Beispiel 3: Verschiebbare Symbolleiste......Page 558
Automatisches OLE Drag and Drop......Page 560
OLEDropOver-Ereignis......Page 562
Manuelle OLE-Drag-Operationen......Page 563
OLEStartDrag-Ereignis......Page 564
OLESetData-Ereignis......Page 565
Textfeld......Page 566
Listenfelder......Page 568
Allgemeine Informationen......Page 570
Markierung und Start der Drag-Operation......Page 571
Datenübergabe (Drag)......Page 574
Datenempfang (Drop)......Page 575
Beispiel......Page 576
Syntaxzusammenfassung......Page 579
Grundlagen......Page 580
Texte von / zur Zwischenablage übertragen......Page 581
Picture-Eigenschaft versus Image-Eigenschaft......Page 582
Image-Bitmap in die Zwischenablage kopieren......Page 583
Das Testprogramm für die Übertragung von Grafiken von / zur Zwischenablage......Page 584
Syntaxzusammenfassung......Page 586
Ausgabe am Drucker......Page 587
Das Printer-Objekt......Page 588
Seitenaufbau......Page 589
Textdruck......Page 590
Formulare drucken......Page 592
Begriffserklärungen......Page 593
GDI-Funktionen zusammen mit dem Printer-Objekt verwenden......Page 594
Ausdruck einleiten......Page 595
Ausgabe von Grafik......Page 596
Ausgabe von Text......Page 597
Beispielprogramm......Page 598
Ausdruck am Printer-Objekt......Page 600
GDI-Druck......Page 603
Seitenvorschau......Page 604
GDI-Deklarationen......Page 606
Printer-Objekt......Page 607
Systemnahe Programmierung......Page 610
Was sind Dynamic Link Libraries?......Page 611
DLL-Funktionen deklarieren......Page 612
Kompatibilitätsprobleme gegenüber Windows 3.1......Page 614
Das Zusatzprogramm API-Viewer......Page 615
Zahlen......Page 616
Eigene Datentypen (Type)......Page 617
Zeichenketten......Page 618
ANSI-Unicode-Konversion......Page 620
Callback-Funktionen und Sub-Classing......Page 622
Sub-Classing......Page 623
Sub-Classing-Funktion einrichten......Page 625
Sub-Classing-Funktion abmelden......Page 626
Windows-Version ermitteln (GetVersionEx)......Page 627
Größe komprimierter Dateien ermitteln (GetCompressedSize, nur Windows NT)......Page 630
Automatischer Aufruf von Prozeduren (SetTimer)......Page 631
IntelliMouse-Ereignisse verarbeiten......Page 633
IntelliMouse-Grundlagen......Page 634
IntelliMouse-Setup......Page 636
Sub-Classing-Funktion aktivieren / deaktivieren......Page 637
Hook / Unhook......Page 638
Testen, ob Programm in der Entwicklungsumgebung ausgeführt wird......Page 639
Die neue Windows-Funktion......Page 640
Low- und High-Word aus einer Long-Zahl extrahieren......Page 641
DLL-Funktionen in C++ programmieren......Page 642
DLL-Interna......Page 643
Verwendung einer Moduldefinitionsdatei......Page 644
Verwendung einer Type-Library......Page 645
Beispiel: Apfelmännchengrafiken per DLL......Page 646
Der C-Code......Page 647
Benchmark-Tests......Page 648
IDL-Syntax......Page 649
Aufbau der Registrierdatenbank......Page 652
Manuelle Bearbeitung der Registrierdatenbank......Page 653
Zugriff auf die Registrierdatenbank......Page 654
Beispiel......Page 655
Syntaxzusammenfassung......Page 657
Ressourcendateien......Page 658
Auswertung von Command......Page 659
Das App-Objekt......Page 660
Syntaxzusammenfassung......Page 661
Bildschirm aktualiseren (Refresh)......Page 662
Unterbrechungen ermöglichen (DoEvents)......Page 663
Beispielprogramm......Page 664
Warteschleifen......Page 665
Programme mit der Shell-Funktion starten......Page 666
Programmpfad ermitteln......Page 667
Bereits geladene Programme aktivieren......Page 668
Programm wahlweise aktivieren oder starten......Page 669
Eigene Online-Hilfe (HTMLHelp)......Page 670
Geschichtliches......Page 671
Auslieferung von Programmen mit HTMLHelp......Page 672
Aufbau eines HTML-Hilfedokuments......Page 673
HTMLHelp-Workshop......Page 674
Dateien eines Hilfeprojekts......Page 675
Inhaltsverzeichnis und Index......Page 676
ID-Nummern......Page 677
Dateiname der Hilfedatei......Page 679
Kontextabhängige Hilfe in eigenen Dialogen......Page 680
Hilfe in Standarddialogen......Page 681
Hilfe mit HtmlHelp anzeigen......Page 682
Hilfe mit HtmlHelp anzeigen......Page 683
Hilfe im Beispielprogramm Bitmap-Viewer......Page 684
Teil IV: Datenbanken......Page 686
Datenbankgrundlagen......Page 688
Einführung......Page 689
Tabelle, Datensatz, Feld, Abfrage, SQL, Index, Schlüssel und Bericht......Page 690
Datenbankformate (Jet alias Access, dBase etc.)......Page 692
Open Database Connectivity (ODBC)......Page 693
Bibliotheken zur Datenbankprogrammierung......Page 694
ADO-Vorteile gegenüber DAO / RDO......Page 695
ADO und OLE DB......Page 696
ADO-Probleme......Page 697
Die Qual der Wahl......Page 698
Daten auf mehrere Tabellen aufteilen......Page 699
Relationen zwischen mehreren Tabellen......Page 701
Die Normalform von Datenbanken......Page 702
Beispieldatenbank Biblio.mdb......Page 703
Beispieldatenbank Nwind.mdb......Page 704
Abfragen......Page 706
Abfrage aus Tabellen, die durch Relationen verknüft sind (INNER JOIN)......Page 709
Berechnungen in SQL-Abfragen......Page 711
Aktionsabfragen......Page 712
Entwurf von Abfragen......Page 713
File-Server-Datenbanken......Page 714
Client / Server-Datenbanken......Page 715
Vorteile eines Client / Server-Systems......Page 716
Nachteile eines Client / Server-Systems......Page 717
Entwurf des Datenbankschemas......Page 718
Werkzeuge zum Datenbankentwurf......Page 719
Entwurf einer neuen Tabelle......Page 720
Datentypen für Datenfelder......Page 721
Eigenschaften von Datenfeldern......Page 722
Definition von Indizes......Page 723
Definition von Relationen......Page 724
Datenbank komprimieren / reparieren......Page 725
ADO-Einführungs-beispiel......Page 726
Programmdesign......Page 727
DataEnvironment-Komponente......Page 729
Connection-Objekt......Page 730
Command-Objekt......Page 731
Hauptmenü......Page 732
Datenformular-Assistent......Page 733
Initialisierung......Page 735
Navigation zwischen den Datensätzen......Page 737
Neuen Datensatz anlegen (Add)......Page 738
Änderungen widerrufen (Abbruch)......Page 739
Recordset-Ereignisprozeduren......Page 740
Tabellenansicht......Page 741
DataReport-Grundlagen......Page 743
Entwurf des Beispielberichts......Page 744
Programmcode......Page 745
ADO-Bibliothek......Page 748
ADO-Objekthierarchie......Page 749
Tips und Tricks......Page 750
Remote Data Services......Page 751
Verbindungsaufbau......Page 753
Verbindung zu ODBC-Datenquellen (DSN)......Page 754
Datenbankkommandos und Abfragen ausführen......Page 756
Zusatzinformationen über die Eigenschaften der Datenbank......Page 757
Asynchroner Verbindungsaufbau......Page 758
Einschränkungen......Page 759
Transaktionsmethoden......Page 760
Syntaxzusammenfassung......Page 761
Grundlagen......Page 762
CommandText- und CommandType-Eigenschaft......Page 764
Syntaxvarianten zur Durchführung einer Abfrage......Page 765
Abfragen mit Parametern......Page 766
Parameter an Abfragen übergeben......Page 767
Asynchrone Abfragen......Page 768
Asynchroner Recordset-Aufbau......Page 769
SQL-Prozeduren......Page 770
Grundlagen......Page 771
Geschwindigkeitsoptimierung......Page 772
Datensatzfelder (Fields)......Page 773
Beispiel......Page 774
Navigation in Datensatzlisten......Page 775
Bookmarks......Page 776
Datensätze suchen und lokal sortieren......Page 777
Datensätze verändern......Page 778
Fehler......Page 779
Ereignisse......Page 780
Locking, Cursor-Typ und andere Recordset-Eigenschaften......Page 781
Cursor-Typen......Page 782
Client- und Server-seitiger Cursor......Page 784
Locking......Page 785
Maximale Anzahl der Datensätze limitieren......Page 786
Beispielprogramm......Page 787
Hierarchische Datensatzlisten (Data Shaping)......Page 789
SQL-Syntax für hierarchische Recordsets......Page 791
Der MSDataShape-Provider......Page 792
Programmcode......Page 793
Recordsets ohne Datenbank......Page 796
Beispiel......Page 797
Syntaxzusammenfassung......Page 800
Fehlerverarbeitung (Error)......Page 801
ADO-Steuerelemente und -Designer......Page 804
Verbindungsdaten (DataEnvironment)......Page 805
Connection......Page 806
Command......Page 807
Design hierarchischer Recordsets......Page 808
DataEnvironment-Programmcode......Page 809
Das Datenansichtfenster......Page 811
Funktion des Datenansichtfensters......Page 812
Data-Link-Dateien (*.udl)......Page 813
Datenbankfeld (Adodc)......Page 814
Verbindung zur Datenbank herstellen......Page 815
Verbindung zu einer Datenbankdatei im lokalen Verzeichnis......Page 816
Ereignisse, Fehler-Management......Page 817
Datenquellen......Page 821
Verbindung zur Datenquelle herstellen......Page 822
DataChanged- und DataFormat-Eigenschaft......Page 823
Programmiertechniken......Page 824
Neuen Datensatz anlegen......Page 825
Eingabe abbrechen......Page 826
Fehler-Management......Page 827
Programmende......Page 829
Formatierung (DataFormat)......Page 830
StdDataFormat-Objekt......Page 831
Beispiel......Page 832
Listenfelder (DataList / DataCombo)......Page 835
Inhaltliche Verbindung zweier Listenfelder......Page 836
Inhaltliche Verbindung zwischen Listenfeld und Tabellenfeld......Page 838
Syntaxzusammenfassung MSDataListLib-Bibliothek......Page 839
DataGrid......Page 840
Erste Schritte......Page 841
Layout......Page 842
Formatierung der Tabelle......Page 843
Zugriff auf den Tabelleninhalt......Page 844
Auswahlbuttons in Tabellenfeldern......Page 845
Tabelle drucken......Page 846
Beispielprogramm......Page 847
Syntaxzusammenfassung MSDataGridLib-Bibliothek......Page 849
MSHFlexGrid......Page 850
Charakteristische Eigenschaften und Methoden......Page 851
Beispiel......Page 853
Tabellen-Containerfeld (DataRepeater)......Page 854
Daten-gebundene ActiveX-Steuerelemente......Page 856
Integration des Steuerelements in das DataRepeater-Feld......Page 857
DataFormat-Probleme......Page 858
Diagramme (MSChart)......Page 859
Beispielprogramm......Page 860
Steuerung per Programmcode......Page 861
Probleme......Page 862
Report-Abschnitte......Page 863
Datenfelder (RptTextBox)......Page 864
Beispiele......Page 865
Access......Page 867
Teil V: Internet / ActiveX......Page 868
ActiveX- und Internet-Grundlagen......Page 870
Was ist ActiveX?......Page 871
Typen von Komponenten......Page 872
Programmierung neuer Komponenten......Page 874
Vorbemerkungen......Page 876
Internet-Programmierung......Page 877
Client-seitige versus Server-seitige Programmierung......Page 878
Internet-Steuerelemente......Page 880
Winsock......Page 881
WWW-Dokumente anzeigen......Page 882
Das WebBrowser-Steuerelement......Page 883
Eigenschaften......Page 884
Beispielprogramm......Page 885
ActiveX-Steuerung des Internet Explorers......Page 888
Beispielprogramm......Page 889
Syntaxzusammenfassung......Page 891
Grundlagen......Page 892
Die MAPI-Steuerelemente......Page 893
MAPI-Beispielprogramm......Page 894
Programmcode......Page 895
Start eines E-Mail-Programms via Internet Explorer......Page 896
Dateien übertragen (Inet)......Page 897
FTP-Datei synchron übertragen......Page 898
FTP-Datei asynchron übertragen......Page 899
Beispielprogramm......Page 900
Daten übertragen (Winsock)......Page 902
TCP-Kommunikation......Page 903
Das Winsock-Steuerelement......Page 904
TCP-Beispielprogramm......Page 905
Programmcode des Servers......Page 906
Programmcode des Clients......Page 908
Das Beispielprogramm der Online-Dokumentation......Page 909
UDP-Kommunikation......Page 910
Syntaxzusammenfassung......Page 911
ActiveX Automation (Office- 97- Steuerung)......Page 912
Object Embedding......Page 913
Visual Basic für Applikationen (VBA)......Page 914
Programmierung von ActiveX-Servern......Page 915
Vorbemerkungen......Page 916
OLE-Objekte beim Programmentwurf festlegen......Page 917
Programmierung des OLE-Felds in Visual Basic......Page 918
Objekt via Standarddialog einfügen......Page 919
Objekt via Standarddialog aus der Zwischenablage einfügen......Page 920
OLE-Programm des Objekts aktivieren......Page 921
Darstellung von Menü und Symbolleisten......Page 922
Darstellung der Daten im OLE-Feld......Page 923
Beispielprogramm......Page 924
Herstellung einer Verbindung zum OLE-Programm......Page 925
Syntaxzusammenfassung......Page 928
ActiveX-Automation-Strategien......Page 929
3D-Diagramm mit Excel erzeugen und ausdrucken......Page 930
Merkmale und Bedienung des Beispielprogramms......Page 931
Programmaufbau......Page 932
Initialisierung des Programms......Page 933
Diagramm zeichnen......Page 935
Excel-Dialog anzeigen......Page 936
Diagramm drucken......Page 937
Datenbankbericht mit Access ausdrucken......Page 938
Text mit WinWord ausdrucken......Page 940
Beispielprogramm......Page 941
ActiveX-Komponenten......Page 944
Was sind ActiveX-Komponenten?......Page 945
Vorteile von Out-of-Process-Servern......Page 946
Nachteile von Out-of-Process-Servern......Page 947
Unterschiede zwischen In-Process- und Out-of-Process-Servern......Page 948
Optionen und Einstellungen......Page 949
Restriktionen für In-Process-Server......Page 950
Restriktionen für Out-of-Process-Server......Page 951
Verweise......Page 952
In-Process-Server......Page 953
Client......Page 954
Out-of-Process-Server und Client......Page 955
Server-Kompilate......Page 956
Neu in Visual Basic 6......Page 957
ActiveX-Grundlagen......Page 958
Identifikationsnummern (UUIDs) und Registrierung......Page 959
Herkunft von UUIDs......Page 961
Registrierung......Page 962
Server aus der Registrierdatenbank entfernen......Page 963
Projekttyp (Dialogblatt Allgemein)......Page 964
Unbeaufsichtigte Ausführung (Dialogblatt Allgemein)......Page 965
Threading model (Dialogblatt Allgemein)......Page 966
Startmodus (Dialogblatt Komponente)......Page 967
Versionskompatibilität (Dialogblatt Komponente)......Page 968
Tools zur Fehlersuche......Page 969
Globale, öffentliche und private Klassen......Page 971
Persistenz......Page 972
Klassenhierarchie-Beispiel......Page 973
Multithreading......Page 975
Multithreading in Visual Basic......Page 976
Echtes Multithreading......Page 977
Multithreading durch Instanzen (SingleUse-Objekte)......Page 978
Umstellung vorhandener DLLs auf das Apartment Model......Page 979
Thread-sichere Komponenten......Page 980
Asynchrone Kommunikation und Multithreading......Page 981
Callback-Funktionen......Page 982
Beispiel......Page 983
Programmcode des Clients......Page 984
Programmcode des Servers......Page 985
Programmcode des Clients......Page 987
Programmcode des Servers......Page 988
ActiveX-Steuerelemente erstellen......Page 990
Was sind ActiveX-Steuerelemente?......Page 991
Das Steuerelement......Page 992
Verwendung von ActiveX-Steuerelementen......Page 993
ActiveX-Steuerelemente in HTML-Dokumenten......Page 994
Cabinet-Dateien......Page 996
Laufzeitkomponenten......Page 997
ActiveX-Komponenten für Entwickler......Page 998
Wie sicher sind ActiveX-Steuerelemente?......Page 999
Konsequenzen für Entwickler......Page 1000
Sicherheit per Definition......Page 1001
Authentifizierung und Signaturen......Page 1002
Grenzen der Authentifizierung......Page 1003
Eigene Komponenten signieren......Page 1004
Steuerelementtypen......Page 1005
Codeausführung......Page 1006
Eigenschaften, Methoden und Ereignisse......Page 1007
Neue Eigenschaften programmieren......Page 1008
Eigenschaftseinstellungen bleibend speichern......Page 1009
Attribute neuer Eigenschaften......Page 1010
Neue Methoden programmieren......Page 1011
Konstanten......Page 1012
Darstellung des Steuerelements......Page 1013
Asynchrone Datenübertragung......Page 1014
Sub-Classing in ActiveX-Steuerelementen......Page 1016
Zugriff auf das Steuerelement durch ein Modul......Page 1017
UserControl-Objekt......Page 1018
AmbientProperties-Objekt......Page 1019
Eigenschaftsdialoge......Page 1020
SelectionChanged-Ereignis......Page 1021
ApplyChanges-Ereignisprozedur......Page 1022
Assistenten......Page 1023
Eigenschaftsseitenassistent......Page 1024
ActiveX-Dokumente......Page 1026
Probleme / Nachteile......Page 1027
Wozu ActiveX-Dokumente?......Page 1028
Installation von ActiveX-Dokumenten für Internet / Intranet......Page 1029
ActiveX-Dokumente für den Internet Explorer 3......Page 1030
Container......Page 1031
Fenstergröße......Page 1032
Navigation zwischen mehreren Dokumenten......Page 1033
Testen, ob Programm in Entwicklungsumgebung läuft......Page 1034
Programmausführung......Page 1035
Programmende......Page 1036
Automatische Rückfrage......Page 1037
Syntaxzusammenfassung......Page 1038
ActiveX-Dokumentassistent......Page 1039
Beispielprogramm: 5 Gewinnt......Page 1040
Visual Basic Script......Page 1042
'Hello World' in VBScript......Page 1043
VBScript-Sprachumfang......Page 1045
Internet-Explorer-Objekte......Page 1046
-Objekte......Page 1047
Zeitverzögerte Umleitung auf eine andere Seite......Page 1048
Datum und Wochentag anzeigen......Page 1049
Neue Einträge kennzeichnen......Page 1050
Tabelle variabler Größe erzeugen......Page 1051
ActiveX-Steuerelemente verwenden......Page 1053
Script-Debugger......Page 1055
DHTML-Programmierung......Page 1058
Grundlagen......Page 1059
Grundlagen / Technologie......Page 1060
Nachteile......Page 1061
Hello DHTML-World......Page 1063
DHTML-Projekte ins Netz stellen......Page 1064
HTML-Datei extern speichern......Page 1065
DHTML-Objekthierarchie......Page 1067
Ereignisse während der Initialisierung bzw. beim Schließen der Seite......Page 1068
HTML Object Library (MSHTML)......Page 1069
Gemeinsame Eigenschaften......Page 1072
Gemeinsame Ereignisse......Page 1074
HTMLDocument-Objekt......Page 1075
HTMLFormElement-Objekt......Page 1076
HTMLHistoryElement......Page 1077
SPAN- und DIV-Tags......Page 1078
HTML-Code
......Page 1079
HTML-Code ......Page 1080
Ereignisse......Page 1081
Steuerelementfelder......Page 1082
Cookies......Page 1083
Active Server Pages......Page 1086
Common Gateway Interface (CGI)......Page 1087
WinCGI......Page 1088
Internet Database Connector (IDC)......Page 1089
Active Server Pages (ASP)......Page 1090
Fazit......Page 1091
Hello ASP-World......Page 1092
Voraussetzungen......Page 1094
Entwicklung von ASP-Projekten......Page 1096
ASP-Objektbibliothek......Page 1097
Session-Objekt......Page 1098
Server-Objekt......Page 1099
Request-Objekt......Page 1100
Response-Objekt......Page 1101
Syntaxzusammenfassung......Page 1102
Prozeduren definieren......Page 1103
Variablendeklaration......Page 1104
Include-Dateien......Page 1105
Die Datei Global.asa......Page 1106
Programmierung neuer ASP-Objekte in Visual Basic......Page 1107
Auswertung von Formularen......Page 1108
Besucheranzahl messen......Page 1110
Protokollierung von Ereignissen......Page 1112
Datenbankzugriff mit der ADO-Bibliothek......Page 1113
Einführungsbeispiel......Page 1114
Abfrage als HTML-Tabelle formatieren......Page 1116
HTML-Code des Abfrageformulars......Page 1118
HTML-Code der Ergebnisseite......Page 1119
Programmcode......Page 1120
IIS-Anwendungen......Page 1126
Nomenklatur......Page 1127
Interna......Page 1128
Probleme / Einschränkungen......Page 1130
Einführungsbeispiel......Page 1131
WebClass-Designer......Page 1132
Templates......Page 1133
Ereignisse......Page 1134
WebClass-Eigenschaften......Page 1136
Lebensdauer von Instanzen (StateManagement)......Page 1137
Programmiertechniken......Page 1138
Beispielprogramm......Page 1139
HTML-Code senden (WriteTemplate)......Page 1140
URL-Adressen von WebItems erzeugen (URLFor)......Page 1141
HTML-Code dynamisch ersetzen (-Kommand, ProcessTag)......Page 1142
Reaktion auf Hyperlink-Ereignisse......Page 1143
Bitmaps senden......Page 1144
Formular auswerten......Page 1145
Statusinformationen weitergeben (wcNoState)......Page 1146
Statusinformation als Event-Name weitergeben......Page 1147
Statusinformation mit URLData weitergeben......Page 1148
ADO-Beispiel......Page 1149
Abfrageformular anzeigen......Page 1151
Ergebnisse anzeigen......Page 1152
WebClassLibrary.WebClass......Page 1155
WebClassLibrary.WebItem......Page 1156
Anhang A: Dateikennungen......Page 1158
Elementare Kommandos......Page 1162
Tabellen......Page 1163
Frames......Page 1164
Formulare......Page 1165
VB-spezifische Erweiterungen......Page 1166
Installation......Page 1168
Updates / Errata......Page 1169
Anhang D: Quellenverzeichnis......Page 1170
A......Page 1172
B......Page 1174
C......Page 1175
D......Page 1176
F......Page 1179
G......Page 1181
I......Page 1182
K......Page 1183
L......Page 1184
M......Page 1185
O......Page 1186
P......Page 1187
R......Page 1189
S......Page 1190
U......Page 1193
V......Page 1194
Z......Page 1195