VBScript Select Case

VBScript Select Case
VBScript Select Case

VBScript Select Case

Du möchtest mit der VBScript Select CaseAnweisung Verzweigungen im Code umsetzen?

Lerne in diesem Beitrag, wie Du „Select Case“ richtig anwendest.

Vielleicht interessieren Dich auch noch weitere Beiträge wie: VBScript Array, MsgBox, InStr.

Story – VBScript Select Case

In jedem Bereich des Zusammenseins finden wir Entscheidungen, mal Solche und mal Andere.

Entscheidungen bestimmen unseren humanen Alltag als Individuen und können Folgen nach sich ziehen.

So ist es auch im Dasein als Softwareentwickler, denn auch dort müssen wir ständig entscheiden und verarbeiten.

Mehrfachselektion, eine Verzweigung

Gängigerweise werden Entscheidungen in der Softwareentwicklung als Verzweigungen und ebenfalls als Selektion betitelt.

Anhand von gewissen unsererseits festgelegter Merkmale, kann sich die Programmausführung in verschiedene Wege aufsplitten und Folge-Anweisungen ausgeführt werden.

In diesem Beitrag legen wir den Fokus auf die „Select-CaseMehrfachselektion, Welche in anderen Programmiersprachen auch Switch genannt wird.

Mehrfachselektion

Die Mehrfachselektion bietet uns hauptsächlich die Möglichkeit, unsere Entscheidungen basierend auf einem einzigen Ausgangspunkt zu fällen.

Wir schauen also auf einen Wert und reagieren dann je nachdem Welches Szenario in Frage kommt.

In vielen modernen Programmiersprachen gibt es die Möglichkeit auch „Rangesabzudecken, statt nur vereinzelte Werte zu überprüfen.

Eventuell könnte man bei einer Bewässerungsanlage den Wasserfluss regulieren, Wenn die Feuchtigkeit in gewisse Bereiche kommt.

If-Verzweigungen

Bei If-Verzweigungen haben hingegen einen, oder eben auch mehrere Ausgangspunkte verschiedener Kriterien.

Ich kann beispielsweise überprüfen, ob ein rauer Wind weht, die Sonne dabei scheint und ob es sogar regnet.

Ich kann auch eine Kombination dieser Fälle verarbeiten, wenn z. B. die oben angekündigte Bewässerungsanlage gesteuert werden möchte.

Man kann daraus schließen, dass eine normale If-Abfrage eher für die Kombination einzelner Kriterien geeignet, als es das „Select-Case“ ist.

Eine Selektion – VBScript Select Case

Nun nutze ich die Gelegenheit, ein kurzes und einfaches Beispiel einer VBScript Select Case Abfrage zu demonstrieren:

Dim lastName
lastName = "Carl"

Select Case lastName
    Case "Doe": MsgBox("Oh so your first name could be John?")
    Case "Carl"
        MsgBox("Are you one of those alpacas?")
End Select

Hier deklarieren wir eine Variable „lastName“, Welche danach den Wert „Carl“ zugewiesen bekommt.

Als nächstes startet die „Select-Case“-Anweisung, worin wir checken, ob der Fall eintritt, dass „Doe“ in der Variable steht.

Da „Doe“ nicht der Variablen nicht zugewiesen wurde, gehen wir nicht in den ersten (einzeiligen) Case rein und geben die Box somit nicht aus.

Der zweite Fall (Case) wird abgearbeitet, da der Nachname „Carl“ zugewiesen ist.

Else-Teil – VBScript Select Case

Sehen wir uns nun einmal ein Beispiel an, wo wir das „Else„-Schlüsselwort verwenden, um alle anderen Fälle abzudecken.

Dim lastName
lastName = "Rupert"

Select Case lastName
    Case "Doe": MsgBox("Oh so your first name could be John?")
    Case "Carl": MsgBox("Are you one of those alpacas?")
    Case Else
        MsgBox("Hmm, no known name :/")
End Select

Eigentlich läuft alles analog zum obigen Beispiel, allerdings geben wir nun eine Meldung aus, falls kein bekannter Fall getroffen wird.

Reichweiten / Ranges verarbeiten

Als nächstes siehst Du Beispiele, wie Du statt einzelner Fälle auch „Rangesverarbeiten kannst.

Das erste Beispiel nimmt dafür Buchstaben, wobei VBScript leider im Gegensatz zu VB.NET keine Unterstützung für „Ranges“ an sich hat.

Dim letter
letter = "D"

Select Case letter
    Case "A": MsgBox("So it's A?")
    Case "B": MsgBox("Ok, it's B")
    Case "C", "D", "E"
        MsgBox("C, D, or E")
    Case Else
        MsgBox("Hmm, no known case :/")
End Select

Hier noch eine letzte Demo mit Zahlen:

Dim number
number = 4

Select Case letter
    Case 1: MsgBox("So it's 1?")
    Case 2: MsgBox("Ok, it's 2")
    Case 3, 4, 5
        MsgBox("3, 4, or 5")
    Case Else
        MsgBox("Hmm, no known case :/")
End Select

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert