DO CASE ... ENDCASE-Befehl
Führt die erste Befehlsgruppe aus, deren Bedingungsausdruck den Wert Wahr (.T.) ergibt.
DO CASE
CASE lExpression1Commands
[CASE lExpression2Commands
...
CASE lExpressionNCommands]
[OTHERWISE Commands]
ENDCASE
Parameter
CASE lExpression1Commands ...
Die Befehle des ersten gefundenen CASE-Ausdrucks, der den Wert Wahr (.T.) ergibt, werden ausgeführt. Die Ausführung dieser Befehlsgruppe wird so lange fortgesetzt, bis die nächste CASE- oder ENDCASE-Anweisung auftritt. Danach wird sie mit dem ersten Befehl nach ENDCASE fortgesetzt.Ergibt ein CASE-Ausdruck den Wert Falsch (.F.), wird die Befehlsgruppe zwischen diesem Ausdruck und der nächsten CASE-Klausel ignoriert.
Es wird nur eine Befehlsgruppe ausgeführt. Dies sind die ersten Befehle, deren CASE-Ausdruck den Wert Wahr (.T.) ergibt. Alle weiteren CASE-Ausdrücke, die den Wert Wahr (.T.) ergeben, werden ignoriert.
OTHERWISE Commands
Ergeben alle CASE-Ausdrücke den Wert Falsch (.F.), bestimmt OTHERWISE, ob eine weitere Befehlsgruppe ausgeführt wird.- Wird OTHERWISE einbezogen, werden die Befehle nach OTHERWISE ausgeführt und danach die Programmausführung mit dem ersten Befehl nach ENDCASE fortgesetzt.
- Wenn Sie OTHERWISE nicht angeben, wird die Programmausführung sofort mit dem ersten Befehl nach ENDCASE fortgesetzt.
Hinweise
Mit DO CASE wird eine Gruppe von Visual FoxPro-Befehlen in Abhängigkeit vom Wert eines logischen Ausdrucks ausgeführt. Bei der Ausführung von DO CASE werden aufeinander folgende logische Ausdrücke ausgewertet. Die Werte dieser Ausdrücke legen dann fest, welche Befehlsgruppen ausgeführt werden.
Sie können hinter DO CASE und ENDCASE auf derselben Zeile Kommentare eingeben. Diese Kommentare werden beim Kompilieren und Ausführen des Programms ignoriert.
Beispiel
In diesem Beispiel wertet Visual FoxPro jede CASE-Klausel aus, bis die MONTH-Variable in einer der Listen gefunden wurde. Die entsprechende Zeichenfolge wird in der Variablen rpt_title
gespeichert und die DO CASE-Struktur verlassen.
STORE CMONTH(DATE( )) TO month && The month today
DO CASE && Begins loop
CASE INLIST(month,'January','February','March')
STORE 'First Quarter Earnings' TO rpt_title
CASE INLIST(month,'April','May','June')
STORE 'Second Quarter Earnings' TO rpt_title
CASE INLIST(month,'July','August','September')
STORE 'Third Quarter Earnings' TO rpt_title
OTHERWISE
STORE 'Fourth Quarter Earnings' TO rpt_title
ENDCASE && Ends loop
WAIT WINDOW rpt_title NOWAIT
Siehe auch
DO WHILE ... ENDDO | EXIT | FOR EACH ... ENDFOR | FOR ... ENDFOR | IF ... ENDIF | IIF( ) | SCAN ... ENDSCAN