MasteringVFP/2/4/4

出自VFP Wiki

(修訂版本間差異)
跳轉到: 導航, 搜尋
(revert)
 
(3個中途的修訂版本沒有顯示)
第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