MasteringVFP/2/4/2
出自VFP Wiki
(修訂版本間差異)
小 |
小 (revert) |
||
(8個中途的修訂版本沒有顯示) | |||
第3行: | 第3行: | ||
:在一個條件循環裏執行一組命令。 | :在一個條件循環裏執行一組命令。 | ||
== 語法 == | == 語法 == | ||
- | + | <pre> | |
- | + | DO WHILE ''lExpression'' | |
- | + | ''Commands'' | |
- | + | [LOOP] | |
- | + | [EXIT] | |
+ | ENDDO | ||
+ | </pre> | ||
== 參數 == | == 參數 == | ||
=== ''lExpression'' === | === ''lExpression'' === | ||
第23行: | 第25行: | ||
在下面的範例中,DO WHILE 循環統計倉庫中價格高於 20 美元的產品數量,遇到檔案結束符號 (EOF) 時,退出 DO WHILE 循環並顯示總數。 | 在下面的範例中,DO WHILE 循環統計倉庫中價格高於 20 美元的產品數量,遇到檔案結束符號 (EOF) 時,退出 DO WHILE 循環並顯示總數。 | ||
+ | <pre> | ||
CLOSE DATABASES | CLOSE DATABASES | ||
OPEN DATABASE (HOME(2) + 'Data\testdata') | OPEN DATABASE (HOME(2) + 'Data\testdata') | ||
第44行: | 第47行: | ||
? '庫存中的總項價值超過 20 美元:' | ? '庫存中的總項價值超過 20 美元:' | ||
?? gnStockTot | ?? gnStockTot | ||
+ | </pre> |
在2005年4月18日 (一) 01:23的最新修訂版本
目錄 |
DO WHILE ... ENDDO 命令
用途
- 在一個條件循環裏執行一組命令。
語法
DO WHILE ''lExpression'' ''Commands'' [LOOP] [EXIT] ENDDO
參數
lExpression
- 指定一個邏輯運算式,它的值決定是否執行 DO WHILE 和 ENDDO 之間的命令敘述。如果 lExpression 計算為「真」(.T.),就執行命令敘述。
Commands
- 指定當 lExpression 計算為「真」(.T.)時,要執行的 Visual !FoxPro 命令敘述。
LOOP
- 將控制權直接傳給 DO WHILE 子句,不再執行 LOOP 與 ENDDO 之間的敘述。LOOP 可以放在 DO WHILE 與 ENDDO 之間的任何位置。
EXIT
- 在 DO WHILE 循環中,將控制權迅速移轉給緊接在 ENDDO 的下一個命令。EXIT 可以放在 DO WHILE 與 ENDDO 之間的任何位置。
附註
- 只要邏輯運算式 lExpression 為「真」(.T.),就執行位於 DO WHILE 和 ENDDO 之間的命令敘述。每個 DO WHILE 敘述必須有一個相對應的 ENDDO 敘述。
- 可在 DO WHILE 和 END CASE 同一列之後放置註釋,在編譯和執行過程中,這些註釋會被忽略。
範例
在下面的範例中,DO WHILE 循環統計倉庫中價格高於 20 美元的產品數量,遇到檔案結束符號 (EOF) 時,退出 DO WHILE 循環並顯示總數。
CLOSE DATABASES OPEN DATABASE (HOME(2) + 'Data\testdata') USE products && 開啟 Products 資料表格 SET TALK OFF gnStockTot = 0 DO WHILE .T. && 開始循環 IF EOF() EXIT ENDIF IF unit_price < 20 SKIP LOOP ENDIF gnStockTot = gnStockTot + in_stock SKIP ENDDO && 結束循環 CLEAR ? '庫存中的總項價值超過 20 美元:' ?? gnStockTot