MasteringVFP/2/4/4
出自VFP Wiki
(修訂版本間差異)
小 (revert) |
|||
(2個中途的修訂版本沒有顯示) | |||
第28行: | 第28行: | ||
== 範例 == | == 範例 == | ||
在下面的範例中,Visual FoxPro 計算每一個 CASE 子句,直到在列表中找到 MONTH 變數為止。在記憶體變數 rpt_title 中存入適當的字串,然後退出 DO CASE 結構。 | 在下面的範例中,Visual FoxPro 計算每一個 CASE 子句,直到在列表中找到 MONTH 變數為止。在記憶體變數 rpt_title 中存入適當的字串,然後退出 DO CASE 結構。 | ||
- | + | <pre> | |
STORE CMONTH(DATE()) TO month && 本日所在月份 | STORE CMONTH(DATE()) TO month && 本日所在月份 | ||
第42行: | 第42行: | ||
ENDCASE && 結束循環 | ENDCASE && 結束循環 | ||
WAIT WINDOW rpt_title NOWAIT | WAIT WINDOW rpt_title NOWAIT | ||
- | + | </pre> | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + |
在2005年4月7日 (四) 06:58的最新修訂版本
目錄 |
DO CASE ... ENDCASE 命令
用途
- 執行第一個條件運算式的值為真 (.T.) 之下的命令敘述。
語法
- DO CASE
- CASE lExpression1
- [Commands]
- [CASE lExpression2
- [Commands]]
- ...
- [CASE lExpressionN
- [Commands]]
- [OTHERWISE
- [Commands]]
- ENDCASE
參數
CASE lExpression1 Commands ...
- 當遇到第一個結果為「真」的 CASE 運算式時,就執行位於它之下的命令敘述,一直到它再度遇到下一個 CASE 或 ENDCASE 為止。然後就從 ENDCASE 後面的第一個命令恢復程序的執行。
- 如果一個 CASE 運算式為「假」(.F.),就忽略它與下一個 CASE 子句之間的命令敘述。
- 此命令只能執行一組命令,這些命令是 CASE 運算式計算為「真」(.T.)的第一個命令集合,而其他計算為「真」(.T.) 的 CASE 運算式會被忽略。
OTHERWISE Commands
- 如果所有的 CASE 運算式計算為「假」(.F.),就由 OTHERWISE 確定是否執行一組額外的命令。
- 如果包含 OTHERWISE,就執行 OTHERWISE 之下的命令敘述,執行後跳到 ENDCASE 後的第一條命令執行。
- 如果省略了 OTHERWISE,就跳到 ENDCASE 後面的第一條命令處執行。
附註
- DO CASE 根據邏輯運算式的值執行一組 Visual !FoxPro 命令。當執行 DO CASE 時,先計算它後面的邏輯運算式,運算式的值決定了執行哪一組命令敘述。
- 可在 DO CASE 和 END CASE 同一列之後放置註釋,在編譯和執行過程中,這些註釋會被忽略。
範例
在下面的範例中,Visual FoxPro 計算每一個 CASE 子句,直到在列表中找到 MONTH 變數為止。在記憶體變數 rpt_title 中存入適當的字串,然後退出 DO CASE 結構。
STORE CMONTH(DATE()) TO month && 本日所在月份 DO CASE && 開始循環 CASE INLIST(month,'January','February','March') STORE [第一季度收入] TO rpt_title CASE INLIST(month,'April','May','June') STORE [第二季度收入] TO rpt_title CASE INLIST(month,'July','August','September') STORE [第三季度收入] TO rpt_title OTHERWISE STORE [第四季度收入] TO rpt_title ENDCASE && 結束循環 WAIT WINDOW rpt_title NOWAIT