Export (0) Print
Expand All
Expand Minimize
This topic has not yet been rated - Rate this topic

DO CASE ... ENDCASE Command

Visual Studio .NET 2003

Executes the first set of commands whose conditional expression evaluates to true (.T.).

DO CASE
   CASE lExpression1 Commands
   [CASE lExpression2 Commands
   ...
   CASE lExpressionN Commands]
   [OTHERWISE Commands]
ENDCASE

Parameters

CASE lExpression1 Commands ...
When the first true (.T.) CASE expression is encountered, the set of commands following it is executed. Execution of the set of commands continues until the next CASE or ENDCASE is reached. Execution then resumes with the first command following ENDCASE.

If a CASE expression is false (.F.), the set of commands following it up to the next CASE clause is ignored.

Only one set of commands is executed. These are the first commands whose CASE expression evaluates to true (.T.). Any succeeding true (.T.) CASE expressions are ignored.

OTHERWISE Commands
If all of the CASE expressions evaluate to false (.F.), OTHERWISE determines if an additional set of commands is executed.
  • If you include OTHERWISE, the commands following OTHERWISE are executed and execution skips to the first command following ENDCASE.
  • If you omit OTHERWISE, execution skips to the first command following ENDCASE.

Remarks

DO CASE is used to execute a set of Visual FoxPro commands based on the value of a logical expression. When DO CASE is executed, successive logical expressions are evaluated; the values of the expressions determine which set of commands is executed.

Comments can be placed after DO CASE and ENDCASE on the same line. The comments are ignored during program compilation and execution.

Example

In this example, Visual FoxPro evaluates each CASE clause until the MONTH variable is found in one of the lists. The appropriate string is stored to the variable rpt_title and the DO CASE structure is exited.

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

See Also

DO WHILE ... ENDDO | EXIT | FOR EACH ... ENDFOR | FOR ... ENDFOR | IF ... ENDIF | IIF( ) | SCAN ... ENDSCAN

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.