Select Case: Tipp für einen trickreichen Einsatz

Select Case - das Multitalent

Der Befehl Select Case ist ein Multitalent bei den Programmiersprachen, welcher zudem den Vorteil hat, das Programm übersichtlicher zu machen. Wir zeigen Ihnen einen weiteren trickreichen Einsatz als Select Case True.

Hier ein typischer Einsatz dieses Befehls in der Computersprache Visual Basic.

Select Case a   (welcher Wert steht in der Variablen a)
Case Is < 12   (ist der Wert kleiner 12)

Case 12  
(ist der Wert gleich 12)

Case Is > 12  
(ist der Wert größer 12)

End Select

Natürlich könnte ich das Gleiche mit If hinbekommen.

If a < 12 Then

ElseIf a = 12 Then

Else

End If

Dieser Programmschnipsel würde das Gleiche tun, aber er dokumentiert sich nicht selbst. Was passiert im Else-Bereich? Heute wissen Sie es, aber was ist in 4 Jahren? Mindestens sollte aus Else ElseIf a > 12 werden. Nur wegen der Dokumentation. Auch wenn dies ein einfaches Beispiel ist.

Ich habe mehrere Jahrzehnte Erfahrung und habe es selbst erlebt, dass Nachlässigkeiten in der Dokumentation nach Jahren mit höherem Aufwand bestraft wird. Und die eigenen Tricks sind so gut, dass diese einem sehr viel Kopfzerbrechen bereiten können.

Jetzt wird es kniffelig

Jetzt aber zu etwas Kniffligerem. Wir haben sechs Variable und möchten wissen: a < b und c = d und e = 5.

Und das in einer Select Case Anweisung. Geht nicht? Geht doch und (Trommelwirbel) hier sehen Sie die Lösung,

Select Case True
Case a < b

Case c = d

Case e= 5

End Select

Und so arbeitet diese Anweisung. Zuerst wird a < b ausgewertet. Als Ergebnis gibt es nur Wahr oder Falsch. Dieses Ergebnis wird nun mit dem verglichen, was hinter Select Case steht.

Schritt 1: Ist a kleiner b dann ergibt das Wahr

Schritt 2: Wahr und True gibt auch wieder Wahr.

Die nächsten Befehle, hier durch drei Punkte dargestellt werden ausgeführt. Danach geht es hinter End Select weiter.

Es wird also immer nur das erste Case ausgeführt, das Wahr ist. Das bedeutet für Sie, dass Sie unbedingt die Reihenfolge beachten müssen.

Anders als bei drei Mal if. Sie müssen also unbedingt bedenken, dass Select Case True nur benutzt werden kann, wenn nicht mehrere Bedingungen zutreffen können. Das waren schon die Einschränkungen.

Und als Bonbon noch einen weiteren Trick. Falsch wird als 0 dargestellt und Wahr als eine beliebige andere Zahl.

Select Case True
Case a

Case b

Case c

End Select

Hier findet das Programm die erste Variable, die nicht den Inhalt 0 hat.

Und was Sie mit Select Case False zaubern können dürfte Ihnen klar sein.

Und jetzt bitte den Link auf diesen Artikel an alle Kollegen und vor allem an den Gruppenleiter weiterleiten, denn Sie wissen ja: Verbotene Tricks sind immer die, die der Gruppenleiter nicht kennt.

Veröffentlicht am 7. August 2012