Galileo Computing < openbook >
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung

...powered by haas.homelinux.net...

Einstieg in VB.NET von René Martin
- Für Programmiereinsteiger -
Einstieg in VB.NET
gp Kapitel 1 Die Grundlagen
  gp 1.1 Nach der Installation
  gp 1.2 Der erste Start
  gp 1.3 Das erste Formular
  gp 1.4 Eigenschaften
    gp 1.4.1 Regeln für Namen
    gp 1.4.2 Die Eigenschaften
  gp 1.5 Die Toolbox
  gp 1.6 Das Meldungsfenster
    gp 1.6.1 Die Code-Eingabe für die MessageBox
    gp 1.6.2 Ein Wort zum »alten« Visual Basic
    gp 1.6.3 Die Code-Eingabe allgemein
  gp 1.7 Ein Textfeld
  gp 1.8 Texte verketten
  gp 1.9 Andere Zeichen
    gp 1.9.1 Noch ein Wort zum Code-Tippen
    gp 1.9.2 Ein Wort zur Syntax
  gp 1.10 Variablen
  gp 1.11 Ein theoretischer Exkurs: Werte- und Referenztypen
  gp 1.12 Zuweisen von Werten an Variablen
  gp 1.13 Verzweigungen
  gp 1.14 Einige Hilfen für den Benutzer
    gp 1.14.1 Setze den Cursor in ein Textfeld
    gp 1.14.2 Ok und Abbrechen
    gp 1.14.3 Die Reihenfolge der Steuerelemente
  gp 1.15 Ein zweites Textfeld
    gp 1.15.1 Vergleiche
  gp 1.16 Rechnen in Basic
  gp 1.17 Optionsfelder
    gp 1.17.1 Schnell und ordentlich mehrere Steuerelemente platzieren
  gp 1.18 Ein zweites Gruppenfeld
  gp 1.19 Dynamische Steuerelemente
  gp 1.20 Das Ereignis »Klick«
  gp 1.21 Prozeduren
  gp 1.22 Ein theoretischer Exkurs: Prozeduren
  gp 1.23 Module
  gp 1.24 Ein theoretischer Exkurs: Objekte, Eigenschaften und Methoden
    gp 1.24.1 Objekte
    gp 1.24.2 Methoden
    gp 1.24.3 Eigenschaften
  gp 1.25 Zusammenfassung


Galileo Computing

1.13 Verzweigungen  toptop

Nun hat der Benutzer seinen Namen eingegeben und dieser ist an eine Variable übergeben worden. Was geschieht jedoch, wenn der Benutzer seinen Namen nicht eingibt? Dann soll er einen Hinweis erhalten, dass er seinen Namen eingeben muss, sonst gibt es keinen Kaffee – wie im richtigen Leben eben.

Diese Abfrage, oder genauer: diese Entscheidung, wird mit einer Verzweigung vorgenommen. Wahrscheinlich kennen Sie diese Anweisung schon, sie lautet:

If txtName.Text = "" Then MessageBox.Show _
("Hey, Benutzer, dein Name fehlt! ")

Dann würde der Benutzer nach der Schelte seinen Kaffee erhalten. Das soll er aber nicht. Ich verwende die oben beschriebene einzeilige Syntax sehr selten, lieber schreibe ich die If-Verzweigung auf mehrere Zeilen verteilt. Drückt man nach der Bedingung

If txtName.Text = "" Then

die (Enter), dann erscheint zwei Zeilen tiefer das Ende der Verzweigung:

End If

Zwischen diese beiden Zeilen kann man die Anweisung schreiben:

If txtName.Text = "" Then 
   MessageBox.Show _
   ("Hey, Benutzer, dein Name fehlt! ")
End If

Damit erhält der Benutzer immer noch Kaffee. Aber man hat einen besseren Überblick und kann mehr als eine Befehlszeile verwenden (zum Beispiel, wenn man den Benutzer dreimal hintereinander beschimpfen möchte).

Wenn kein Name eingegeben wurde, dann reagiere so, ansonsten gibt es Kaffee. Dieses umgangssprachliche »sonst« kann auch in den Code eingebaut werden – mit dem Befehl Else:

If txtName.Text = "" Then 
   MessageBox.Show _
   ("Hey, Benutzer, dein Name fehlt! ")
Else
   MessageBox.Show(Achtung: " & txtName.Text & _
   "Jetzt gibt es Kaffee! ")
End If

Sollen mehr als zwei Fälle geprüft werden, dann kann dies mit der Anweisung ElseIf erledigt werden. Soll beispielsweise Hugo Tee und Maria Schokolade bekommen, dann ist so vorzugehen:

If txtName.Text = "" Then 
   MessageBox.Show _
   ("Hey, Benutzer, dein Name fehlt! ")
ElseIf txtName.Text = "Hugo" Then 
   MessageBox.Show(Achtung: " & txtName.Text & _
   "Jetzt gibt es Tee! ")
ElseIf txtName.Text = "Maria" Then 
   MessageBox.Show(Achtung: " & txtName.Text & _
   "Jetzt gibt es Schokolade! ")
Else
   MessageBox.Show(Achtung: " & txtName.Text & _
   "Jetzt gibt es Kaffee! ")
End If

Überprüft wird der Code von oben nach unten. Zuerst wird also geprüft, ob nichts eingegeben wurde. Dann wird Hugo überprüft, dann Maria und schließlich der Rest.

Im Übrigen können Verzweigungen auch ineinander geschachtelt werden. Dazu bräuchte man allerdings noch eine zweite Information, die man überprüfen könnte. Das Ganze sieht dann beispielsweise so aus:

If txtName.Text = "" Then 
   MessageBox.Show _
   ("Hey, Benutzer, dein Name fehlt! ")
ElseIf txtName.Text = "Hugo" Then 
   If CInt(txtAlter.Text) < 10 Then 
      MessageBox.Show(Achtung: " & _
      txtName.Text & "Jetzt gibt es Tee!")
   Else
      MessageBox.Show(Achtung: " & _
      txtName.Text & _
      "Jetzt gibt es Tee mit Rum!")
   End If
ElseIf txtName.Text = "Maria" Then 
   If CInt(txtAlter.Text) < 10 Then 
      MessageBox.Show(Achtung: " & _
      txtName.Text & _
      "Jetzt gibt es Schokolade! ")
   Else
      MessageBox.Show(Achtung: " & _
      txtName.Text & _
      "Jetzt gibt es Schokolade mit Cognac! ")
   End If
Else
   MessageBox.Show(Achtung: " & txtName.Text & _
   "Jetzt gibt es Kaffee! ")
End If
Abbildung

Abbildung 1.22   Ein dezenter Hinweis

Die allgemeine Syntax für die If-Verzweigung lautet:

If Bedingung Then
[Anweisung]
ElseIf Bedinung Then
[Anweisung]
ElseIf Bedinung Then
[Anweisung]
ElseIf Bedinung Then
[Anweisung]
Else
[Anweisung]
End If

Achtung: ElseIf wird in einem Wort zusammengeschrieben, während End If zwei Schlüsselwörter sind. Aber das ist fast kein Problem, denn nach der Zeile

If Bedingung Then

erscheint automatisch

End If
  

VB.NET

Einstieg in ASP.NET

Einstieg in C#

Visual C#

VB.NET und Datenbanken

Einstieg in XML