In diesem Kapitel wird die Form der Sprache Visual Basic erläutert. Die Konzepte der Objektorientierung werden weitestgehend in späteren Kapiteln behandelt. Außerdem enthält das Kapitel eine Einführung in den Lauf und Test einer Anwendung.
2 Grundlagen der Sprachsyntax
2.1 Konsolenanwendungen 

2.1.1 Allgemeine Anmerkungen 

Im ersten Kapitel haben Sie das neue Konzept der .NET-Plattform kennengelernt und einen ersten Einblick in die neue Entwicklungsumgebung von Visual Studio 2008 bekommen. Wenden wir uns nach dieser Einführung nun der Programmierung zu, die sich – losgelöst von allen Einflüssen, die die Common Language Runtime (CLR) ausübt – grundsätzlich in zwei Kategorien einteilen lässt:
- in die fundamentale Sprachsyntax
- in die Objektorientierung
Ein tiefgehendes Verständnis beider Ansätze ist die Voraussetzung, um eine auf der .NET-Plattform basierende Anwendung zu entwickeln. Da die Erklärung der Objektorientierung ohne konkrete Sprachbeispiele nur wenig erfolgversprechend ist, wird zunächst die Syntax der Sprache vorgestellt. Die Beispiele werden so einfach wie möglich gehalten. Nur wenn es das Verständnis fördert, wird hier und da eine Funktion der .NET-Framework-Klassenbibliothek genutzt. Dies ermöglicht es dem Anfänger, ohne unnötigen Ballast zu beginnen.
Um den Einstieg noch einfacher zu machen, insbesondere für diejenigen Leser, die sich zum ersten Mal mit der Programmierung beschäftigen, drehen wir das Rad der EDV-Geschichte zurück und werden unsere Programmbeispiele nur als Konsolenanwendungen schreiben. Im Laufe dieses und der folgenden Kapitel wird deutlich werden, dass dies keine Einschränkung ist, wenn es um das Verständnis der Sprache Visual Basic und der Objektorientierung geht. Lediglich die Ein- und Ausgabe erfolgt wie zu DOS-Zeiten über eine Eingabeaufforderung. Selbst komplexe Aufgaben wie zum Beispiel Netzwerkprogrammierung sind ohne Einschränkung innerhalb einer Eingabeaufforderung genauso lösbar wie mit einer grafischen Benutzeroberfläche. Lediglich der Komfort bei der Ein- und Ausgabe ist beschränkt.
Das Ziel dieses Kapitels ist es, Ihnen die fundamentale Sprachsyntax von VB 2008 näherzubringen. Erst danach soll der objektorientierte Ansatz in den folgenden Kapiteln eingehend erläutert werden. Haben Sie in der Vergangenheit bereits mit VB 2005 gearbeitet, kommen in diesem Kapitel ein paar Neuigkeiten auf Sie zu, zum Beispiel neue Operatoren. Basiert Ihre Erfahrung auf einer älteren Version von Visual Basic, sollten Sie dieses Kapitel genau studieren. Trotz der offensichtlichen Ähnlichkeiten hat sich auch in den grundlegenden Bereichen viel geändert – z. B. die Variablendeklaration und die Datentypen, um nur zwei Punkte aus einer Reihe vieler weiterer zu erwähnen.
2.1.2 Der Projekttyp »Konsolenanwendung« 

