Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einführung
2 Grundlagen der Sprachsyntax
3 Klassendesign
4 Weitere Datentypen
5 Multithreading
6 Collections und LINQ
7 Eingabe und Ausgabe
8 Anwendungen: Struktur und Installation
9 Code erstellen und debuggen
10 Einige Basisklassen
11 Windows-Anwendungen erstellen
12 Die wichtigsten Steuerelemente
13 Tastatur- und Mausereignisse
14 MDI-Anwendungen
15 Grafiken mit GDI+
16 Drucken
17 Entwickeln von Steuerelementen
18 Programmiertechniken
19 WPF – Grundlagen
20 Layoutcontainer
21 WPF-Steuerelemente
22 Konzepte von WPF
23 Datenbankverbindung mit ADO.NET
24 Datenbankabfragen mit ADO.NET
25 DataAdapter
26 Offline mit DataSet
27 Datenbanken aktualisieren
28 Stark typisierte DataSets
A Anhang: Einige Übersichten
Stichwort

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Visual Basic 2008 von Andreas Kuehnel, Stephan Leibbrandt
Das umfassende Handbuch
Buch: Visual Basic 2008

Visual Basic 2008
3., aktualisierte und erweiterte Auflage, geb., mit DVD
1.323 S., 49,90 Euro
Rheinwerk Computing
ISBN 978-3-8362-1171-0
Pfeil 2 Grundlagen der Sprachsyntax
Pfeil 2.1 Konsolenanwendungen
Pfeil 2.1.1 Allgemeine Anmerkungen
Pfeil 2.1.2 Der Projekttyp »Konsolenanwendung«
Pfeil 2.1.3 Die Vorlage »Konsolenanwendung«
Pfeil 2.2 Kommentare und Anweisungen
Pfeil 2.2.1 Einfache Kommentare
Pfeil 2.2.2 Hilfekommentare
Pfeil 2.2.3 Funktionsaufrufe (Methoden)
Pfeil 2.2.4 Anweisungen
Pfeil 2.3 Programmausführung
Pfeil 2.3.1 Ausgabe mit WriteLine
Pfeil 2.3.2 Start und Test
Pfeil 2.3.3 Unterbrechung mit ReadLine
Pfeil 2.4 Projektorganisation
Pfeil 2.4.1 Namensräume und Imports
Pfeil 2.4.2 Lösungen als Hyperprojekt
Pfeil 2.4.3 Existierende Projekte hinzufügen
Pfeil 2.4.4 Neues Projekt hinzufügen
Pfeil 2.4.5 Quellcodegliederung
Pfeil 2.4.6 Refactoring
Pfeil 2.5 Variablen und Datentypen
Pfeil 2.5.1 Explizite und implizite Variablen (Option Explicit)
Pfeil 2.5.2 Typisierte und untypisierte Variablen (Option Strict)
Pfeil 2.5.3 Variablendeklaration
Pfeil 2.5.4 Einfache Datentypen
Pfeil 2.5.5 Sichtbarkeit und Lebensdauer
Pfeil 2.5.6 Initialisierung von Variablen
Pfeil 2.5.7 Datentypkonvertierung
Pfeil 2.5.8 Funktionen
Pfeil 2.5.9 Schlüsselwörter
Pfeil 2.5.10 Zusammenfassung
Pfeil 2.6 Ein- und Ausgabemethoden der Klasse »Console«
Pfeil 2.6.1 Ausgabe mit Write und WriteLine
Pfeil 2.6.2 Einlesen mit Read und ReadLine
Pfeil 2.7 Operatoren
Pfeil 2.7.1 Arithmetische Operatoren
Pfeil 2.7.2 Relationale Operatoren
Pfeil 2.7.3 Logische Operatoren
Pfeil 2.7.4 Bitweise Operatoren
Pfeil 2.7.5 Verkettungsoperator
Pfeil 2.7.6 Zuweisungsoperatoren
Pfeil 2.7.7 Operatorprioritäten
Pfeil 2.7.8 Zusammenfassung
Pfeil 2.8 Fehlerbehandlung
Pfeil 2.8.1 Ohne Fehlerbehandlung
Pfeil 2.8.2 Funktionsweise von Try/Catch/Finally
Pfeil 2.8.3 Try/Catch
Pfeil 2.8.4 Try/Catch/Finally
Pfeil 2.8.5 Try/Finally
Pfeil 2.8.6 Rethrow
Pfeil 2.8.7 Spezifische Ausnahmen und mehrere Catch-Zweige
Pfeil 2.8.8 Unstrukturierte Fehlerbehandlung
Pfeil 2.9 Kontrollstrukturen
Pfeil 2.9.1 Die If-Anweisung
Pfeil 2.9.2 Select-Case-Anweisung
Pfeil 2.9.3 Gültigkeitsbereich einer Variablendeklaration
Pfeil 2.9.4 Entscheidungsfunktionen
Pfeil 2.9.5 If-Operator
Pfeil 2.9.6 Bedingte Kompilierung
Pfeil 2.9.7 Zusammenfassung
Pfeil 2.10 Programmschleifen
Pfeil 2.10.1 Do und While
Pfeil 2.10.2 For
Pfeil 2.10.3 Gültigkeitsbereich einer Variablendeklaration
Pfeil 2.10.4 Exit und Continue
Pfeil 2.10.5 GoTo
Pfeil 2.10.6 Zusammenfassung
Pfeil 2.11 Datenfelder (Arrays)
Pfeil 2.11.1 Eindimensionale Arrays
Pfeil 2.11.2 Mehrdimensionale Arrays
Pfeil 2.11.3 Initialisierung
Pfeil 2.11.4 Arrayname und Kopien
Pfeil 2.11.5 Speicherbelegung und Redimensionierung
Pfeil 2.11.6 Jagged Arrays
Pfeil 2.11.7 Feldgröße
Pfeil 2.11.8 Zusammenfassung


