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
3 Fehlerbehandlung
4 Erweiterte Grundlagen
5 Objektorientierte Programmierung
6 Wichtige Klassen in .NET
7 Weitere Elemente eines Windows-Programms
8 Datenbank-Anwendungen mit ADO.NET
9 Internet-Anwendungen mit ASP.NET
10 Zeichnen mit GDI+
11 Beispielprojekte
A Installation und technische Hinweise
B Lösungen der Übungsaufgaben
Stichwort

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Einstieg in Visual Basic 2010 von Thomas Theis
Inkl. Visual Studio Express Editions
Buch: Einstieg in Visual Basic 2010

Einstieg in Visual Basic 2010
2., akt. und erw. Aufl., Klappbroschur, mit DVD
467 S., 24,90 Euro
Rheinwerk Computing
ISBN 978-3-8362-1541-1
Pfeil 4 Erweiterte Grundlagen
Pfeil 4.1 Steuerelemente aktivieren
Pfeil 4.1.1 Ereignis Enter
Pfeil 4.1.2 Eigenschaften Enabled und Visible
Pfeil 4.2 Bedienung per Tastatur
Pfeil 4.2.1 Eigenschaften TabIndex und TabStop
Pfeil 4.2.2 Tastenkombination für Steuerelemente
Pfeil 4.3 Ereignisgesteuerte Programmierung
Pfeil 4.3.1 Eine Ereigniskette
Pfeil 4.3.2 Endlose Ereignisketten
Pfeil 4.3.3 Textfelder koppeln
Pfeil 4.4 Mehrere Formulare
Pfeil 4.4.1 Allgemeine Code-Module
Pfeil 4.5 Datenfelder
Pfeil 4.5.1 Eindimensionale Datenfelder
Pfeil 4.5.2 Ein Feld durchsuchen
Pfeil 4.5.3 Weitere Feld-Operationen
Pfeil 4.5.4 Mehrdimensionale Datenfelder
Pfeil 4.5.5 Datenfelder initialisieren
Pfeil 4.5.6 Datenfelder sind dynamisch
Pfeil 4.5.7 Collections initialisieren
Pfeil 4.5.8 For-Each-Schleife
Pfeil 4.6 Datenstruktur ArrayList
Pfeil 4.7 Benutzerdefinierte Datentypen
Pfeil 4.8 Prozeduren und Funktionen
Pfeil 4.8.1 Prozeduren
Pfeil 4.8.2 Übergabe per Referenz
Pfeil 4.8.3 Funktionen
Pfeil 4.8.4 Optionale Argumente
Pfeil 4.8.5 Beliebig viele Argumente
Pfeil 4.8.6 Datenfelder als Argumente
Pfeil 4.8.7 Rekursiver Aufruf
Pfeil 4.8.8 Übungen zu Prozeduren und Funktionen
Pfeil 4.9 Konsolenanwendung
Pfeil 4.9.1 Anwendung erzeugen
Pfeil 4.9.2 Ein- und Ausgabe von Text
Pfeil 4.9.3 Eingabe einer Zahl
Pfeil 4.9.4 Erfolgreiche Eingabe einer Zahl
Pfeil 4.9.5 Ausgabe formatieren
Pfeil 4.9.6 Aufruf von der Kommandozeile


Rheinwerk Computing - Zum Seitenanfang

4.9 Konsolenanwendung Zur nächsten ÜberschriftZur vorigen Überschrift

Einfache Ein- und Ausgabe

Bisher wurden in diesem Buch ausschließlich Windows-Anwendungen entwickelt, also Programme mit der gewohnten und komfortabel bedienbaren Benutzeroberfläche. Je nach Einsatzzweck kann aber auch eine so genannte Konsolenanwendung genügen, bei der nur einfache Eingaben und Ausgaben in Textform vorkommen. Konsolenanwendungen benötigen insgesamt wesentlich weniger Programmcode.

Den Konsolenanwendungen stehen natürlich auch alle Möglichkeiten der Sprache Visual Basic und des .NET-Frameworks zur Verfügung, so z. B. der Zugriff auf Dateien oder Datenbanken.


Rheinwerk Computing - Zum Seitenanfang

4.9.1 Anwendung erzeugen Zur nächsten ÜberschriftZur vorigen Überschrift

Andere Vorlage

