MasteringVFP/2/4/2
出自VFP Wiki
目錄 |
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