Microsoft Visual Basic 6.0 für Windows 95/98/NT Grundlagen Programmierung VB6 00-0-07-22-01 Autorin: C. Lehmann 1. Auflage: Januar 1999 (071100) by HERDT-Verlag, Nackenheim (Germany) Internet: www.herdt.com Alle Rechte vorbehalten. Kein Teil des Werkes darf in irgendeiner Form (Druck, Fotokopie, Microfilm oder einem anderen Verfahren) ohne schriftliche Genehmigung des Herausgebers reproduziert oder unter Verwendung elektronischer Systeme verarbeitet, vervielfältigt oder verbreitet werden. Diese Unterlage wurde mit großer Sorgfalt erstellt und geprüft. Trotzdem können Fehler nicht vollkommen ausgeschlossen werden. Verlag, Herausgeber und Autoren können für fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen. Diese Unterlage ist auf chlorfrei gebleichtem Papier gedruckt. INHALTSVERZEICHNIS 1 Einführung ..................................................... 4 Tips zur Bearbeitung von Codezeilen.............43 Lesezeichen verwenden ........................ 43 Interpreter und Compiler...................................5 4.6.2 Programmzeilen auskommentieren........ 44 Merkmale von Visual Basic...............................6 4.6.3 Informationen anzeigen ......................... 44 Die Begriffe Objekt, Eigenschaft, Methode .......7 4.6.4 Einzug verändern................................... 45 Was ist Visual Basic? .......................................4 1.2 1.4 4.6 4.6.1 1.1 1.3 Visual Basic 6.0 - Grundlagen Programmierung 4.7 2 Grundlagen der Bedienung ........................ 10 2.1 Visual Basic starten ........................................10 2.2 Der Arbeitsbildschirm .....................................11 2.3 Die Hilfefunktion benutzen..............................12 2.4 Die wichtigsten Fenster von Visual Basic .......14 2.4.1 Der Projekt-Explorer...............................14 2.4.2 Das Formfenster ....................................15 2.4.3 Das Eigenschaftenfenster ......................15 2.4.4 Die Werkzeugsammlung ........................16 2.4.5 Das Codefenster ....................................16 2.4.6 Das Formular-Layout-Fenster ................17 2.5 Darstellung des Visual Basic-Codes...............17 2.6 Visual Basic beenden .....................................18 2.7 Schnellübersicht .............................................18 2.8 Übung.............................................................19 4.8 4.9 Der Objektkatalog...........................................45 Formulare gestalten .......................................46 4.8.1 Objekte in den Hinter-/Vordergrund setzen.................................................... 46 4.8.2 Objekte auf dem Formular positionieren .......................................... 47 4.8.3 Steuerelemente oder gesamtes Formular sperren ................................... 48 4.8.4 Objekte farbig gestalten ......................... 48 Schnellübersicht.............................................49 5 Sprachelemente von Visual Basic..............50 5.1 Die Begriffe Wert, Ausdruck und Datentyp .....50 5.1.1 5.2 5.1.2 Ausdrücke ............................................. 52 5.1.3 Datentypen ............................................ 52 Variablen und Konstanten ..............................53 5.2.1 3 Grundlagen der Programmentwicklung.... 20 3.1 Werte..................................................... 50 Deklaration von Variablen...................... 53 5.2.2 Festlegung von Standard-Datentypen.... 54 Mit Visual Basic programmieren .....................20 5.2.3 Deklaration von Konstanten ................... 55 3.1.1 Das Prinzip der ereignisgesteuerten Programmierung ....................................20 5.2.4 Gültigkeitsbereiche und Gültigkeitsdauer von Deklarationen ....... 56 3.1.2 Vorgehensweise bei der Erstellung von Anwendungen ........................................21 3.1.3 5.3 Objektvariablen ..............................................56 5.4 Datenfelder (Arrays) .......................................57 Aufbau einer Visual Basic-Anwendung...22 5.4.1 Datenfelder deklarieren.......................... 57 5.4.2 Dynamische Datenfelder deklarieren ..... 58 3.2 Mit Projekten arbeiten.....................................22 3.3 Die Steuerelemente der Werkzeugsammlung.......................................23 5.5 Benutzerdefinierte Strukturen.........................59 5.6 Werte an Variablen zuweisen.........................60 3.3.1 Eine Benutzeroberfläche erstellen..........23 5.7 Werte an Objekteigenschaften zuweisen........60 3.3.2 Überblick über die Steuerelemente ........24 5.8 3.3.3 Steuerelemente einer Form hinzufügen .............................................26 3.3.4 Eigenschaften festlegen .........................27 3.3.5 Beispiel zur Verwendung von Steuerelementen....................................28 3.4 Ereignisprozeduren erstellen ..........................30 3.5 Anweisungen eingeben und bearbeiten..........32 3.6 Ereignisprozeduren ausführen........................33 3.7 Ausführbare Programmdatei erstellen ............35 3.8 Schnellübersicht .............................................36 3.9 Übung.............................................................36 4 Programmierhilfen verwenden................... 40 5.9 Operatoren .....................................................61 5.8.1 Der Zeichenverkettungsoperator............ 61 5.8.2 Mathematische Operatoren.................... 61 5.8.3 Vergleichsoperatoren - Bedingungen ..... 62 5.8.4 Logische Operatoren ............................. 62 Auflistungen ...................................................64 5.10 Schnellübersicht.............................................65 5.11 Übung ............................................................66 6 Kontrollstrukturen........................................68 6.1 Grundlagen der Darstellungsmöglichkeiten ....68 6.2 Bedingungen formulieren ...............................70 6.3 Die Auswahl (Alternative) ...............................71 Grundlagen.....................................................40 6.3.1 Einseitige Auswahl................................. 71 4.2 Die Ereignisliste..............................................40 6.3.2 Zweiseitige Auswahl .............................. 72 4.3 Die Wortvervollständigung..............................41 6.3.3 Mehrstufige Auswahl ............................. 74 4.4 Argumentenliste für Funktionen......................42 6.3.4 Mehrseitige Auswahl (Fallauswahl)........ 75 4.5 Die Objekt-, Methoden- und Eigenschaftenliste ..........................................42 4.1 I Inhaltsverzeichnis 6.4 Die Wiederholung (Iteration) .......................... 80 11 Fehlersuche und Fehlerbehebung .......... 122 6.4.1 Die zählergesteuerte Wiederholung ....... 81 11.1 Grundlagen .................................................. 122 6.4.2 Die bedingte Wiederholung.................... 82 11.2 Fehlerarten .................................................. 122 6.5 Weitere Kontrollstrukturen.............................. 86 11.3 Prozeduren schrittweise testen .................... 124 6.6 Schnellübersicht............................................. 87 11.3.1 Im Einzelschritt testen ..........................124 6.7 Übung ............................................................ 88 11.3.2 Im Prozedurschritt testen......................125 7 Datentypen prüfen und umwandeln .......... 90 11.4 Haltepunkte setzen ...................................... 126 11.5 Variablen überwachen und Anweisungen testen........................................................... 126 7.1 Schnelleinstieg: Funktionen und Prozeduren .................................................... 90 7.2 Umwandlungs- und Prüffunktionen ................ 91 11.5.2 Das Überwachungsfenster ...................127 7.3 Variant-Variablen prüfen ................................ 91 11.5.3 Das Lokalfenster ..................................128 7.4 Beliebige Ausdrücke in Zahlen umwandeln.... 92 11.5.1 Die QuickInfo........................................126 11.5.4 Das Direktfenster..................................129 7.5 Ausdrücke in Zeichenfolgen umwandeln........ 94 11.6 7.6 Zeichen in ANSI-Code umwandeln ................ 94 11.7 7.7 Schnellübersicht............................................. 94 Analyse von Laufzeitfehlern mit dem ERRObjekt .......................................................... 131 11.8 Schnellübersicht .......................................... 132 8 Formatierte Ausgabe................................... 96 8.1 Die Format()-Funktion .................................... 96 8.2 Numerische Ausdrücke formatieren ............... 96 8.3 Datums- und Zeitausdrücke formatieren ........ 97 8.4 Zeichenfolgen formatieren.............................. 98 8.5 Übung ............................................................ 99 9 Ein-/Ausgabedialoge und Meldungen erstellen ...................................................... 100 9.1 Die Bedeutung der Ein- und Ausgabe .......... 100 9.2 Die Ausgabe in einer Form........................... 100 9.3 Vordefinierte Dialogfenster........................... 102 9.3.1 Die InputBox-Funktion ......................... 103 9.3.2 Die MsgBox-Funktion........................... 104 9.4 Standarddialoge (integrierte Dialoge)........... 106 9.5 Mit Formen arbeiten ..................................... 107 9.6 Schnellübersicht........................................... 108 9.7 Übung .......................................................... 108 10 Prozeduren und Funktionen..................... 110 10.1 Modulare Programmiertechnik ..................... 110 10.2 Ereignis- und allgemeine Prozeduren (Unterschiede) ............................................. 110 10.3 Prozeduren und Funktionen (Unterschiede) ............................................. 112 10.4 Gültigkeitsbereiche von Prozeduren und Funktionen ................................................... 114 10.5 Prozeduren und Funktionen mit Argumenten ................................................. 114 10.6 Besonderheiten bei der Übergabe von Argumenten ................................................. 116 10.7 Vordefinierte Funktionen .............................. 118 10.8 Schnellübersicht........................................... 120 10.9 Übung .......................................................... 120 Abfangen von Laufzeitfehlern ...................... 129 12 Menüs erstellen ......................................... 134 12.1 Der Aufbau eines Menüs ............................. 134 12.2 Menü im Menü-Editor entwerfen .................. 134 12.3 Menüpunkte mit Ereignisprozeduren verbinden ..................................................... 136 12.4 Schnellübersicht .......................................... 137 12.5 Übung .......................................................... 138 13 MDI-Anwendungen erstellen .................... 140 13.1 Grundlagen .................................................. 140 13.2 MDI-Form erstellen ...................................... 141 13.3 Die Menüs einer MDI-Anwendung ............... 142 13.4 Schnellübersicht .......................................... 144 13.5 Übung .......................................................... 144 14 Ausblick auf Dateiverwaltung und Input/Output............................................... 146 14.1 Lese- und Schreibzugriff auf Dateien ........... 146 14.2 Sequentieller Zugriff..................................... 147 14.3 Binärer und Random-Zugriff......................... 148 14.4 Nützliche Funktionen ................................... 150 14.5 Anweisungen der Dateiverwaltung............... 150 14.6 File System Objects ..................................... 151 A Anhang: Methoden und Ereignisse......... 152 A.1 Formen ........................................................ 152 A.2 Standardsteuerelemente.............................. 154 A.3 Grafikelemente ............................................ 155 A.4 Listenfelder .................................................. 157 A.5 Menüs und MDI-Formen .............................. 159 Stichwortverzeichnis...................................... 160 3 Visual Basic 6.0 - Grundlagen Programmierung 3 Grundlagen der Programmentwicklung In diesem Kapitel erfahren Sie à wie das Prinzip der ereignisgesteuerten Programmierung funktioniert à wie Sie eine Benutzeroberfläche erstellen und welche Steuerelemente es gibt à welche Eigenschaften Steuerelemente haben und wie Sie diese festlegen à wie Sie Ereignisprozeduren erstellen und ausführen, und welche Ereignisse es gibt à wie Sie eine ausführbare Programmdatei erstellen Voraussetzungen ü Kenntnisse der Visual Basic-Entwicklungsumgebung 3.1 Mit Visual Basic programmieren 3.1.1 Das Prinzip der ereignisgesteuerten Programmierung Was sind Ereignisse? Die Visual Basic-Programmierung wird als ereignisorientierte Programmierung bezeichnet. Ein Ereignis ist eine Aktion, die den Programmablauf beeinflußt (vgl. Abschnitt 3.4). Alle Aktionen (Tastatureingaben, Mausbewegungen) eines Benutzers, wie beispielsweise ý Klicken oder Doppelklicken einer Schaltfläche ý Verschieben, Öffnen oder Schließen eines Fensters mit der Maus ý Positionieren des Cursors in ein Eingabefeld mit der -Taste sind Ereignisse. Über Ereignisse können interne Programmabläufe, wie beispielsweise ý Berechnungen durchführen ý Öffnen und Schließen eines Fensters (vom Programm gesteuert) ý Ermitteln der aktuellen Uhrzeit und des aktuellen Datums ausgelöst werden. Ereignisprozedur Sub Cmd_Sonne_Click() Pic_Regen.Visible = False Pic_Sonne.Visible = True End Sub Ereignis: Klick auf eine Schaltfläche Aufruf der Ereignisprozedur Reaktion: Anzeige des Bildes Dieses Beispiel wird später aufgegriffen und in seinen Einzelheiten erläutert. Auf Ereignisse reagieren Mit Visual Basic können Programme entwickelt werden, die durch die grafische Benutzeroberfläche Windows mit Steuerelementen wie beispielsweise Dialogfenstern, Schaltflächen, Eingabefeldern gesteuert werden. 20 3 Grundlagen der Programmentwicklung Durch ein Ereignis (beispielsweise Klicken, Doppelklicken einer Schaltfläche) kann eine Reaktion (beispielsweise Öffnen eines Fensters) hervorgerufen werden. Diese Reaktion wird in Form von Visual Basic-Anweisungen in einer Einheit erstellt, die als Ereignisprozedur bezeichnet wird. Eine Ereignisprozedur enthält die Anweisungen, die ausgeführt werden, sobald ein Ereignis eintritt. Visual Basic kennt auch Prozeduren, die nicht ereignisorientiert sind. Prozeduren werden in weitere Einheiten zusammengefaßt, die als Module bezeichnet werden. Jede Form und jedes Steuerelement (beispielsweise Schaltfläche, Eingabefeld, Listenfeld) besitzt eine Anzahl von möglichen Ereignissen. Wenn eines dieser Ereignisse eintritt, ruft Visual Basic die entsprechende Ereignisprozedur auf. Die Anweisungen innerhalb der aufgerufenen Ereignisprozedur werden von oben nach unten abgearbeitet (zum Erstellen von Ereignisprozeduren vgl. Abschnitt 3.4). 3.1.2 Vorgehensweise bei der Erstellung von Anwendungen 1. Schritt: Problemstellung analysieren Zu Beginn muß die Aufgabenstellung präzisiert werden: Alle notwendigen Informationen müssen gesammelt werden, die für die Lösung des Problems wichtig sind. Danach können die wichtigsten Objekte (Formen, Steuerelemente und andere Programmelemente, die für den Programmablauf notwendig sind) festgelegt und der Programmablauf strukturiert werden. 2. Schritt: Benutzeroberfläche erstellen Durch Anordnen aller notwendigen Steuerelemente (z.B. Eingabefelder, Optionsfelder, Schaltflächen etc.) auf der Form wird die Benutzeroberfläche des Programms erstellt. 3. Schritt: Eigenschaften festlegen Für die zuvor erstellten Steuerelemente werden die Eigenschaften festgelegt, beispielsweise Größe, Farbe, Bezeichnung der Schaltflächen, Text- und Eingabefelder. 4. Schritt: Ereignisprozeduren codieren In einer Ereignisprozedur wird in Form von Visual Basic-Anweisungen beschrieben, wie ein bestimmtes Steuerelement auf ein bestimmtes Ereignis (beispielsweise Klicken, Doppelklicken einer Schaltfläche) reagieren soll. 5. Schritt: Ausführen bzw. Testen der Anwendung Um die Richtigkeit des Programms zu prüfen, muß es an verschiedenen Beispielen getestet werden. Treten während des Tests Fehler auf, müssen die oben genannten Schritte wiederholt werden. 6. Schritt: Ausführbare Programmdatei erstellen Weist die Anwendung keine Fehler mehr auf, kann eine Programmdatei erstellt werden, die unabhängig von Visual Basic ausgeführt und vom Windows Explorer bzw. Programm-Manager aufgerufen werden kann. PROGRAMM.EXE 21 3 Visual Basic 6.0 - Grundlagen Programmierung 3.1.3 Aufbau einer Visual Basic-Anwendung Anwendungen werden unter Visual Basic in Form von Projekten verwaltet. Alle Dateien, die zur jeweiligen Anwendung gehören, werden zusammen in einem Projekt gespeichert. Eine typische Visual Basic-Anwendung besteht aus mindestens zwei Dateien, der Projektdatei und einem Formular. þ In der Projektdatei (*.vbp) sind alle zum Projekt gehörenden Dateien aufgeführt. þ Das Fomular (in Visual Basic als Form bezeichnet) wird in einer eigenen Datei (*.frm) abgelegt. þ Haben Sie allgemeine Prozeduren (*.bas) formuliert, werden diese im automatisch angelegten Ordner Module verwaltet. 3.2 Mit Projekten arbeiten Neues Projekt erstellen Standardmäßig wird Visual Basic mit einem neuen, leeren Projekt geöffnet. Sie können ein neues Projekt aber auch wie folgt erzeugen: Þ Rufen Sie den Menüpunkt DATEI - NEUES PROJEKT auf. Alternativen: STRG N oder Ist bereits ein Projekt geöffnet, wird dieses geschlossen. Sofern Sie im aktuellen Projekt Änderungen vorgenommen und diese noch nicht gespeichert haben, werden Sie in mehreren Dialogfenstern aufgefordert, das aktuelle Projekt zu speichern. Þ Klicken Sie doppelt STANDARD-EXE. auf das Symbol Anschließend wird ein neues Projekt begonnen. Projekt speichern Þ Wählen Sie den Menüpunkt DATEI - PROJEKT SPEICHERN. Alternative: Visual Basic fordert Sie beim ersten Speichervorgang auf, die gerade bearbeitete Form bzw. das neu erstellte Modul zu benennen. Þ Geben Sie den Form- bzw. Modulnamen ein. Visual Basic vergibt für Formdateien automatisch die Dateierweiterung FRM. Module erhalten die Dateierweiterung BAS. Danach fordert Sie Visual Basic auf, das gesamte Projekt zu speichern. Þ Geben Sie den Projektnamen ein. Visual Basic vergibt für den Projektnamen automatisch die Dateierweiterung VBP. 22 Abb. 3.1 Projekt speichern 3 Grundlagen der Programmentwicklung Projekt öffnen Þ Wählen Sie den Menüpunkt DATEI - PROJEKT ÖFFNEN. Alternativen: Þ STRG O oder Klicken Sie doppelt auf den gewünschten Projektnamen. Dateien hinzufügen, speichern und löschen Sie haben die Möglichkeit, einzelne Formen, Module oder Zusatzsteuerelemente einem Projekt hinzuzufügen oder zu löschen bzw. einzelne Dateien zu speichern. Sie möchten... dem Projekt ein existierendes Element hinzufügen Þ ein bestehendes Element aus dem Projekt entfernen Þ Wählen Sie den Menüpunkt PROJEKT - DATEI HINZUFÜGEN. Alternative: STRG D Wählen Sie den Menüpunkt PROJEKT - ENTFERNEN VON Name. Sie können das Element jederzeit wieder hinzufügen. ein Element eines Projektes speichern Þ ein Element eines Projektes Þ unter einem anderen Namen speichern Wählen Sie den Menüpunkt DATEI - Name SPEICHERN. Alternative: STRG S Wählen Sie den Menüpunkt DATEI - SPEICHERN VON Name UNTER ... Die alte Version der Datei bleibt zusätzlich zur neuen Datei bestehen. 3.3 Die Steuerelemente der Werkzeugsammlung 3.3.1 Eine Benutzeroberfläche erstellen In einer Form entwerfen Sie die Benutzeroberfläche Ihres Programms. Die Benutzeroberfläche ist die Sicht, die nach dem Starten der Anwendung am Bildschirm erscheint. Auf ihr positionieren Sie beispielsweise alle Eingabe- und Ausgabefelder, die für die Ausführung des Programms notwendig sind. Notizen 23 3 Visual Basic 6.0 - Grundlagen Programmierung Sie sollten beim Entwerfen von Dialogen und Formen bestimmte Regeln einhalten, um beispielsweise den Dialogen ein einheitliches Erscheinungsbild zu geben, die Dialoge benutzerfreundlich zu gestalten und dem Benutzer ein unnötiges Suchen nach Informationen zu ersparen. Allgemeine Hinweise zur Gestaltung von Dialogen finden Sie beispielsweise unter Visual Basic-Dokumentation/Arbeiten mit Visual Basic/Programmierhandbuch/Teil 2: Einsatzmöglichkeiten für Visual Basic/Erstellen einer Benutzeroberfläche/Entwerfen von Anwendungen im Hinblick auf den Benutzer/ Grundlagen des Oberflächenentwurfs. Verwenden Sie... einprägsame Namen Vergeben Sie einen einprägsamen, aussagekräftigen Namen für den Dialogtitel. Der Benutzer sollte immer wissen, wozu der Dialog dient. Gruppierungen Gruppieren Sie zusammengehörende Steuerelemente, und versehen Sie diese mit einer Beschriftung. die Schaltflächen OK und ABBRECHEN Diese Standard-Schaltflächen sollten auf jedem Dialog enthalten und rechts oben plaziert sein, um dem Anwender unnötiges Suchen zu ersparen. weitere Schaltflächen Sollen auf Ihrem Dialog weitere Schaltflächen enthalten sein, plazieren Sie diese leicht abgesetzt unter den Schaltflächen OK und ABBRECHEN. Achten Sie auch auf Einheitlichkeit der Schaltflächen in Größe und Ausrichtung (vgl. Abschnitt 4.8). die Schaltfläche HILFE Enthält Ihr Dialog die Schaltfläche HILFE, sollte diese rechts unten auf dem Dialog plaziert sein. nicht zu viele Steuerelemente auf einem Dialog Vermeiden Sie "überladene" Dialoge. Ihr Dialog sollte immer übersichtlich sein. Der Anwender sollte nach Informationen nicht lange suchen müssen. Verwenden Sie gegebenenfalls Register oder Erweiterungen, z.B. über eine Schaltfläche OPTIONEN. 3.3.2 Überblick über die Steuerelemente In der Werkzeugsammlung befinden sich zahlreiche Steuerelemente, die zur Gestaltung einer Form bzw. für die Anwendung benötigt werden. 24 Cursor Der Cursor ist selbst kein Steuerelement. Ist diese Schaltfläche aktiviert, können Steuerelemente auf der Form verschoben oder in ihrer Größe verändert werden. PictureBox (Bildfeld) Zur Anzeige von Text, Bildern (Bitmap, Icon bzw. Symbol, Metadatei) und Grafiken (vgl. Image) Label (Bezeichnungsfeld) Zur Anzeige von erläuterndem Text; sie geben beispielsweise Informationen über Steuerelementinhalte. Der Text kann vom Anwender nicht bearbeitet werden. TextBox (Eingabefeld) Zur Abfrage von Benutzereingaben (Texteingaben über die Tastatur) Frame (Rahmen) Steuerelemente, beispielsweise Options- oder Kontrollfelder, können in einem Rahmen gruppiert werden. CommandButton (Schaltfläche) Schaltflächen werden eingesetzt, um Befehle bzw. Ereignisprozeduren beispielsweise durch Klicken oder Doppelklicken zu aktivieren. CheckBox (Kontrollfeld) Um aus einer Liste von Optionen keine, mehrere oder alle auszuwählen; Kontrollfelder können eingeschaltet und ausgeschaltet werden. Grundlagen der Programmentwicklung OptionButton (Optionsfeld) Optionsfelder werden eingesetzt, wenn aus einer Anzahl von Optionen genau eine Option durch Anklicken ausgewählt werden kann. ComboBox (Kombinationsfeld) Zur Auswahl eines Eintrags aus einer Liste oder zur Eingabe eines Textes in ein Eingabefeld; Kombinationsfelder bestehen aus einem Eingabefeld und einem Listenfeld. ListBox (Listenfeld) Aus einem Listenfeld können ein oder mehrere Einträge ausgewählt werden. HScrollBar (Horizontale Bildlaufleiste) Dienen dazu, Fensterinhalte zu verschieben, um alle Inhalte außerhalb des aktuellen Listen- oder Fensterausschnitts anzeigen zu lassen; horizontale Bildlaufleisten verschieben den Fensterinhalt nach rechts bzw. nach links. VscrollBar (Vertikale Bildlaufleiste) Vertikale Bildlaufleisten verschieben den Fensterinhalt nach oben bzw. nach unten. Timer (Zeitgeber) Wird in regelmäßigen Abständen aufgerufen, um Anweisungen im Hintergrund auszuführen; das Steuerelement selbst ist während der Laufzeit nicht sichtbar. DriveListBox (Laufwerk-Listenfeld) In diesem Listenfeld werden alle verfügbaren Laufwerke angezeigt, von denen ein Laufwerk ausgewählt werden kann. DirListBox (Verzeichnis-Listenfeld) Das Verzeichnis-Listenfeld zeigt in Form einer Baumverästelung die Unterverzeichnisse des aktuellen Verzeichnisses an, unter denen gewechselt werden kann. FileListBox (Datei-Listenfeld) In diesem Listenfeld werden die Dateien des aktuellen Verzeichnisses zur Auswahl angeboten. Shape (Figur) Mit diesem Steuerelement können Sie einfache geometrische Figuren (beispielsweise Rechtecke oder Kreise) hinzufügen. Line (Linie) Dieses Steuerelement erlaubt das Hinzufügen von Linien zur Form. Hiermit können Sie grafische Elemente auf der Form plazieren. Image (Anzeige) Zur Anzeige von Grafiken (Bitmaps, Symbolen oder Metadateien); diese Grafiken sind eher zur optischen Aufbereitung eines Fensters gedacht. Sie verfügen über weniger Eigenschaften als Bildfelder. Data (Datensteuerelement) Mit diesem Steuerelement lassen sich Verbindungen zu Datenbanken (beispielsweise Access-, dBase- und anderen SQL-Datenbanken) herstellen. OLE OLE (Object Linking and Embedding) dient zum Austausch von Informationen und Daten zwischen zwei Anwendungen. 3 Notizen 25 3 Visual Basic 6.0 - Grundlagen Programmierung Haben Sie beim Starten von Visual Basic das Symbol VB EINSTEIGER EDITION-STEUERELEMENTE gewählt (im Dialogfenster NEUES PROJEKT, Register NEU), werden Ihnen in der Werkzeugsammlung weitere Steuerelemente zur Verfügung gestellt. 3.3.3 SSTab (Register) Zum Entwerfen von Registerdialogen; der Registerdialog erscheint bereits zur Entwurfszeit so, wie er zur Laufzeit aussieht. MSFlexGrid (Datengebundene Tabelle) Zur Anzeige von Datentabellen (in Verbindung mit dem Datensteuerelement); eine Bearbeitung der Daten ist nicht möglich. CommonDialog (Standarddialog) Stellt die gemeinsamen Windows-Dialogfenster zur Verfügung, wie beispielsweise Dialogfenster zum Speichern oder Drucken TabStrip (Register) Zum Entwerfen von Registerdialogen; der Registerdialog erscheint erst zur Laufzeit korrekt. Toolbar (Symbolleiste) Zum Erstellen von Windows-Symbolleisten StatusBar (Statuszeile) Zum Erstellen einer Windows-Statuszeile ProgressBar (Fortschrittsleiste) Zur Anzeige des Fortschritts eines länger anhaltenden Prozesses, beispielsweise eines Speichervorgangs TreeView (Hierarchisches Listenfeld) Zur hierarchischen Anzeige von Elementen einer Liste, beispielsweise zum Auflisten von Verzeichnissen und Dateien ListView (Listenansicht) Zur Anzeige von Elementen in einer Liste; ähnlich dem Windows-Explorer können verschiedene Ansichten definiert werden (Elemente als Text oder als Symbole). ImageList (Abbildungsliste) Zum Erstellen von Bilderlisten; auf jedes Bild kann durch einen Index zugegriffen werden. Das Steuerelement wird meist dazu verwendet, andere Steuerelemente (beispielsweise Symbolleisten) mit Abbildungen zu beliefern. Slider (Schieberegler) Zur Abfrage eines Wertes aus einem festgelegten Wertebereich mit Hilfe eines Schiebereglers ImageCombo Zur Auswahl eines Elementes aus einem Listenfeld und/oder zur Eingabe eines Textes in ein Eingabefeld; zusätzlich kann neben jedem Listeneintrag ein Bitmap angezeigt werden. DataGrid (Datengebundene Tabelle) Zur Anzeige von Datentabellen (in Verbindung mit dem Datensteuerelement); eine Bearbeitung der Daten (ändern, einfügen, löschen) ist möglich. Adodc (Datenbankfeld) Dient als Datenquelle für die damit verbundenen Steuerelemente; unterstützt beim Bewegen durch die Datensätze MSHFlexGrid (Datengebundene Tabelle) Erweiterte Funktion des MSFlexGrid; Bearbeitung der Daten ist ebenfalls nicht möglich. Steuerelemente einer Form hinzufügen Die Form ist in ein Raster eingeteilt, um die Steuerelemente genau anordnen zu können. Zur Laufzeit ist dieses nicht sichtbar. Einige Steuerelemente sind nur in der Entwurfsansicht sichtbar, beispielsweise der Zeitgeber. Þ Klicken Sie auf das Steuerelement in der Werkzeugsammlung, das Sie der Form hinzufügen möchten. Es erscheint nun aktiviert. 26 Þ Ziehen Sie in der Form bei gedrückter linker Maustaste das Steuerelement auf die gewünschte Größe. Þ Wenn Sie die Maustaste wieder loslassen, erscheint das Steuerelement auf der Form. Grundlagen der Programmentwicklung 3 Sie möchten... ein Steuerelement verschieben Þ Zeigen Sie mit der Maus auf das Steuerelement, und ziehen Sie es bei gedrückter linker Maustaste an die gewünschte Stelle. ein Steuerelement in der Þ Größe verändern Markieren Sie das Steuerelement, und ziehen Sie es durch Anklikken eines Eckpunktes auf die gewünschte Größe. 3.3.4 Eigenschaften festlegen Haben Sie Steuerelemente Ihrer Form hinzugefügt, können die Eigenschaften aller Objekte (Formen und Steuerelemente) festgelegt werden. Objekte besitzen verschiedene Eigenschaften, beispielsweise Größe, Farbe, Position oder Eigenschaften, die den Programmablauf beeinflussen. Beim Hinzufügen eines Steuerelements zur Form werden ihm Standard-Eigenschaften zugewiesen. Diese Werte können Sie nachträglich im Eigenschaftenfenster ändern und Ihrer Anwendung anpassen. Eigenschaften festlegen bzw. ändern Þ Markieren Sie das Objekt (Form oder Steuerelement). oder Wählen Sie das Objekt aus dem Listenfeld im Eigenschaftenfenster aus, indem Sie auf den Pfeil rechts neben dem Listenfeld klicken. Þ Klicken Sie in der Liste der Eigenschaften auf den zu ändernden Wert. Þ Je nach Eigenschaft können Sie - den vorgegebenen Wert durch einen neuen Wert überschreiben - durch Klick auf den Pfeil ein Listenfeld zur Auswahl eines Wertes öffnen - durch Klick auf das Symbol ein Dialogfenster zur Werte stellung anzeigen. Notizen 27 3 Visual Basic 6.0 - Grundlagen Programmierung Überblick wichtiger Eigenschaften Alignment Text kann rechtsbündig, linksbündig Height oder zentriert ausgegeben werden. BackColor Die Hintergrundfarbe des Objektes HelpContextID Einstellen der Hilfetextnummer, die kann verändert werden. mit dem Objekt verknüpft ist BorderStyle Die Art der Objekt-Umrahmung kann Interval bestimmt werden. Der Abstand, wann ein Zeitgeber aktiviert wird, wird festgelegt. Cancel Legt fest, ob es sich um die Schalt- Left fläche ABBRECHEN handelt Die Position (X) der linken oberen Ecke des Objektes wird festgelegt. Caption Stellt die Beschriftung bzw. Über- MousePointer schrift eines Objektes dar Das Aussehen des Mauszeigers kann bestimmt werden (Pfeil, Kreuz etc.). DataField Daten können mit einem Daten- Name Steuerelement verknüpft werden. Gibt den Namen bzw. die interne Bezeichnung des Objektes an Default Eine Schaltfläche ist ausgewählt und Picture RETURN bestätigt kann mit werden. Ein Bildfeld kann mit einem Inhalt versehen werden. DragIcon Festlegen des Mauszeigers beim Zie- TabStop hen eines Objektes Ein DragMode Wechseln zwischen automatischem/ Text manuellem Ziehen eines Objektes Enthält den mentes Enabled Aktiviert das Objekt, um beispiels- Top weise auf Ereignisse zu reagieren Die Position (Y) der linken oberen Ecke kann eingestellt werden. Font Textformatierung wie Schriftart, Visible Schriftschnitt, Schriftgröße etc. Objekte können während des Programmlaufs sichtbar/unsichtbar sein. ForeColor Legt die Schriftfarbe des Textes fest Width Die Höhe des Objektes wird festgelegt. Steuerelement kann mit der -Taste angesprungen werden. Text des Steuerele- Die Breite eines Objektes wird festgelegt. Manche Eigenschaften haben für verschiedene Objekte unterschiedliche Bedeutung. Damit stehen Ihnen für jedes Objekt unterschiedliche Werte als Einstellung zur Verfügung. Steuerelement Bedeutung der Eigenschaft Value Kontrollfeld Ein Kontrollfeld ist aktiviert oder 0 - nicht ausgewählt nicht aktiviert. 1 - ausgewählt 2 - abgeblendet Optionsfeld Ein Optionsfeld ist aktiviert oder True (wahr) - ausgewählt nicht aktiviert. False (falsch) - nicht ausgewählt Schaltfläche Eine Schaltfläche wird gedrückt True - gedrückt oder nicht gedrückt. False - nicht gedrückt Horizontale und vertikale Bildlaufleisten Die Position des Bildlauffeldes einer Werte zwischen -32768 und 32767 bzw. der Bildlaufleiste wird eingestellt. Eigenschaften-Einstellungen Min und Max 3.3.5 Einstellungsmöglichkeiten Beispiel zur Verwendung von Steuerelementen Sie wollen ein Programm Wetter erstellen, das die beiden Schaltflächen Sonnenschein und Regen sowie zwei Bildfelder enthält. Bei Klick auf eine der Schaltflächen soll im jeweiligen Bildfeld die entsprechende Grafik angezeigt werden. 28 3 Grundlagen der Programmentwicklung Form mit Steuerelementen anlegen Þ Öffnen Sie ein neues Projekt. Þ Klicken Sie in der Werkzeugsammlung auf das Schaltflächensymbol (CommandButton che auf der Form auf. Þ ), und ziehen Sie eine Schaltflä- Fügen Sie der Form auf die gleiche Weise eine weitere Schaltfläche sowie zwei Bildfelder (PictureBox ) hinzu. Abb. 3.2 Form erstellen Abb. 3.3 Eigenschaften festlegen Abb. 3.4 Bilddatei auswählen Eigenschaften einstellen Þ Markieren Sie die erste Schaltfläche. Im Eigenschaftenfenster erscheinen die für dieses Objekt verfügbaren Eigenschaften. Þ Tragen Sie bei der Eigenschaft (Name) einen aussagekräftigen Namen ein, z.B. Cmd_Sonne. Þ Legen Sie über die Eigenschaft Caption die Beschriftung fest. Þ Markieren Sie die Form, und legen Sie, ebenfalls über die Eigenschaft Caption, eine Beschriftung für die Titelleiste des Formulares fest, z.B. Wetter. Þ Markieren Sie das Bildfeld, und vergeben Sie einen Namen, z.B. Pic_Sonne. Þ Um die Grafik festzulegen, klicken Sie in die rechte Spalte der Eigenschaft Picture und dort auf das Symbol . Þ Wählen Sie im folgenden Dialogfenster die gewünschte Bilddatei aus. Þ Stellen Sie auf die gleiche Weise die Eigenschaften für die beiden "Regen"-Steuerelemente ein. Þ Speichern Sie das Projekt, beispielsweise unter dem Namen Wetter. Notizen 29 3 Visual Basic 6.0 - Grundlagen Programmierung 3.4 Ereignisprozeduren erstellen Jedes Steuerelement und jede Form kann auf verschiedene Ereignisse (beispielsweise Klicken einer Schaltfläche) reagieren. Dazu müssen Sie sogenannte Ereignisprozeduren programmieren. Die Ereignisse, die einem Objekt zugeordnet sind, sind vom jeweiligen Objekttyp abhängig. Prozeduren werden in Ereignisprozeduren und nicht ereignisorientierte Prozeduren unterteilt (vgl. Kapitel 10). Der Programmcode wird in Visual Basic in Blöcken geschrieben, die als Prozeduren bezeichnet werden. Tritt das Ereignis nicht ein, wird die Ereignisprozedur auch nicht ausgeführt. Das Programm Wetter besitzt die Schaltflächen Sonnenschein und Regen. Folgende Ereignisse und Reaktionen sollen möglich sein: ý Die Schaltfläche Regen wird angeklickt. Als Reaktion wird die Ereignisprozedur Cmd_Regen_Click abgearbeitet. ý Die Schaltfläche Sonnenschein Cmd_Sonne_Click abgearbeitet. wird angeklickt. Als Reaktion wird die Ereignisprozedur Wenn keine der beiden Schaltflächen angeklickt wird, wird auch keine Ereignisprozedur ausgeführt. Falls Sie nachträglich den Namen eines Objektes ändern, zu dem Sie schon Ereignisprozeduren programmiert haben, müssen Sie die Namen der Prozeduren anpassen. Überblick wichtiger Ereignisse 30 Activate Eine Form wird aktiviert, beispielsweise wenn sie angeklickt wird. Change Der Inhalt eines Eingabefeldes oder die Position eines Bildlauffeldes in einer Bildlaufleiste ändert sich. Click Eine Schaltfläche wird angeklickt oder über die Leertaste ein Optionsfeld aktiviert. DblClick Auf einem Element in einem Listenfeld wird ein Doppelklick ausgeführt. Deactivate Eine Form wird deaktiviert, z.B. wenn ein anderes Objekt der Anwendung angeklickt wird. DragDrop Ein Rahmen wird gezogen (drag) und losgelassen (drop), z.B. um ihn zu verschieben. DropDown Ein Listenfeld wird aufgeschlagen. Error Es wird beispielsweise versucht, auf ein Datenfeld zuzugreifen, das nicht existiert. GotFocus Eine Form wird z.B. durch einen Klick mit der Maustaste in den Vordergrund gestellt. KeyDown Eine beliebige Taste wird gedrückt. 3 Grundlagen der Programmentwicklung KeyPress Eine beliebige Taste des ASCII-Zeichensatzes wird gedrückt. KeyUp Eine gedrückte Taste wird losgelassen. Load Eine Form wird geladen, beispielsweise durch Starten der Anwendung. LostFocus Ein Bildfeld wird in den Hintergrund gestellt, z.B. wenn ein anderes Objekt angeklickt wird. MouseDown Eine Maustaste wird gedrückt. MouseMove Die Maus wird bewegt. MouseUp Eine gedrückte Maustaste wird losgelassen. PathChange Der Verzeichnisname wird geändert. Resize Die Größe einer Form ändert sich. Scroll Das Bildlauffeld einer Bildlaufleiste wird bewegt. Timer Das Zeitintervall eines Zeitgeber-Steuerelements ist abgelaufen. Unload Eine Form wird geschlossen. Ein und dasselbe Ereignis kann für verschiedene Objekte durch unterschiedliche Vorgänge ausgelöst werden. Beispielsweise kann bei einem Click-Ereignis eine Maustaste auf eine Schaltfläche klicken, oder in einem Listenfeld kann mit den Tasten é und ê ein Element ausgewählt werden. Codefenster zur Erstellung von Ereignisprozeduren Þ Klicken Sie doppelt auf das Objekt, zu dem Sie eine Ereignisprozedur schreiben möchten. Wenn Sie beispielsweise zu einer Form eine Ereignisprozedur schreiben möchten, klicken Sie innerhalb des Formfensters doppelt auf eine leere Fläche. Alternativen: ANSICHT - CODE oder Das Codefenster wird geöffnet. Es enthält standardmäßig bereits eine Programmiervorlage, die aus dem Anfang (Sub) und dem Ende (End Sub) einer Ereignisprozedur besteht. Dazwischen geben Sie die Anweisungen ein, die das Programm beim Eintreten dieses Ereignisses ausführen soll. Der Name der Prozedur wird bereits automatisch hinter dem Wort Sub vergeben. Er besteht aus folgenden Teilen: Objektname_Ereignis þ Der Objektname ist der Name, den Sie bereits im Eigenschaftenfenster unter der Eigenschaft (Name) vergeben haben bzw. der standardmäßig eingestellt ist (beispielsweise Command1). Sie können ihn im Listenfeld = auswählen. 1 2 þ Nach einem Unterstrich steht das Ereignis, das Sie im Listenfeld > ausgewählt haben. þ Ereignisprozeduren erhalten bei ihrer Erstellung automatisch den Status Private, d.h. sie sind direkt mit einem Ereignis oder einem Steuerelement verknüpft. Notizen 31 3 Visual Basic 6.0 - Grundlagen Programmierung 3.5 Anweisungen eingeben und bearbeiten Anweisungen eingeben Þ Klicken Sie im Codefenster an die Stelle, an der Sie die Anweisung eingeben wollen (immer zwischen Sub Prozedurname und End Sub), und geben Sie die Anweisungen ein. Þ Mit wird eine Anweisung beendet und in eine neue Codezeile gesprungen. RETURN Mehrere Anweisungen In einer Zeile können mehrere Anweisungen nacheinander eingegeben werden, wenn sie mit ":" getrennt werden. Zeilenumbruch Der Code einer Zeile wird in der nächsten Zeile fortgesetzt, wenn nach einem Leerzeichen ein Unterstrich _ folgt. Beispiel: Meldung ="In die Variable Meldung wird ein Text geschrieben und noch einer " _ & "in der nächsten Zeile mit _ und dem kaufmännischen UND angehängt" Sicherung von Codeteilen Die Ereignis-Prozeduren gelöschter Steuerelemente werden im Allgemeinen Deklarationsteil als benutzerdefinierte Prozeduren gespeichert. Syntax Checking Jedesmal, wenn Sie die aktuelle Anweisungszeile mit der RETURN -Taste, der Maus oder über eine der Pfeiltasten verlassen, wird die Zeile sofort auf Syntaxfehler überprüft. Sie erhalten im Falle einer fehlerhaften Anweisung ein Dialogfenster mit einem Hinweis auf das gefundene Problem. Codezeilen einrücken Damit Ihre Anweisungen übersichtlich und gut lesbar angeordnet sind, können Sie einzelne Zeilen oder Bereiche der Prozedur einrücken: Þ Positionieren Sie den Cursor an den Anfang der Codezeile, und betätigen Sie die -Taste. oder Rufen Sie den Menüpunkt BEARBEITEN - EINZUG VERGRÖSSERN auf. Wechseln Sie mit RETURN in die nächste Zeile, wird diese ebenfalls eingezogen. Um den Einzug zu entKORREKTUR , oder wählen Sie den Menüpunkt BEARBEITEN - EINZUG VERKLEINERN. fernen, betätigen Sie Durch Klick auf die Schaltfläche Sonnenschein soll eine Ereignisprozedur aufgerufen werden, die das Bild Sonne ein- und das Bild Regen ausblendet. Abb. 3.5 Erstellen einer Ereignisprozedur Aktionen rückgängig machen Die zuletzt durchgeführte Eingabe oder der zuletzt ausgeführte Befehl kann im Visual Basic-Editor in den meisten Fällen wieder rückgängig gemacht werden. 32 ý Im Codefenster können Sie die letzte oder mehrere codierte Anweisung(en) rückgängig machen. ý Die letzte Löschung oder der letzte Kopiervorgang kann rückgängig gemacht werden. ý Im Formfenster können Sie Steuerelemente wiederherstellen, die Sie gerade gelöscht haben. Þ Wählen Sie den Menüpunkt BEARBEITEN - RÜCKGÄNGIG, um eine Aktion zurückzunehmen. 3 Grundlagen der Programmentwicklung Alternativen: STRG Z oder können Sie den letzten RückgängigMit dem Menüpunkt BEARBEITEN - WIEDERHOLEN oder dem Symbol Befehl zurücknehmen. Es lassen sich auch mehrere Textverarbeitungsvorgänge wiederherstellen, wenn Sie mehrmals hintereinander den Befehl BEARBEITEN - RÜCKGÄNGIG ausgeführt haben. 3.6 Ereignisprozeduren ausführen Sobald Sie eine Ereignisprozedur programmiert haben, können Sie das Programm ausführen. Beim Ausführen des Programms werden die Ereignisprozeduren daraufhin untersucht, ob sie in ihrem Aufbau den Sprachregeln von Visual Basic entsprechen. Sie möchten den Programmablauf... starten Þ Wählen Sie den Menüpunkt AUSFÜHREN - STARTEN. Alternativen: oder F5 Dabei wird nur die aktuelle Ereignisprozedur kompiliert. Möchten Sie hingegen vor dem Start das gesamte Projekt kompilieren: Þ Wählen Sie den Menüpunkt AUSFÜHREN - STARTEN, VOLLSTÄNDIGE KOMPILIERUNG. Alternative: unterbrechen Þ STRG F5 Wählen Sie den Menüpunkt AUSFÜHREN - UNTERBRECHEN. Alternativen: oder STRG PAUSE Ein Testfenster zum Testen einzelner Anweisungen wird eingeblendet (vgl. Abschnitt 11.5). beenden Þ Wählen Sie den Menüpunkt AUSFÜHREN - BEENDEN. Alternative: erneut starten Þ Wählen Sie den Menüpunkt AUSFÜHREN - NEU STARTEN. Alternative: ñ UMSCHALTEN F5 Der Programmlauf wird abgebrochen, und das Programm wird nochmals gestartet. Notizen 33 3 Visual Basic 6.0 - Grundlagen Programmierung Sind in einem Projekt mehrere Formen enthalten, muß festgelegt werden, welche Form beim Starten des Programmes zuerst angezeigt wird (vgl. Abschnitt 9.5). 1 Þ Rufen Sie den Menüpunkt PROJEKT - EIGENSCHAFTEN VON NAME auf. Þ Wählen Sie im Listenfeld a die gewünschte Form aus. Erfolgreiches Übersetzen Abb. 3.6 Startform festlegen Nach erfolgreicher Übersetzung (keine syntaktischen Fehler) erscheint die Form bzw. die Benutzeroberfläche, die Sie zuvor erstellt haben, als ausführbares Programm am Bildschirm. Fehlerhaftes Übersetzen Falls Ihr Programm bzw. Ihre Ereignisprozedur noch formale Fehler enthält, werden diese vom Compiler festgestellt. Der Übersetzungslauf wird in diesem Fall abgebrochen, das Codefenster automatisch geöffnet und die Stelle des aufgetretenen Fehlers markiert. Zusätzlich erscheint eine erläuternde Fehlermeldung. Führen Sie nach der Fehlerbehebung einen erneuten Übersetzungsvorgang durch. (Zu einer ausführlichen Beschreibung, wie Sie Fehler beheben können, vgl. Kapitel 11). Abb. 3.7 Fehlermeldung Testen der Ereignisprozeduren Das System testet Ihr Programm auf formale Korrektheit. Die inhaltliche Korrektheit müssen Sie selbst prüfen. Um Ihre programmierten Ereignisprozeduren zu testen, führen Sie die Ereignisse an den jeweiligen Steuerelementen durch (beispielsweise Klicken auf die Schaltfläche), und beobachten genau die Reaktionen. Entsprechen die eingetretenen Reaktionen nicht den von Ihnen gewünschten, müssen Sie die Anweisungen der Ereignisprozeduren ändern und erneut testen. Starten Sie das Programm Wetter, und klicken Sie auf die Schaltflächen. Arbeitet das Programm korrekt, wird bei jedem Klick die entsprechende Grafik angezeigt. Sie werden allerdings feststellen, daß beim Start des Programmes zunächst beide Grafiken sichtbar sind. Durch eine zusätzliche Prozedur können Sie dies verhindern. Þ Klicken Sie doppelt auf die Form. Es wird eine Prozedur für das Standardereignis Load der Form eingefügt. Þ 34 Setzen Sie für beide Bildfelder die Eigenschaft Visible auf False, so daß beim Starten keines der Bilder angezeigt wird. 3 Grundlagen der Programmentwicklung 3.7 Ausführbare Programmdatei erstellen Ist Ihr Programm fehlerfrei und vollständig, können Sie eine ausführbare Programmdatei erstellen. Mit dieser Programmdatei kann Ihr Programm unter Windows auch ohne Visual Basic gestartet werden. Dabei werden alle Formen, Module und Zusatzsteuerelemente Ihres Projektes zu einer einzelnen ausführbaren Programmdatei zusammengefügt, die die Dateierweiterung .EXE erhält. Þ Speichern Sie Ihr fehlerfreies Projekt über den Menüpunkt DATEI - PROJEKT SPEICHERN. Þ Wählen Sie den Menüpunkt DATEI Name.EXE ERSTELLEN. Þ Geben Sie im Eingabefeld einen Namen a Abb. 3.8 für die Datei ein. Þ Bestätigen Sie mit OK oder RETURN 1 Eine EXE-Datei erstellen . Programm aus dem Explorer von Windows starten Þ Öffnen Sie den Explorer von Windows, indem Sie beispielsweise im Startmenü auf den Eintrag PROGRAMME - WINDOWS-EXPLORER klicken. Þ Wechseln Sie zu dem Verzeichnis, in dem Ihre Programmdatei gespeichert ist. Þ Klicken Sie doppelt auf den Dateinamen des Programms (Typ ANWENDUNG). Paket- und Weitergabe-Assistent Zur Ausführung einer Anwendung benötigt Windows zahlreiche weitere Dateien (z.B. DLL-Dateien); die EXEDatei allein genügt nicht. Auf Ihrem Computer sind diese Dateien durch die Installation der Visual Basic-Entwicklungsumgebung automatisch vorhanden. Wollen Sie Ihre Anwendung auf einen fremden Rechner transferieren, müssen Sie auch alle weiteren von Visual Basic benötigten Dateien mitliefern. Bei der Zusammenstellung dieser Dateien ist Ihnen der Paket- und Weitergabe-Assistent behilflich. Þ Speichern und kompilieren Sie Ihr Projekt. Þ Rufen Sie den Menüpunkt ADD-INS - ADD-INMANAGER auf. 1 Wenn Sie den Paket- und Weitergabe-Assistenten das erste Mal starten, erhalten Sie nebenstehendes Dialogfenster. Þ Markieren Sie den Eintrag a, und aktivieren Sie das Kontrollfeld b. 2 oder Klicken Sie doppelt auf den Eintrag a. Das Menü ADD-INS erhält ein zusätzliches Abb. 3.9 Erstmaliges Starten Menüelement , über das Sie den Assistenten starten können. 35 3 Visual Basic 6.0 - Grundlagen Programmierung Der Paket- und Weitergabe-Assistent wird automatisch auf das gerade geladene Projekt angewandt. Ist kein Projekt geladen, erhalten Sie eine entsprechende Meldung. Im folgenden Dialogfenster können Sie aus drei Funktionen auswählen. Die Funktion VERPACKEN ist die am häufigsten verwendete. Diese Funktion erstellt aus Ihrem Projekt ein Paket, das alle zur Ausführung Ihrer Anwendung benötigten Dateien enthält. 3.8 Schnellübersicht Abb. 3.10 Funktion auswählen Sie möchten... Lösung ein neues Projekt erstellen DATEI - NEUES PROJEKT ein Projekt öffnen DATEI - PROJEKT ÖFFNEN ein Projekt speichern DATEI - PROJEKT SPEICHERN ein Element eines Projektes unter einem anderen Namen speichern DATEI - SPEICHERN VON Name UNTER -- ein Steuerelement einer Form hinzufügen Steuerelement in der Werkzeugsammlung anklicken und auf der Form aufziehen -- Objekteigenschaften festlegen bzw. ändern Objekt markieren, ANSICHT - EIGENSCHAFTENFENSTER eine Ereignisprozedur für ein Objekt schreiben Objekt markieren, ANSICHT - CODE eine Aktion rückgängig machen BEARBEITEN - RÜCKGÄNGIG ein Programm starten AUSFÜHREN - STARTEN ein Programm beenden AUSFÜHREN - BEENDEN eine ausführbare Programmdatei erstellen DATEI - Name.EXE ERSTELLEN -- Ihr Projekt für die Installation auf einem anderen Rechner bereitstellen ADD-INS - PAKET- UND WEITERGABE-ASSISTENT -- 3.9 Alternative Übung Übung 1 - Erstellen einer Ereignisprozedur Beim Klicken auf eine Schaltfläche soll in einer Textbox ein festgelegter Text erscheinen. 36 a Fügen Sie einer leeren Form eine Schaltfläche und eine Textbox hinzu, und positionieren Sie beide Steuerelemente horizontal zentriert auf der Form. b Vergeben Sie für die Objekte des Projektes folgende Eigenschaftswerte: 3 Grundlagen der Programmentwicklung Objekt Eigenschaft Wert Form Caption Klick-Fenster Textbox Text [leer] (Name) Txt_Ausgabe Caption Klicken (Name) Cmd_Klicken Schaltfläche c Speichern Sie die Form und das Projekt unter dem Namen Klick. d Klicken Sie doppelt auf die Schaltfläche Klicken. e Wechseln Sie im Listenfeld a nacheinander zu den einzelnen Objekten sowie im Listenfeld b zu den verschiedenen Ereignissen. 1 2 Für jedes ausgewählte Ereignis wird eine neue Programmiervorlage hinzugefügt. f Schreiben Sie für das Ereignis Click der Schaltfläche Klicken folgende Anweisungen. Sub Cmd_Klicken_Click () Txt_Ausgabe.Text = "Ein Klick und schon erscheint der Text" End Sub g Speichern Sie das Projekt, und führen Sie das Programm Klick.vbp aus. Enthält Ihr Programm Fehler, müssen Sie versuchen, die Fehler mit den Ihnen bekannten Korrekturfunktionen zu beheben. Führen Sie dann einen erneuten Programmablauf durch. h Erstellen Sie für das Projekt eine ausführbare Datei Klick.exe, nachdem es fehlerfrei übersetzt wurde. i Starten Sie das Programm Klick aus dem Explorer von Windows. Übung 2 - Steuerelemente und Eigenschaftenfenster Das in den nachfolgenden Übungen erzeugte Dialogfenster sieht etwa wie in nebenstehender Abbildung aus. a Öffnen Sie die Form Hello.frm (Kapitel03\Hello\Vorher). Lassen Sie sich das Eigenschaftenfenster dazu anzeigen. b Geben Sie bei Caption den Text Hello World und bei (Name) Frm_Hello1 ein. In der Titelleiste erscheint nun "Hello World". c Legen Sie folgende Eigenschaften für die Form fest, und Abb. 3.11 starten Sie jeweils das Projekt: Erstelltes Dialogfenster Notizen 37 3 Visual Basic 6.0 - Grundlagen Programmierung Eigenschaft Neuer Wert Wirkung nach Start Visible True bzw. False Die Form ist sichtbar bzw. unsichtbar. Enabled True bzw. False Die Form ist aktiv bzw. inaktiv, d.h. ein Klick auf die Formfläche erzeugt einen Warnpiepser. BackColor Auswahl aus der Farbpalette Die gewählte Farbe wird als Formfarbe angezeigt. Controlbox (sowie auch Min-, Maxbutton) True bzw. False Das Systemmenüfeld wird angezeigt bzw. ausgeblendet. ShowInTaskbar True bzw. False Nach Minimieren der Form wird diese in der TaskLeiste angezeigt bzw. nicht angezeigt. d Zeichnen Sie in die Form ein Eingabefeld (TextBox) ein. e Starten Sie das Projekt (achten Sie darauf, daß Sie die Form-Eigenschaften vorher wieder zurückstellen!). f Geben Sie in das Eingabefeld Text ein, und bearbeiten Sie ihn. g Beenden Sie den Programmablauf. h Markieren Sie das Eingabefeld, um im Eigenschaftenfenster dessen Eigenschaften anzuzeigen. i Geben Sie bei (Name) Txt_Meldung ein, legen Sie folgende Eigenschaften fest, und starten Sie jeweils das Projekt: Eigenschaft Neuer Wert Wirkung Text Das ist meine erste Textbox. Anzeige des Textes Enabled True bzw. False Im Eingabefeld erscheint der Cursor, und es kann Text eingegeben werden, bzw. es ist keine Eingabe möglich (Fehlerpiepser). Visible True bzw. False Sichtbar bzw. unsichtbar Font Wählen Sie im Dialogfenster Anzeige der Schrift gemäß gewählter Einstellung die Schriftart etc. j Zeichnen Sie eine Schaltfläche mit dem Namen Cmd_Meldung in die Form ein. k Testen Sie die Wirkung der oben veränderten Eigenschaften. Beachten Sie, daß Sie statt der Eigenschaft .Text die Eigenschaft .Caption verändern müssen. Übung 3 - Das Codefenster und die Ereignisprozeduren Nach Klick auf Cmd_Meldung soll ein Dialogfenster mit dem Text "Hello World" erscheinen. a Markieren Sie die Schaltfläche Cmd_Meldung, und öffnen Sie das Codefenster durch Doppelklick auf die Schaltfläche. Es wird die Standardereignisprozedur angezeigt. Im Falle der Schaltfläche ist das der einfache Mausklick. b Geben Sie den folgenden Code ein: MsgBox "Hello World" c Starten Sie das Projekt. Nach Klick auf die Schaltfläche erscheint das rechts angezeigte Dialogfenster, das nach Klick auf OK wieder verschwindet. Nach Klick auf Cmd_Meldung soll "Hello World" in dem Eingabefeld Txt_Meldung erscheinen. d 38 Gehen Sie wieder in das Click-Ereignis von Cmd_Meldung, und kommentieren Sie die obere Zeile aus, d.h. setzen Sie ein Hochkomma ' vor die Zeile mit dem MsgBox-Befehl. Grundlagen der Programmentwicklung e Geben Sie den folgenden Code ein: Txt_Meldung.Text = "Hello World" f Starten Sie das Projekt. g Nach Klick auf Cmd_Meldung erscheint der Text im Eingabefeld. 3 Zwei weitere Schaltflächen sollen eingezeichnet und deren Eigenschaften verändern werden. h Zeichnen Sie zwei Schaltflächen ein (vgl. Abb. 3.12). Geben Sie für (Name) Cmd_Ein bzw. Cmd_Aus und für Caption Ein bzw. Aus ein. i Gehen Sie in dieser Reihenfolge in die Click-Ereignisprozeduren, und geben Sie jeweils ein Txt_Meldung.Visible = True (bei Cmd_Ein) Txt_Meldung.Visible = False (bei Cmd_Aus) j Starten Sie das Projekt. Durch wechselseitiges Klicken auf die beiden Schaltflächen wird das Eingabefeld aus- und wieder eingeblendet. Übung 4 - Automatische Syntaxüberprüfung Für diese Übung muß das Optionsfeld AUTOMATISCHE SYNTAXÜBERPRÜFUNG aktiviert sein (EXTRAS - OPTIONEN, Register EDITOR). a Gehen Sie in die Click-Prozedur von Cmd_Meldung, und entfernen Sie die Leerzeichen vor und nach dem "=". Nach einem Klick in einen anderen Codebereich fügt Visual Basic diese automatisch wieder ein - der Code wurde formal als richtig erkannt. b Entfernen Sie das letzte Anführungszeichen. Visual Basic fügt es nach Verlassen der Zeile automatisch wieder ein. c Entfernen Sie das erste Anführungszeichen. Nach Verlassen der Zeile folgt eine Fehlermeldung. Notizen 39