|
Switch ('Selector_Expression', |
'Case_1_Expression','Value_1_Expression', 'Case_2_Expression','Value_2_Expression', … 'Case_n_Expression','Value_n_Expression', 'Default_Value_Expr') |
Argumente
|
'Selector_Expression' |
Ausdruck, welcher auf verschiedene Bedingungen überprüft wird |
|
'Case_n_Expression' |
Ausdruck, welcher mit 'Selector_Expression' verglichen wird |
|
'Value_n_Expression' |
Ergebnis, falls 'Selector_Expression' und 'Case_n_Expression' übereinstimmen |
|
'Default_Value_Expr' |
Ergebnis, falls keiner der 'Case_n_Expression' mit 'Selector_Expression' übereinstimmt |
Beschreibung
Diese Anweisung vergleicht eine eingehende 'Selector_Expression' mit beliebig vielen 'Case_n_Expression', angelehnt an das SQL Statement CASE. Es werden mindestens 3 Argumente benötigt. Bei einer geraden Anzahl von Argumenten wird automatisch das letzte als 'Default_Value _Expr' interpretiert, welches herangezogen wird, wenn keine der 'Case_n_Expression' zur 'Selector_Expression' passt.
Falls 'Selector_Expression' und 'Case_n_Expression' zusammenpassen, wird die dazugehörige 'Value_n_Expression' zurückgegeben. Wenn mehrere 'Case_n_Expression' zum Eingangssignal passen, wird automatisch die erste ausgewählt.
Als 'Selector_Expression' sind folgende Signale zulässig:
-
eine numerische Konstante
-
eine Textkonstante
-
ein äquidistant oder nicht-äquidistant gesampeltes Signal
-
ein Textsignal
Grundsätzlich müssen die Typen der Vergleichswerte zusammenpassen, ansonsten wird der entsprechende Fall nicht ausgewählt.