Zur Erzeugung einer Konsolenanwendung gehen Sie zunächst wie gewohnt vor, also über das Menü Datei, Menüpunkt NeuProjekt. Im Dialogfeld Neues Projekt wählen Sie allerdings statt der Vorlage Windows Forms-Anwendung die Vorlage Konsolen-Anwendung aus. Tragen Sie im Feld Name einen Projektnamen ein, z. B. KonsoleEinAus.

Module1.vb

Im Codefenster erscheint die Datei Module1.vb mit folgendem Code:

Module Module1
    Sub Main()
    End Sub
End Module

Listing 4.30 Projekt KonsoleEinAus, noch ohne eigenen Code

Code-Modul

In diesem Code-Modul Module1 steht die Methode mit dem Namen Main(), mit dem jedes VB-Projekt startet.

Hinweis: Die Methode Main()könnte einen Parameter haben: einen Verweis auf ein Feld von Zeichenketten. Damit ist es möglich, eine Anwendung von der Kommandozeile aus mit Startparametern zu versorgen, siehe Abschnitt 4.9.6.


Rheinwerk Computing - Zum Seitenanfang

4.9.2 Ein- und Ausgabe von Text Zur nächsten ÜberschriftZur vorigen Überschrift

Die Methode Main() des Projekts KonsoleEinAus wird jetzt mit eigenem Code gefüllt:

Module Module1
    Sub Main()
        Dim s As String
        Console.Write("Bitte einen Text eingeben: ")
        s = Console.ReadLine()
        Console.WriteLine("Es wurde der Text " &
                          s & " eingegeben")
    End Sub
End Module

Listing 4.31 Projekt »KonsoleEinAus«, Ein- und Ausgabe

Zur Erläuterung:

Console

  • Im Namensraum System gibt es die Klasse Console zur Ein- und Ausgabe auf einem Textbildschirm.

Write()

  • Die statische Methode Write() schreibt einen Text auf den Bildschirm.

ReadLine()

  • Die statische Methode ReadLine() führt dazu, dass das Programm anhält und auf eine Eingabe wartet. Nach der Eingabe betätigt der Benutzer die Taste Taste Enter . Die Methode liefert als Rückgabewert die eingegebene Zeichenkette. Diese kann z. B. in einer Variablen vom Datentyp String gespeichert werden.

WriteLine()

  • Auch die Methode WriteLine() schreibt einen Text auf den Bildschirm, diesmal gefolgt von einem Zeilenumbruch.

Die Bedienung des Programms:

Konsolenfenster

  • Nach dem Start des Programms, wie gewohnt mit der Taste Taste F5 , wird ein Konsolenfenster geöffnet.
  • Nach der Eingabe des Textes ist die anschließende Ausgabe allerdings nur sehr kurz zu sehen, bevor sich das Konsolenfenster wieder von selbst schließt.

Strg + F5

  • Es empfiehlt sich daher, dass Sie das Programm mit der Tastenkombination Taste Strg + Taste F5 starten. Dies führt dazu, dass das Programm nach Ablauf auf einen Tastendruck wartet, wie nachfolgend zu sehen:
Bitte einen Text eingeben: Hallo
Es wurde der Text Hallo eingegeben
Drücken Sie eine beliebige Taste . . .

Rheinwerk Computing - Zum Seitenanfang

4.9.3 Eingabe einer Zahl Zur nächsten ÜberschriftZur vorigen Überschrift

Zur Verdeutlichung der besonderen Problematik bei der Eingabe von Zahlen wird die Methode Main() des Projekts KonsoleEinAus um weiteren Programmcode ergänzt:

Module Module1
    Sub Main()
        Dim x As Double
        . . .

        Try
            Console.Write(
                "Bitte eine Zahl eingeben: ")
            x = Convert.ToDouble(Console.ReadLine())
            Console.WriteLine("Es wurde die Zahl " &
                    x & " eingegeben")
        Catch
            Console.WriteLine(
                "Es wurde keine Zahl eingegeben")
        End Try
    End Sub
End Module

Listing 4.32 Projekt »KonsoleEinAus«, Eingabe einer Zahl

Zur Erläuterung:

Try-Catch

  • Es soll eine Zahl eingegeben werden. Bei der Umwandlung der eingegebenen Zeichenkette in eine Zahl kann eine Ausnahme auftreten, daher wird mit einer Ausnahmebehandlung gearbeitet.