Rheinwerk Computing - Zum Seitenanfang

2.4 Projektorganisation Zur nächsten ÜberschriftZur vorigen Überschrift


Rheinwerk Computing - Zum Seitenanfang

2.4.1 Namensräume und Imports Zur nächsten ÜberschriftZur vorigen Überschrift

.NET und damit Visual Basic organisieren die Namen, die in den Bibliotheken verwendet werden, in einer Art Verzeichnisstruktur. Analog zu einem Verzeichnis auf der Festplatte, das zusammengehörige Dateien zusammenfasst, werden Namen auf sogenannte Namensräume (englisch namespaces) verteilt. Bei der Verwendung von Console haben wir davon nichts gemerkt, weil dieser Name in einem Namensraum ist, der importiert wurde, also nicht extra angegeben werden muss. Diese importierten Namensräume sind auf der Verweise-Lasche der Projekteigenschaften (siehe Abbildung 2.16) aufgelistet und über das in Abbildung 2.15 gezeigte Kontextmenü des Projekts erreichbar. (Klicken Sie mit der rechten Maustaste auf den Projektnamen im Projektmappen-Explorer.)

Abbildung 2.15 Kontextmenü des Projekts

Abbildung 2.16 Importierte Namensräume

Wenn man nun das Häkchen vor System (siehe Abbildung 2.16) wegnimmt, meldet der Compiler einen Fehler. Dies ist im unteren linken Teil von Abbildung 2.17 zu sehen. Wenn man mit dem Mauszeiger über der blau unterkringelten Console stehen bleibt und dann auf den erscheinenden Pfeil klickt, so teilt einem die aufspringende Liste mit, was zu tun ist. Entweder müssen Sie wieder ein Häkchen vor System setzen (Vorschlag Importieren Sie »System«) oder den Namensraum explizit angeben (Vorschlag Ändern Sie »Console« in »System.Console«).

Abbildung 2.17 Fehlermeldungen bei vergessenem Namensraum

Eine Alternative zum Häkchen vor System in den Projekteinstellungen ist die Verwendung von Imports vor dem Programmcode, wie im nächsten Listing zu sehen ist. Dies macht den Namensraum nur in dieser Datei bekannt. Häufig gebrauchte Namensräume macht man im Allgemeinen besser in den Projekteinstellungen bekannt. Wir werden daher im Folgenden den Namensraum wieder in den Projekteigenschaften importieren.

Imports System 
Module Module1 
   Sub Main() 
      Console.WriteLine("Start {0}!", DateTime.Now) 
      Console.ReadLine() 
   End Sub 
End Module

Den zweiten Vorschlag in Abbildung 2.17, den Namen Console mit dem Namensraum System zu qualifizieren, zeigt das nächste Listing. So ein »vollständiger« Name ist nun von allen importierten Namensräumen unabhängig und darf auch (muss aber nicht) dann verwendet werden, wenn der Namensraum bereits importiert wurde.

Module Module1 
   Sub Main() 
      System.Console.WriteLine("Start {0}!", System.DateTime.Now) 
      System.Console.ReadLine() 
   End Sub 
End Module

Wenn Ihnen das zu viel Tipparbeit ist und Sie trotzdem vollqualifizierte Namen verwenden möchten, können Sie mit Imports durch eine Zuweisung mit dem Gleichheitszeichen auch Synonyme (englisch aliases) für Namensräume oder Module (oder: Klassen, Strukturen, Enumerationen) definieren. Sie haben Vorrang vor gleichlautenden einfachen Imports-Anweisungen. Noch mehr Arbeit kann man sich sparen, wenn man ein Modul importiert. Dann hat man direkt Zugriff auf die über den Modulnamen erreichbaren Modulelemente. Im folgenden Beispiel werden zwei Synonyme definiert und dann der Typ Environment eingebunden, um den systemunabhängigen Zeilenvorschub NewLine direkt verwenden zu können.

