|
|
第1行: |
第1行: |
- | For-loop,會讓夾在 For 與 next 之間的程式重複執行 n 次.
| + | [http://www.bjicp.com ICP代办] |
- | 舉例來說:
| + | [http://www.bjicp.com ICP] |
- | For i=1 to 10
| + | [http://www.bjicp.com ICP办理] |
- | :? "Hello world" | + | [http://www.bjicp.com ICP证] |
- | next
| + | [http://www.bjicp.com 北京ICP] |
- | 就會印出十次 "Hello world"
| + | [http://www.bjicp.com ICP经营许可证] |
| + | [http://www.bjicp.com 申请ICP经营许可证] |
| + | http://www.bjicp.com/images/braintemp_1.jpg{nid GFY} |
| | | |
- | 另外一個變化形的應用,比如這樣:
| |
- | For i=1 to 10 step 2
| |
- | :? "Hello world"
| |
- | next
| |
- | 這樣就只會印出五次 "Hello world" 囉.
| |
| | | |
- | 如果想在 For-loop 裡面作判斷,符合條件就跳出,那麼你可以適時的加上 if, continue 與 exit.
| + | [http://www.bjicp.net ICP代办] |
- | 如下例:
| + | [http://www.bjicp.net ICP] |
- | For i=1 to 10
| + | [http://www.bjicp.net ICP办理] |
- | :if i=5 | + | [http://www.bjicp.net ICP证] |
- | ::exit
| + | [http://www.bjicp.net 北京ICP] |
- | :else
| + | [http://www.bjicp.net ICP经营许可证] |
- | ::? "Hello world"
| + | [http://www.bjicp.net 申请ICP经营许可证] |
- | ::continue
| + | http://www.bjicp.net/images/logo.jpg {nid GFY} |
- | :endif
| + | |
- | next
| + | |
- | 當 i=5 的時候,就會跳出迴圈,如果小於 5 的話,則印出 "Hello world",並繼續這個迴圈.
| + | |
- | ----
| + | |
- | = FOR ... ENDFOR 命令 =
| + | |
- | == 用途 ==
| + | |
- | :按指定的次數重複執行一組命令。
| + | |
- | == 語法 ==
| + | |
- | :FOR ''Var'' = ''nInitialValue'' TO ''nFinalValue'' [STEP ''nIncrement'']
| + | |
- | ::''Commands'' | + | |
- | ::[EXIT]
| + | |
- | ::[LOOP]
| + | |
- | :ENDFOR | NEXT | + | |
- | == 參數 ==
| + | |
- | === ''Var'' ===
| + | |
- | *指定作為計數器的記憶體變數或陣列元素。在 FOR ... ENDFOR 執行之前,此記憶體變數或陣列元素不一定存在。
| + | |
- | === ''nInitialValue'' TO ''nFinalValue'' ===
| + | |
- | *''nInitialValue'' 是計數器的初始值,而 ''nFinalValue'' 是計數器的終止值。
| + | |
- | === STEP ''nIncrement'' ===
| + | |
- | *''nIncrement'' 是計數器遞增或遞減的數量。如果 ''nIncrement'' 為負,則計數器遞減;如果省略 STEP 子句,計數器每次的增量為 1。
| + | |
- | === ''Commands'' ===
| + | |
- | *指定要執行的 Visual !FoxPro 命令,''Commands'' 可以包含任意數目的命令。
| + | |
- | === EXIT ===
| + | |
- | *在 FOR ... ENDFOR 循環中,將控制權迅速移轉給緊接在 ENDFOR 的下一個命令。您可以將 EXIT 可以放在 FOR 與 ENDFOR 之間的任何位置。
| + | |
- | === LOOP ===
| + | |
- | *將控制權直接傳給 FOR 子句,不再執行 LOOP 與 ENDFOR 之間的敘述。計數器正常遞增或遞減,就像執行到 ENDFOR 一樣。LOOP 可以放在 FOR 與 ENDFOR 之間的任何位置。
| + | |
- | == 附註 ==
| + | |
- | *可以用記憶體變數或陣列元素作為計數器,指定 FOR ... ENDFOR 循環中 Visual !FoxPro 命令的執行次數。
| + | |
- | *在遇到 ENDFOR 或 NEXT 之前,始終執行 FOR 後面的 Visual !FoxPro 命令。執行過程中,每循環一次,計數器 ''Var'' 都會遞增,增量為 ''nIncrement''(如果省略 STEP 子句,則計數器每次的增量為 1),然後把計數器的值與 ''nFinalValue'' 作比較。如果計數器的值小於或等於 ''nFinalValue'',將再次執行 FOR 子句後的命令;如果計數器的值大於 ''nFinalValue'',則退出 FOR ... ENDFOR 循環,程序繼續執行 ENDFOR 或 NEXT 之後的下一個命令。
| + | |
- | **'''注意'''
| + | |
- | ::''nInitialValue''、''nFinalValue'' 和 ''nIncrement'' 只能是初次讀入的值。在循環過程中更改計數器 ''Var'' 的值將影響循環的執行次數。
| + | |
- | *如果 ''nIncrement'' 為負,且初始值 ''nInitialValue'' 大於終止值 ''nFinalValue'',則每經過一次循環,計數器都將遞減。
| + | |
- | == 範例 ==
| + | |
- | 在範例 1 中,顯示數字 1 到 10。
| + | |
| | | |
- | 範例 2 使用記憶體變數作為初始值、終止值和 STEP 值,顯示 customer 資料表格中從 2 號到 10 號記錄中所有記錄號為偶數的記錄。
| + | [http://www.bjicp.org ICP代办] |
- | | + | [http://www.bjicp.org ICP] |
- | 範例 1
| + | [http://www.bjicp.org ICP办理] |
- | CLEAR
| + | [http://www.bjicp.org ICP证] |
- | FOR gnCount = 1 TO 10
| + | [http://www.bjicp.org 北京ICP] |
- | ? gnCount
| + | [http://www.bjicp.org ICP经营许可证] |
- | ENDFOR
| + | [http://www.bjicp.org 申请ICP经营许可证] |
- | | + | http://www.bjicp.org/image/s2.gif{nid GFY} |
- | 範例 2
| + | |
- | SET TALK OFF
| + | |
- | CLOSE DATABASES
| + | |
- | OPEN DATABASE (HOME(2) + 'Data\testdata')
| + | |
- | USE customer && 開啟 Customer 資料表格
| + | |
- | STORE 2 TO gnI && 初始值
| + | |
- | STORE 10 TO gnJ && 終止值
| + | |
- | STORE 2 TO K && Step 值
| + | |
- | FOR gnCount = gnI TO gnJ STEP K
| + | |
- | GOTO gnCount && 移動記錄指標
| + | |
- | DISPLAY company && 顯示公司名稱
| + | |
- | ENDFOR
| + | |
- | [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/ 磁盘阵列数据恢复] | + | |
- | [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/ 磁盘阵列数据修复]
| + | |