Peter Monadjemi ViJ Ba r i f v DAS KOMPENDIUM Markt&Technik Buch- und Software-Verlag GmbH
Inhaltsverzeichnis Vorwort 13 Einleitung 15 Jetzt auch mit Objekten 15 Wer ist die ideale Leserin bzw. der ideale Leser? 18 Online ist Pflicht 18 Für alte Bekannte 19 Ein Blick in die Kristallkugel 19 Ein Wort zu»visual Basic 5.5«21 Ich möchte von Ihnen hören 21 Danksagungen 22 Leseleitfaden 23 An wen richtet sich dieses Buch? 23 Wie sollte man dieses Buch lesen? 23 Übersicht über die einzelnen Kapitel 23 Einen haben wir noch... 26 1 Was ist neu bei Visual Basic 5? 27 1.1 Die zehn wichtigsten Neuerungen auf einen Blick 28 1.2 Performance 29 1.3 ActiveX-Steuerelemente in Visual Basic 31 1.4 Verbesserungen bei der Programmiersprache 32 1.5 Klassen und Komponenten 33 1.6 Neue Entwicklungsumgebung 34 1.7 Neue und verbesserte Steuerelemente 38 1.8 Visual Basic und das Internet 41 1.9 Add-Ins 42 1.10 Unterstützung für Multithreading 42 1.11 Datenbankunterstützung 43 1.12 Überblick über die Enterprise-Edition 44 1.13 ActiveX-Designer 47 1.14 Das Microsoft Object Repository 48 1.15 Weitere»Kleinigkeiten«49 1.16 Visual-Basic-Online-Dokumentation 50 1.17 Hardware- und Software-Voraussetzungen für Visual Basic 5 51 1.18 Alle Neuerungen in der Gesamtübersicht 52 1.19 54 2 Die (neue) Visual-Basic-Philosophie 55 2.1 Die Bedeutung von Visual Basic 55 2.2 Visual-Basic-Philosophie für Einsteiger 57 2.3 Die wichtigsten Vor- und Nachteile 58 2.4 Visual Basic, C++, Delphi oder Java? 60 2.5 Die Evolution von Visual Basic 63 2.6 Wann soll man sich für Visual Basic entscheiden? 64 2.7 Ein Blick in die Zukunft 66 2.8 66
6 Inhaltsverzeichnis 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 5 5.1 5.2 5.3 5.4 5.5 6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17 Überblick über die IDE Die mit Visual Basic 5 eingeführten Neuerungen der IDE Die IDE nach dem Start Die Menübefehle und die Symbolleiste Die wichtigsten Arbeitsschritte Der Umgang mit Projekten Das Einrichten der IDE für die tägliche Praxis Eine Übersicht über die IDE-Optionen Das Einstellen von Compiler-Optionen Anpassen der IDE Nützliche Tastenkombinationen Übersicht über die verschiedenen Dateitypen Umsteigen von Visual Basic 3/4 Gründe für einen Wechsel Grundsätzliche Überlegungen vor einem Umstieg Die Umstellung von VBX- auf OCX-Steuerelemente Konvertieren, Portieren oder Migrieren? Die Konvertierung eines Visual-Basic-3-Programms Worauf kommt es bei der Portierung an? Der ultimative Schritt: Die Migration Umstellung von DLL-Aufrufen Der Umstieg von Visual Basic 5 auf Version 3 Was gibt es zu tun? Allgemeine Tips für den Umstieg Programmieren mit Komponenten Die Bedeutung der Komponenten Ausblick auf Enterprise-Computing mit Visual Basic Das zweite Beispielprogramm mit Komponenten Das dritte Beispielprogramm mit Komponenten Ausblick Das ABC der Objekte Warum Objekte? Ist Visual Basic denn überhaupt objektorientiert? Kurzer Exkurs zu COM Neuerungen bei Visual Basic 5 Programmierung mit Klasse (n) Eigenschaftenprozeduren Der Klassenassistent Klassen können Ereignisse auslösen Klassen für (etwas) Fortgeschrittene Auflistungen Auch Formulare sind Klassen Eine Klasse für die Suche von Dateien Klassenauflistungen Polymorphie und die Implements-Anweisung Tips für den Umgang mit Klassen Literatur und andere Ressourcen 67 67 69 71 73 76 77 78 79 82 84 85 87 89 89 94 97 99 100 101 101 103 106 < 107 108,108 109 110 116 133 139 147 149 150 152 157 164 165 178 182 184 189 193 196 199 209 212 219 220 220
innoitsverzeicnnis / 7 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8 8.1 8.2 8.3 8.4 8.5 9 9.1 9.2 9.3 9.4 " 9.5 9.6 9.7 9.8 9.9 9.10 9.11 9.12 10 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 10.10 10.11 10.12 10.13 10.14 10.15 10.16 10.17 10.18 10.19 10.20 10.21 Der allgemeine Aufbau eines Visual-Basic-Programms Was ist eigentlich ein Visual-Basic-Programm? Die Sache mit den Ereignissen Und wo bitte beginnt die Programmausführung? Die Rolle des Eingabefokus Weitere Programmelemente Der Umgang mit Projekten Namenskonventionen Tips für die Programmierpraxis Die Steuerelemente der Werkzeugsammlung Die Werkzeugsammlung stellt sich vor Der Umgang mit Steuerelementen Die Steuerelemente der Werkzeugsammlung Wo gibt es mehr? Elementare Ein- und Ausgaben Auslösen von Aktionen Die. Ein- und Ausgabe von Texten und Zahlen Die Auswertung von Tastatureingaben Auswerten von Mausaktionen Ziehen- und Ablegen-Operationen Die Auswahl von Optionen Die Auswahl aus einer Liste Die Auswahl aus Menüs Das Einstellen von Werten Die Validierung der Eingabe Steuerelementefelder Programmieren mit VBA Eine allgemeine Übersicht Variablen und Konstanten Die Wertzuweisung Die With-Anweisung Wie werden Zahlen intern dargestellt? Ausdrücke Operatoren Entscheidungen Sprünge im Programm Programmschleifen Prozeduren und Funktionen Fest eingebaute Funktionen Feldvariablen Benutzerdefinierte Datentypen Der Gültigkeitsbereich von Variablen Die Parameterübergabe an Prozeduren Dateizugriffe Zeiger Mehr über Objektvariablen Verknüpfte Listen 223 223 226 231 236 238 240 246 247 249 251 251 253 262 278 279 281 282 283 304 315 324 339 341 352 356 358 361 368 369 369 371 379 379 380 382 383 396 402 403 410 415 431 438 448 453 456 463 464 474 476
Inhaltsverzeichnis 11 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 11.10 11.11 11.12 11.13 11.14 11.15 11.16 11.17 12 12.1 12.2 12.3 12.4 12.5 12.6 12.7 13 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 13.10 13.11 13.12 13.13 13.14 13.15 14 14.1 14.2 14.3 14.4 14.5 14.6 Debugging und Abfangen von Laufzeitfehlern Irren ist menschlich, aber gefährlich Was sind eigentlich Laufzeitfehler? Der allgemeine Aufbau einer Fehlerbehandlungsroutine Vor- und Nachteile der Laufzeitfehlerbehandlung Die On-Error-Anweisung Das Err-Objekt Die Erl-Funktion Die Resume-Anweisung Fehlerbehandlung ein- und ausschalten Laufzeitfehler direkt abfragen Verschachtelte Laufzeitfehler Laufzeitfehler an die nächste Prozedur weiterreichen Laufzeitfehler in Klassen Ein Wort zur (fehlenden) globalen Fehlerbehandlung Der integrierte Debugger der IDE Eine Debug-Sitzung zum Üben ActiveX-Steuerelemente selbst programmiert Allgemeines zu ActiveX-Steuerelementen Wozu ActiveX-Steuerelemente? ActiveX-Steuerelemente in Visual Basic Das erste ActiceX-Steuerelement im Eigenbau Das Einbinden in eine HTML-Seite Testen eines ActiveX-Steuerelements ActiveX-Steuerelemente für Fortgeschrittene Vier Möglichkeiten, ein ActiveX-Steuerelement zu erstellen Der Lebenszyklus eines Benutzersteuerelements Grundregeln für die Umsetzung eines ActiveX-Steuerelements - ein weiteres Beispiel ActiveX-Steuerelemente können Ereignisse auslösen Spezielle Objekte, die für die Programmierung von ActiveX-Steuerelementen eine Rolle spielen ActiveX-Steuerelemente, die sich selbst zeichnen Das Anlegen von Eigenschaftenseiten Einstellen von Prozedurattributen Gebundene Benutzersteuerelemente ActiveX-Steuerelemente und das Internet Tips für die Praxis Die Umsetzung eines ActiveX-Steuerelements Wie werden ActiveX-Steuerelemente weitergegeben? ActiveX-Steuerelemente und die Sicherheit Benutzeroberflächen und Dialogfelder gestalten Allgemeines zu Benutzeroberflächen Ein Beispiel aus der Praxis MDI-Anwendungen Allgemeines zu Dialogfeldern Standarddialogfelder Die Zusatzsteuerelemente der Profi-Edition 477 477 478 480 480 481 483 486 486 487 487 488 490 490 492 493 504 507 509 510 514 517 523 534 537 537 539 '540 542 546 553 555 562 565 569 571 575 580 582 584 594 601 603 604 610 623 629 647 656
Inhaltsverzeichnis 9 14.7 14.8 14.9 15 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 15.10 15.11 15.12 15.13 15.14 15.15 15.16 15.17 15.18 15.19 16 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 16.10 17 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 17.10 17.11 17.12 18 18.1 18.2 Tips für die Umsetzung von Dialogfeldern Hilfe muß sein Tricks mit der Windows-API Die allgemeine Bedeutung der API Was ist eigentlich eine DLL? Wie schwierig sind API-Aufrufe? Die Vor- und Nachteile von API-Aufrufen Ist die Windows-API denn»visual Basic«-kompatibel? API-Aufrufe ganz einfach API-Funktionen mit Parametern Die Declare-Anweisung Die Rolle der Datentypen Wie werden Parameter an eine API-Funktion übergeben? Wie werden Fehler behandelt? API-Aufrufe mit Komfort Was ist»neu«bei Win32? Ein Wort zur Fehlerbehandlung Beispiele aus der Praxis Spaß mit AddressOf Goldene Regeln für den Umgang mit der API Die»beliebtesten«API-Fünktionen Das Zusammenspiel mit dem Betriebssystem Abfrage von Systeminformationen Dateioperationen Zugriff auf Konfigurationsdateien Der Zugriff auf die serielle Schnittstelle Der Zugriff auf das Netzwerk Datenaustausch zwischen Applikationen Ein wenig Toolhelp Was es sonst noch so gibt Literatur Kleines Datenbank-ABC Ein wenig Theorie Visual Basic und Datenbanken Das Datensteuerelement In drei Schritten zum Datenbank-Browser Gebundene Steuerelemente Ganz wichtig: Die Datensatzgruppe Das Datensteuerelement im Überblick Wie werden Datenbanken angelegt? Mit dem Formularassistenten geht alles einfacher Arbeiten mit Datensatzgruppen Was sind eigentlich ODBC-Datenbanken? Datenbankprogrammierung Visual Basic und die Datenbanken Die Datenzugriffsobjekte (DAOs) 704 714 719 721 722 724 725 726 727 728 731 735 736 737 740 741 743 746 753 784 792 793 798 801 802 814 827 840 853 854 860 861 865 865 867 868 869 872 874 876 879 880 884 888 893 909 912 913 914 915
10 Inhaltsverzeichnis 18.3 18.4 18.5 18.6 18.7 18.8 19 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 20 20.1 20.2 20.3 20.4 20.5 20.6 20.7 21 21.1 21.2 21.3 21.4 21.5 22 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 A В B.l В.2 В.З В.4 В.5 В.6 В.7 Die Beispieldatenbank stellt sich vor Kleines SQL-ABC Spezielle Themen der Datenbankprogrammierung Der Zugriff auf ODBC-Datenbanken Literatur Office-Programmierung Das Prinzip des Komponentenzugriffs Überblick über das Microsoft-Word-Objektmodell Überblick über das Microsoft-Excel-Objektmodell Überblick über das Microsoft-PowerPoint-Objektmodell Dateisuche mit dem FileSearch-Objekt Zugriff auf Outlook Literatur Komponenten für Fortgeschrittene Kurze Einführung in die Komponentenlehre Die Rolle der Registrierungsdatei Komponenten anderen Programmen zur Verfügung stellen Ein praktisches Beispiel Globale Code-Komponenten Objektmodelle selbst implementiert Die IDE erweitern mit Add-Ins Was ist ein Add-In? Anatomie eines Add-In Das Objektmodell der IDE Ein Praxisbeispiel Bunte Welt der Grafik Grafikmethoden Das innere Koordinatensystem Die Rolle der Z-Achse Anzeigen von Bitmaps Die PaintPicture-Methode Farben Ein wenig GDI Die Ansteuerung des Druckers Visual-Basic-Glossar Namenskonventionen Steuerelemente Datenzugriffsobjekte Datentypen Gültigkeitsbereiche Weitere Regeln für Variablennamen Kommentare Einrückungen t 940 952 958 969 977 977 979 980 982 986 988 989 990 993 994 995 995 998 1000 1005 1008 1009 1015 1017 1017 1018 1024 1028 1032 1033 1033 1040 1042 1042 1044 1046 1048 1051 1055 1057 1073 1073 1074 1075 1075 1076 1076 1076
Inhaltsverzeichnis 11 С Informationsquellen für Entwickler 1077 C.l Wo finde ich was?. 1078 C.2»Freiwilliger«Support im Internet 1080 C.3 Die übrigen Online-Dienste 1081 C.4 Die Knowledge Base gibt es auch einzeln 1083 C.5 Bücher 1083 C.6 Die Visual-Basic-Lern-CD-ROM 1085 C.7 Fachzeitschriften 1085 C.8 Internet-Newsgruppen 1087 Epilog 1093 Stichwortverzeichnis 1095