Imports S = System         '1 
Imports C = System.Console '2 
Imports System.Environment '3 
Module Module1 
  Sub Main() 
    S.Console.WriteLine("Namensraum {0}!", DateTime.Now) '1 
    C.WriteLine("Typ {0}!", DateTime.Now)                '2 
    Console.Write("Typ!{0}", Environment.NewLine) 
    Console.Write("Typ!{0}", NewLine)                    '3 
    System.Console.ReadLine() 
  End Sub 
End Module

Hinweis
Wenn es durch Imports zu Zweideutigkeiten bei der Namensvergabe kommt, wird ein Compilerfehler erzeugt.


Den Mechanismus der Namensräume kann man auch in eigenen Programmen nutzen. Denn schneller als man dies als Anfänger glauben mag, hat man viele neue Programme geschrieben. Dann kommt der Wunsch auf, das Ganze besser zu organisieren. Der Namensraum im eigenen Programm umschließt eigene Module und darf Punkte im Namen enthalten. Analog zum Ende einer Prozedur wird das Ende eines Namensraums kenntlich gemacht.

Namespace Raum       'Mein.Erster.Raum ginge auch 
   Module Module1 
      Sub Main() 
         Console.WriteLine("Programm gestartet!") 
         Console.ReadLine() 
      End Sub 
   End Module 
End Namespace

Ein paar Bemerkungen zu Namensräumen:

  • Ein Namensraum darf beliebig viele Module (Typen) enthalten.
  • Alle Abschnitte mit identischem Namensraum (auch in verschiedenen Dateien) werden behandelt, als stünden sie in einem Namensraumabschnitt.
  • Namensräume dürfen geschachtelt werden, wobei ein Namensraum mit Punkten äquivalent zu geschachtelten Namensräumen ohne Punkt ist.
  • Definitionen eines inneren Namensraums haben Zugriff auf den umschließenden Namensraum.
  • Module ohne Namensraum sind Teil des globalen Namensraums.

Diese Änderung muss dem Projekt gegebenenfalls noch bekannt gemacht werden. In der Lasche Anwendung der Projekteigenschaften, die Sie in Abbildung 2.18 sehen, wählen wir den Namen Module1 als Startobjekt und zwar mit dem Namensraum Raum davor. Alternativ kann rechts oben der Wurzelnamensraum in Raum geändert und Sub Main ohne qualifizierenden Namensraum ausgewählt werden.

Abbildung 2.18 Einstiegspunkt der Anwendung

Obwohl dies nur nach Kosmetik aussieht, wird sich zeigen, dass eine gute Organisation von Namen im .NET-Framework unbedingt erforderlich ist, um es überhaupt im Alltag nutzen zu können. Denn wer kann sich schon viele Tausend Namen merken, ohne eine Gedächtnisstütze für die Organisation zu haben? Außerdem fällt die Fehlersuche sehr viel leichter, wenn alles in »sprechenden« Namensräumen organisiert ist. Natürlich nur für den Fall, dass Sie Fehler machen …


Rheinwerk Computing - Zum Seitenanfang

2.4.2 Lösungen als Hyperprojekt Zur nächsten ÜberschriftZur vorigen Überschrift

Dies ist ein guter Zeitpunkt, um von nun an die Beispiele dieses Kapitels unter einem Dach zu organisieren. Dazu legen wir ein neues Projekt mit dem Typ Leere Projektmappe an, wie Abbildung 2.19 zeigt. Als Namen verwenden wir Sprachsyntax, den Speicherort wählen Sie bitte nach Ihren Erfordernissen.

Abbildung 2.19 Neue Projektmappe erstellen

Der Projektmappen-Explorer zeigt dieses neue »Projekt« (Abbildung 2.20).

Abbildung 2.20 Leere Projektmappe


Rheinwerk Computing - Zum Seitenanfang

2.4.3 Existierende Projekte hinzufügen Zur nächsten ÜberschriftZur vorigen Überschrift

Dieser leeren Lösung können wir nun das Projekt hinzufügen, das wir bereits erstellt haben. Dies erfolgt über das Kontextmenü der Lösung, wie Abbildung 2.21 zeigt.

Abbildung 2.21 Existierendes Projekt hinzufügen

Die Projektdatei ist ErsteKonsolenanwendung.vbproj, wie Abbildung 2.22 zeigt.

Abbildung 2.22 Existierendes Projekt wählen


