MasteringVFP/2/4/2

出自VFP Wiki

(修訂版本間差異)
跳轉到: 導航, 搜尋
(revert and update)
第3行: 第3行:
:在一個條件循環裏執行一組命令。
:在一個條件循環裏執行一組命令。
== 語法 ==
== 語法 ==
-
:DO WHILE ''lExpression''
+
<code>
-
: ''Commands''
+
DO WHILE ''lExpression''
-
: [LOOP]
+
 ''Commands''
-
: [EXIT]
+
 [LOOP]
-
:ENDDO
+
 [EXIT]
 +
ENDDO
 +
</code>
== 參數 ==
== 參數 ==
=== ''lExpression'' ===
=== ''lExpression'' ===
第23行: 第25行:
在下面的範例中,DO WHILE 循環統計倉庫中價格高於 20 美元的產品數量,遇到檔案結束符號 (EOF) 時,退出 DO WHILE 循環並顯示總數。
在下面的範例中,DO WHILE 循環統計倉庫中價格高於 20 美元的產品數量,遇到檔案結束符號 (EOF) 時,退出 DO WHILE 循環並顯示總數。
 +
<code>
CLOSE DATABASES
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
OPEN DATABASE (HOME(2) + 'Data\testdata')
第44行: 第47行:
? '庫存中的總項價值超過 20 美元:'
? '庫存中的總項價值超過 20 美元:'
?? gnStockTot
?? gnStockTot
-
[http://www.hg-fix.com/ 数据恢复]
+
</code>
-
[http://www.hg-fix.com/ 硬盘数据恢复]
+
-
[http://www.hg-fix.com/ 磁带数据恢复]
+
-
[http://www.hg-fix.com/ raid数据恢复]
+
-
[http://www.hg-fix.com/ 磁盘阵列数据恢复]
+
-
[http://www.hg-fix.com/diskrecover.htm 数据恢复]
+
-
[http://www.hg-fix.com/taperecover.htm 数据恢复]
+
-
[http://www.hg-fix.com/raidrecover.htm 数据恢复]
+
-
[http://www.hg-fix.com/ 数据修复]
+
-
[http://www.hg-fix.com/ 硬盘数据修复]
+
-
[http://www.hg-fix.com/ 磁带数据修复]
+
-
[http://www.hg-fix.com/ raid数据修复]
+
-
[http://www.hg-fix.com/diskrecover.htm 数据修复]
+
-
[http://www.hg-fix.com/raidrecover.htm 数据修复]
+
-
[http://www.hg-fix.com/taperecover.htm 数据修复]
+
-
[http://www.hg-fix.com/ 磁盘阵列数据修复]
+

在2005年4月1日 (五) 11:35所做的修訂版本

目錄

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