2.11 Verzweigungen
1. Einfache Verzweigungen mit IF
Soll es an einer Stelle zwei Möglichkeiten des weiteren Programmablaufs geben, so gibt es in BASIC die Möglichkeit einer “Verzweigung”. Syntax:
IF (Bedingung 1) THEN (Befehl) (Befehl) ... ELSEIF (Bedingung 2) THEN (Befehl) (Befehl) ... ELSE (Befehl) (Befehl) ... END IF
Beispiel:
IF a 10 THEN Print “Die Zahl hat eine Stelle.“ ELSEIF a = 10 And a 100 THEN Print “Die Zahl hat zwei Stellen.“ ELSE Print “Die Zahl hat mehr als zwei Stellen.“ END IF
2. Mehrfache Verzweigungen
mit SELECT CASE
Beispiel: Dieses Beispiel findet heraus, ob ein Großbuchstabe, ein Kleinbuchstabe, eine Zahl oder ein anderes Zeichen eingegeben wurde.
Private Sub Form_Click () Dim Msg$, UserInput ‘ Variablen deklarieren. Msg$ = “Geben Sie einen Buchstaben oder“ Msg$ = Msg$ + “eine Zahl “ Msg$ = Msg$ + “ zwischen 0 und 9 ein.“ UserInput = InputBox(Msg$) ‘ Benutzereingabe anfordern. If Not IsNumeric(UserInput) Then ‘ Buchstabe oder Zahl? If Len(UserInput) 0 Then Select Case Asc(UserInput) ‘ Falls Buchstabe ‘ Muß Großbuchstabe sein. Case 65 To 90 Msg$ = “Sie haben den Großbuchstaben ‘“ Msg$ = Msg$ + Chr(Asc(UserInput)) Msg$ = Msg$ + “’ eingegeben.“ ‘ Muß Kleinbuchstabe sein. Case 97 To 122 Msg$ = “Sie haben den Kleinbuchstaben ‘“ Msg$ = Msg$ + Chr(Asc(UserInput)) Msg$ = Msg$ + “’ eingegeben.“ Case Else ‘ Muß etwas anderes sein. Msg$ = “Ihre Eingabe ist weder ein“ Msg$ = Msg$ + “ Buchstabe noch eine“ Msg$ = Msg$ + “ Zahl.“ End Select End If ‘Len(UserInput)... Else ‘If Not IsNumeric ... Select Case CDbl(UserInput) ‘ Falls eine Zahl. Case 1, 3, 5, 7, 9 ‘ Ist ungerade. Msg$ = UserInput + “ ist ungerade.“ Case 0, 2, 4, 6, 8 ‘ Ist gerade. Msg$ = UserInput + “ ist gerade.“ Case Else ‘ Außerhalb des Bereichs. Msg$ = “Die eingegebene Zahl liegt Msg$ = Msg$ + “außerhalb des “ Msg$ = Msg$ + “geforderten Bereichs.“ End Select End If ‘If Not IsNumeric ... MsgBox Msg$ ‘ Meldung anzeigen. End Sub