Hinweis
Der Lösung wird ein Link auf das Projekt hinzugefügt (Abbildung 2.23), und es wird keine Kopie erstellt. Beim Hinzufügen von einzelnen Quellcodedateien hat man die Wahl, indem man auf den kleinen Pfeil des Hinzufügen-Buttons klickt.


Abbildung 2.23 Link auf Datei hinzufügen


Rheinwerk Computing - Zum Seitenanfang

2.4.4 Neues Projekt hinzufügen Zur nächsten ÜberschriftZur vorigen Überschrift

Diesem Projekt fügen wir nun ein neues Projekt in der gleichen Lösung hinzu. Dazu verwenden wir das Menü DateiHinzufügenNeues Projekt… (siehe Abbildung 2.24). Der Name des Projekts ist ImpliziteVariablen, und der Projekttyp ist eine Konsolenanwendung.

Abbildung 2.24 Projekt zur Lösung hinzufügen

Die Projektmappe enthält nun zwei Projekte, wie Abbildung 2.25 zeigt.

Abbildung 2.25 Lösung mit zwei Projekten

Schließlich müssen wir noch das neue Projekt zum Startprojekt machen. Dies erfolgt in den Eigenschaften der Projektmappe, wie Abbildung 2.26 zeigt. Bitte beachten Sie, dass dazu im Projektmappen-Explorer die Projektmappe (erste Zeile) markiert sein muss und nicht ein Projekt oder ein Teil davon. Nach der Festlegung ist das Projekt ImpliziteVariablen im Projektmappen-Explorer fett dargestellt. Eine Alternative zur Festlegung ist der Menüpunkt Als Startprojekt festlegen im Kontextmenü des Projekts.

Abbildung 2.26 Startprojekt festlegen


Rheinwerk Computing - Zum Seitenanfang

2.4.5 Quellcodegliederung Zur nächsten ÜberschriftZur vorigen Überschrift

Die Entwicklungsumgebung erlaubt es, Teile des Codes aus der Ansicht auszublenden. Dazu klickt man auf eines der kleinen Quadrate mit einem Minuszeichen links neben dem Quellcode. Der Mauscursor in Abbildung 2.27 zeigt auf ein solches Quadrat, und der umrandete Bereich markiert, welche Codezeilen betroffen sind (vom Quadrat bis zum korrespondierenden kleinen Querstrich).

Abbildung 2.27 Zusammenklappbarer Quellcode

Nach einem Klick auf das Quadrat ergibt sich das Bild aus Abbildung 2.28. Der Code ist ausgeblendet, aber die Zeilennummern bleiben erhalten.

Abbildung 2.28 Zusammengeklappter Code

Eine weitere Möglichkeit der Quellcodeorganisation besteht in der Einführung einer #Region-"Name"-Direktive in den Quellcode. Sie hat keinen Einfluss auf die Kompilierung. Abbildung 2.29 zeigt, dass damit mehrere Prozeduren übersichtlicher gruppiert werden können. Die Gruppe reicht vom Quadrat neben #Region bis zum korrespondierenden Querstrich, umfasst also die Zeilen 3 bis 10.

Abbildung 2.29 Gruppierung mit #Region


Hinweis
Die Kompilierung erfolgt unabhängig davon, ob Quellcode ausgeblendet ist. Ebenso ist die Reihenfolge der Modulmitglieder beliebig.



Rheinwerk Computing - Zum Seitenanfang

2.4.6 Refactoring topZur vorigen Überschrift

In der Praxis wird es nicht vorkommen, dass Sie ein Programm schreiben und dabei nie die Namen von Bezeichnern oder Methodendefinitionen ändern. In solchen Fällen ist es mühsam und fehleranfällig, alle Änderungen von Hand durchzuführen. Viel besser ist es, auf Möglichkeiten der Entwicklungsumgebung zuzugreifen. Markieren Sie zum Beispiel einen Bezeichner, den Sie ändern wollen, und wählen Sie aus dem Kontextmenü (rechte Maustaste) den Punkt Umbenennen … aus, wie in Abbildung 2.30 zu sehen ist.

Abbildung 2.30 Umbenennen

In dem erscheinenden Dialog geben Sie den neuen Namen ein. Durch Bestätigung des Dialogs werden alle Vorkommen des Namens geändert, und zwar in allen Dateien, die mit dem Projekt zusammenhängen. Es gibt für die Entwicklungsumgebung zahlreiche (kommerzielle) Erweiterungen, die die Möglichkeiten automatisierter Quelltextänderungen erheblich erweitern.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück
  Zum Katalog
Zum Katalog: Visual Basic 2008
Visual Basic 2008
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Visual Basic 2012






 Visual Basic 2012


Zum Katalog: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Katalog: Professionell entwickeln mit Visual C# 2012






 Professionell
 entwickeln mit
 Visual C# 2012


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2009
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de