Zunächst stehen für uns also nur Konsolenanwendungen im Mittelpunkt des Interesses. Um eine solche zu entwickeln, wählen Sie nach dem Start der Entwicklungsumgebung von Visual Studio 2008 das Menü Datei • Neu • Projekt. Daraufhin öffnet sich das in Abbildung 2.1 dargestellte Dialogfenster Neues Projekt (sollten Sie die Eingabefelder Speicherort und Projektmappennamen nicht sehen, stellen Sie die Option »Neue Projekte beim Erstellen Speichern« in den allgemeinen Projekteinstellungen an, die über das Menü Extras • Optionen zu erreichen sind).
Abbildung 2.1 Das Dialogfenster »Neues Projekt«
Im linken Teilfenster werden – abhängig davon, welche Optionen Sie bei der Installation von Visual Studio gewählt haben – in einer hierarchischen Struktur Projekte für die verschiedenen Sprachversionen angeboten. Da sich dieses Buch mit Visual Basic 2008 beschäftigt, wählen Sie für die Codebeispiele natürlich diese Sprache. Im rechten Teilfenster werden die Vorlagen angezeigt, die der gewählte Projekttyp anbietet.
Nach der Wahl des Projekttyps und der Vorlage müssen Sie noch den Projektnamen und den Speicherort angeben. Der Speicherort ist ein beliebiger Ordner, in dem durchaus auch mehrere Projekte verwaltet werden können. Visual Basic schlägt beim ersten Start einen Standardordner vor, der im Dialog festgelegt wird, der durch das Menü Extras • Optionen geöffnet wird (Punkt Projekte und Projektmappen • Allgemein im linken Teil des Dialogs). Sie können ihn jedoch über die Schaltfläche Durchsuchen... durch einen anderen ersetzen. Unter Name wird die Projektbezeichnung eingetragen. Wenn der Speicherort in einem Netzwerk liegt, kann der Dialog aus Abbildung 2.2 erscheinen, den Sie getrost mit OK bestätigen können, da Sie die Datei ja selbst dort platziert haben.
Abbildung 2.2 Vertrauenswürdigkeit im Netzwerk
2.1.3 Die Vorlage »Konsolenanwendung« 

Wenn Sie alle Einträge vorgenommen und die passende Auswahl getroffen haben, können Sie mit der Schaltfläche OK bestätigen. Danach wird ein Anwendungsrumpf geöffnet, der der gewählten Vorlage entspricht, und im Arbeitsbereich der IDE (Integrated Development Environment = Entwicklungsumgebung) ein Codefenster angezeigt: der Texteditor.
Ein Projekt vom Typ Konsolenanwendung hat nach dem Start sofort eine Quellcodedatei namens Module1.vb. Die Endung der Quellcodedateien ist grundsätzlich immer .vb, während der Dateiname angepasst werden darf, zum Beispiel über das Kontextmenü der Datei.
Der automatisch generierte Programmcode im Texteditor zeigt bereits ein wichtiges Konzept der Programmierung in .NET. Alle Anweisungen des Programms müssen innerhalb von Module stehen. Andere Arten der Modularisierung werden später im Rahmen der Objektorientierung gezeigt. Das Konzept, dass alles modularisiert sein muss, bleibt auch dort erhalten.
Das erste Modul einer Konsolenanwendung trägt standardmäßig den Namen Module1, der aber verändert werden darf. Innerhalb dieses Moduls wird die Programmlogik des Moduls innerhalb von Prozeduren codiert. Die wichtigste Prozedur einer Konsolenanwendung ist ebenfalls bereits vordefiniert: die Main-Prozedur. Wird eine Konsolenanwendung gestartet, ist diese Prozedur immer der Einstiegspunkt in die Laufzeitumgebung, d. h., sie wird also als Erstes ausgeführt.
Module Module1
Sub Main()
End Sub
End Module
Ein Modul darf beliebig viele Prozeduren enthalten. Jede dieser Prozeduren muss eindeutig zu identifizieren sein. Entweder muss sie einen Namen haben, den keine andere Prozedur desselben Moduls verwendet, oder die Typen der Parameterliste zwischen den runden Klammern müssen sich unterscheiden. Beides zusammen wird als Signatur der Prozedur bezeichnet. In unserem Beispiel hat die Prozedur Main keine Parameter. Sie dürfen daher in einem Modul keine zweite Main-Prozedur definieren, das würde zu einem Konflikt führen.
Zwischen der einleitenden Prozedurdefinition – im obigen Beispiel Sub Main() – und dem Ende einer Prozedur mit End Sub befinden sich die Anweisungen, die die Funktionalität der Prozedur beschreiben. Im obigen Beispiel gibt es noch keine.
In einer Quellcodedatei dürfen mehrere Module definiert werden, selbstverständlich namentlich eindeutig, ebenso können dem Projekt weitere Quellcodedateien hinzugefügt werden, die jeweils immer mit .vb enden.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.