Die Struktur einer VisualBasic-Anwendung
Eine Anwendung ist eigentlich nichts anderes als eine Reihe von Anweisungen, die einen Computer anweisen, eine Aufgabe auszuführen. Die Struktur einer Anwendung ist die Art und Weise, wie Anweisungen organisiert sind, d. h. wo Anweisungen gespeichert werden und in welcher Reihenfolge sie ausgeführt werden.
Typische Helloworld-Beispiele und einfache Anwendungen wie diese haben eine einfache Struktur. Für eine einzelne Codezeile ist die Organisation nicht sehr wichtig. Doch je komplexer die Anwendung, desto offensichtlicher werden die organisatorischen oder strukturellen Anforderungen. Stellen Sie sich das Chaos vor, das entstehen würde, wenn Anwendungen in zufälliger Reihenfolge ausgeführt werden könnten. Neben der Steuerung der Ausführung einer Anwendung spielt die Struktur auch eine wichtige Rolle dabei, wie bestimmte Anweisungen in der Anwendung leicht gefunden werden können.
Da Visual Basic-Anwendungen objektbasiert sind, ist die Codestruktur der Anwendung ein Modell der physischen Darstellung des Programms auf dem Bildschirm. Per Definition enthalten Objekte Daten und Code. Das Formular, das Sie auf dem Bildschirm sehen, stellt die Eigenschaften dar, die das Erscheinungsbild und die zugrunde liegenden Merkmale des Formulars definieren. Jedem Formular in der Anwendung ist ein Formularmodul (Dateierweiterung .frm) zugeordnet, das seinen Code enthält.
Jedes Formularmodul enthält Ereignisprozeduren, bei denen es sich um Codeabschnitte handelt, die Anweisungen enthalten, die als Reaktion auf bestimmte Ereignisse ausgeführt werden. Formulare können Steuerelemente enthalten. Im Formularmodul gibt es für jedes Steuerelement im Formular einen entsprechenden Satz von Ereignisprozeduren. Zusätzlich zu Ereignisprozeduren kann ein Formularmodul generische Prozeduren enthalten, die auf Aufrufe von beliebigen Ereignisprozeduren reagieren.
Code, der sich nicht auf ein bestimmtes Formular oder Steuerelement bezieht, kann in einem anderen Modultyp platziert werden – einem Standardmodul (Dateierweiterung .BAS). Eine Prozedur kann verwendet werden, um auf Ereignisse in mehreren verschiedenen Objekten zu reagieren. Diese Prozedur sollte in einem Standardmodul platziert werden, anstatt denselben Code in der Ereignisprozedur jedes Objekts zu wiederholen.
Verwenden Sie Klassenmodule (Dateierweiterung .CLS), um Objekte zu erstellen, die von Prozeduren innerhalb der Anwendung aufgerufen werden können. Ein Standardmodul enthält nur Code, während ein Klassenmodul sowohl Code als auch Daten enthält und als Steuerelement ohne physische Darstellung betrachtet werden kann.
Kapitel 4, „Projektmanagement“, beschreibt, welche Komponenten der Anwendung hinzugefügt werden können. In diesem Kapitel wird erläutert, wie Code in die verschiedenen Komponenten geschrieben wird, aus denen die Anwendung besteht. Standardmäßig enthält das Projekt ein eindeutiges Formularmodul. Bei Bedarf können weitere Formulare, Klassen und Standardmodule hinzugefügt werden. Kapitel 9, „Programmieren mit Objekten“, behandelt Klassenmodule.
Wie ereignisgesteuerte Anwendungen funktionieren
Ereignisse sind Aktionen, die von einem Formular oder Steuerelement erkannt werden. Ereignisgesteuerte Anwendungen führen Basiscode als Reaktion auf Ereignisse aus. Jedes Formular und Steuerelement in Visual Basic verfügt über einen vordefinierten Satz von Ereignissen. Wenn eines dieser Ereignisse auftritt und die zugehörige Ereignisprozedur Code enthält, ruft Visual Basic diesen Code auf.
Obwohl Objekte in Visual Basic automatisch einen vordefinierten Satz von Ereignissen erkennen, liegt es in der Verantwortung des Programmierers, zu bestimmen, ob und wie sie auf bestimmte Ereignisse reagieren. Jedem Ereignis entspricht ein Codeabschnitt (d. h. eine Ereignisprozedur). Wenn Sie möchten, dass das Steuerelement auf ein Ereignis reagiert, schreiben Sie den Code in den Ereignisprozess des Ereignisses.
Es gibt viele Arten von Ereignissen, die von Objekten erkannt werden, aber die meisten Arten sind bei den meisten Steuerelementen gleich. Beispielsweise erkennen die meisten Objekte das Click-Ereignis. Wenn Sie auf ein Formular klicken, wird der Code in der Click-Ereignisprozedur des Formulars ausgeführt. Wenn auf eine Befehlsschaltfläche geklickt wird, wird der Code in der Click-Ereignisprozedur der Befehlsschaltfläche ausgeführt. Der eigentliche Code ist jeweils fast völlig unterschiedlich.
Hier ist eine typische Abfolge von Ereignissen in einer ereignisgesteuerten Anwendung:
1. Starten Sie die Anwendung, laden Sie das Formular und zeigen Sie es an.
2. Das Formular (oder ein Steuerelement im Formular) empfängt das Ereignis. Ereignisse können vom Benutzer (z. B. Tastaturoperationen), vom System (z. B. Timer-Ereignisse) oder indirekt durch Code (z. B. das Load-Ereignis, wenn der Code das Formular lädt) ausgelöst werden.
3. Wenn während des entsprechenden Ereignisses Code vorhanden ist, führen Sie den Code aus.
4. Die Anwendung wartet auf das nächste Ereignis.
Beachten Sie, dass viele Ereignisse zusammen mit anderen Ereignissen auftreten. Wenn beispielsweise das DblClick-Ereignis auftritt, treten auch die Ereignisse MouseDown, MouseUp und Click auf.
->