Select...Case-Anweisung

Die Select... Case-Anweisung vergleicht den Wert von einem oder mehreren separaten Case-Anweisungen, um einen Ausdruck auszuwählen. Die Case-Anweisungen werden in der Reihenfolge verarbeitet, in der sie deklariert wurden, bis eine mit dem Select-Ausdruck übereinstimmt. Wenn eine Case-Anweisung dem Select-Ausdruck entspricht, wird der mit der Case-Anweisung verknüpfte Anweisungsblock ausgeführt. Wenn keine Case-Anweisung dem Select-Ausdruck entspricht und eine optionale Case...Else-Anweisung vorhanden ist, wird deren Anweisungsblock ausgeführt. Andernfalls wird die Steuerung an das Ende der Select-Anweisung übergeben.

Das folgende Beispiel zeigt eine einfache Select...Case-Anweisung. In diesem Beispiel wird der Wert von nTeeth (die Anzahl der Zähne für das Kettenrad) mit einer Reihe von Case-Klauseln verglichen. Wenn eine Übereinstimmung gefunden wird, legt die Anweisung in der übereinstimmenden Case-Klausel den Wert der Beschreibung fest. Wenn keine Case-Anweisung übereinstimmt, wird die Anweisung in der optionalen Case...Else-Anweisung ausgeführt.

Select nTeeth
   Case 18
      description = "18 Tooth Sprocket"
   Case 21
      description = "21 Tooth Sprocket"
   Case 25
      description = "25 Tooth Sprocket"
   Case Else
      description = "Default"
End Select

Eine Case-Klausel kann aus einem einfachen Ausdruck wie im vorherigen Beispiel oder aus einer Liste von Ausdrücken (durch Kommas getrennt) wie im folgenden Beispiel bestehen.

Select LinkArmAssy.length
   Case 150, 175, 200
      boltDia = 12.0
   Case 225
      boltDia = 16.0
   Case 250, 275
      boltDia = 20.0
   Case Else
      boltDia = 24.0
End Select

Im vorhergehenden Beispiel entspricht die Select-Anweisung der Längenregel des LinkArmAssy-Bauteils. Die erste Case-Anweisung besteht aus drei durch Kommas voneinander getrennten Ausdrücken. Wenn der Wert der Längenregel einem der drei Ausdrücke entspricht, wird der Anweisungsblock ausgeführt, der mit der Case-Anweisung verknüpft ist.