ToDouble()

  • Der Rückgabewert der Methode ReadLine() wird mithilfe der Methode ToDouble() der Klasse Convert in eine double-Zahl verwandelt. Falls dies nicht gelingt, erscheint eine entsprechende Fehlermeldung.

ToInt32()

  • Falls es sich um eine ganze Zahl handeln soll, muss die Methode ToInt32() statt der Methode ToDouble() genutzt werden.

Nachfolgend die Ausgabe nach einer richtigen Eingabe:

. . .
Bitte eine Zahl eingeben: 2,4
Es wurde die Zahl 2,4 eingegeben
Drücken Sie eine beliebige Taste . . .

Es folgt die Ausgabe nach einer falschen Eingabe:

. . .
Bitte eine Zahl eingeben: 123abc
Es wurde keine Zahl eingegeben
Drücken Sie eine beliebige Taste . . .

Rheinwerk Computing - Zum Seitenanfang

4.9.4 Erfolgreiche Eingabe einer Zahl Zur nächsten ÜberschriftZur vorigen Überschrift

Wiederholte Eingabe

Im nachfolgenden Programmteil wird der Benutzer solange aufgefordert, eine ganze Zahl einzugeben, bis dies erfolgreich war. Die Methode Main() des Projekts KonsoleEinAus wird um weiteren Programmcode ergänzt:

Module Module1
    Sub Main()
        Dim a As Integer
        . . .

        Console.WriteLine()
        Do
            Try
                Console.Write(
                    "Bitte eine ganze Zahl eingeben: ")
                a = Convert.ToInt32(Console.ReadLine())
                Exit Do
            Catch
                Console.WriteLine(
                    "Fehler, bitte noch einmal")
            End Try
        Loop
        Console.WriteLine("Es wurde die ganze Zahl " &
                a & " eingegeben")
    End Sub
End Module

Listing 4.33 Projekt »KonsoleEinAus«, wiederholte Eingabe

Zur Erläuterung:

Endlos-Schleife

  • Die Ausnahmebehandlung für die Eingabe einer ganzen Zahl ist zusätzlich in eine endlose Do-Loop-Schleife eingebettet.

Exit Do

  • Falls die Eingabe erfolgreich war, so wird diese Schleife mithilfe von Exit Do verlassen.
  • Falls die Eingabe nicht erfolgreich war, wird ein Fehler gemeldet und es ist eine erneute Eingabe erforderlich.

Nachfolgend die Ausgabe mit zwei falschen und einer richtigen Eingabe:

. . .
Bitte eine ganze Zahl eingeben: 123abc
Fehler, bitte noch einmal
Bitte eine ganze Zahl eingeben: 2,4
Fehler, bitte noch einmal
Bitte eine ganze Zahl eingeben: 5
Es wurde die ganze Zahl 5 eingegeben
Drücken Sie eine beliebige Taste . . .

Abbruch

Hinweis: Sie können eine Konsolenanwendung mit der Tastenkombination Taste Strg + Taste C vorzeitig abbrechen.


Rheinwerk Computing - Zum Seitenanfang

4.9.5 Ausgabe formatieren Zur nächsten ÜberschriftZur vorigen Überschrift

Tabellenausgabe

Die Ausgabe eines Konsolenprogramms kann formatiert werden. Dies ist vor allem bei der Ausgabe von Tabellen wichtig. Ein Beispiel, im Projekt KonsoleFormat:

Module Module1
    Sub Main()
        Dim i As Integer
        Dim stadt() As String = {"München", "Berlin",
                "Bonn", "Bremerhaven", "Ulm"}
        For i = 0 To 4
            Console.WriteLine(
                "{0,-15}{1,9:0.0000}{2,12:#,##0.0}",
                stadt(i), i / 7, i * 10000.0 / 7)
        Next i
    End Sub
End Module

Listing 4.34 Projekt »KonsoleFormat«

Zur Erläuterung:

Formatierung

  • Die überladene Ausgabemethode WriteLine() kann mit einer Formatierungszeichenkette als erstem Parameter aufgerufen werden. Darin steht:
    • die Nummer der Variablen, beginnend mit 0
    • ein Doppelpunkt
    • die zugehörige Formatierung

Breite

  • {0:-15}: Als Erstes wird eine Zeichenkette ausgegeben, in der Mindestgesamtbreite 15. Sie erscheint linksbündig, wegen des Minuszeichens vor der 15.

Nachkommastellen

  • {1,9:0.0000}: Es folgt eine Zahl, in der Mindestgesamtbreite 9, gerundet auf vier Nachkommastellen. Sie erscheint rechtsbündig, dies ist der Standard.

Tausenderpunkt

  • {2,12:#,##0.0}: Als Letztes folgt wiederum eine Zahl, in der Mindestgesamtbreite 12, gerundet auf eine Nachkommastelle, rechtsbündig. Falls die Zahl mehr als drei Stellen vor dem Komma hat, so wird ein Tausenderpunkt angezeigt.

0, #

  • Zur Erinnerung: das Formatierungszeichen 0 steht für eine Ziffer, die auf jeden Fall angezeigt wird, das Formatierungszeichen # steht für eine Ziffer, die nur dann angezeigt wird, falls die Zahl diese Ziffer hat.

Die Ausgabe des Programms:

München           0,0000         0,0
Berlin            0,1429     1.428,6
Bonn              0,2857     2.857,1
Bremerhaven       0,4286     4.285,7
Ulm               0,5714     5.714,3

Rheinwerk Computing - Zum Seitenanfang

4.9.6 Aufruf von der Kommandozeile topZur vorigen Überschrift

Startparameter

Jede Anwendung lässt sich durch Eingabe des Namens auch von der Kommandozeile aus aufrufen. Besonders bei Konsolen-Anwendungen kommt es vor, dass man dabei die Anwendung mit Startparametern aufruft.

Diese Parameter können dazu dienen, eine Anwendung auf unterschiedliche Arten aufzurufen, ohne dass dazu der Code geändert werden muss. Ein Parameter könnte z. B. der Name einer Datei sein, die geöffnet und gelesen werden soll, falls es bei jedem Aufruf der Anwendung eine andere Datei sein soll.

Übernahme

Die Übernahme der Startparameter in die Anwendung soll mithilfe des Projekts KonsoleStartparameter verdeutlicht werden:

Module Module1
    Sub Main(ByVal args() As String)
        Dim i As Integer
        Dim summe As Double = 0

        For i = 0 To args.Length – 1
            Console.WriteLine(i & ": " & args(i))
        Next

        For i = 0 To args.Length – 1
            Try
                summe += Convert.ToDouble(args(i))
            Catch
            End Try
        Next
        Console.WriteLine("Summe: " & summe)
    End Sub
End Module

Listing 4.35 Projekt »KonsoleStartparameter«

Zur Erläuterung:

args

  • Die einzelnen Startparameter sind Zeichenketten, sie werden bei einem Aufruf im Datenfeld args gespeichert.
  • Die erste For-Schleife dient zur einfachen Ausgabe der Startparameter.
  • Die zweite For-Schleife soll verdeutlichen, dass die Startparameter auch Zahlen sein können. Sie werden in diesem Falle einfach nur summiert.

Falls Sie diese Anwendung mit der Taste Taste F5 aus der Entwicklungsumgebung heraus aufrufen, so werden keine Startparameter mitgeliefert.

Kommandozeile

Daher müssen Sie sie von der Kommandozeile aus aufrufen. Unter Windows XP gehen Sie dazu z. B. wie folgt vor:

Ausführen

  • Im Startmenü den Menüpunkt Ausführen aufrufen
  • Im Textfeld des Dialogfelds Ausführen die Anweisung cmd eingeben, Button OK
  • Normalerweise befinden Sie sich dann im Verzeichnis C:\Dokumente und Einstellungen\[Benutzername]. Falls nicht, dann geben Sie ein:
  • cd\"Dokumente und Einstellungen"\[Benutzername]
  • Anschließend gehen Sie zu dem Verzeichnis, in dem die exe-Datei der Anwendung steht:
  • cd "Eigene Dateien"/"Visual Studio 2010"/Projects/KonsoleStartparameter/KonsoleStartparameter/bin/Debug

Aufruf

Nun können Sie die Anwendung aufrufen, z. B. mit:

KonsoleStartparameter 3 2,5 hallo 7

Es erscheint die Ausgabe:

0: 3
1: 2,5
2: hallo
3: 7
Summe: 12,5

Die Zeichenkette hallo wurde nur ausgegeben und bei der Summenbildung ignoriert.



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: Einstieg in Visual Basic 2010

Einstieg in Visual Basic 2010
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: Java ist auch eine Insel






 Java ist auch
 eine Insel


Zum Katalog: Einstieg in Python






 Einstieg in Python


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2010
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.


[Rheinwerk Computing]

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