For...Next

用於依指定次數,重複執行For...Next之間的一系列陳述式。

格式
For 變數名稱 = 初始值 To 結束值 [Step增量值] 陳述式 Next [變數名稱]

參數

變數名稱
指定用於重複指派資料的變數名稱。通常此變數是整數值,但也可定義為實數變數。
初始值
為已指定的變數指定指派給迴圈開頭的數值。
結束值
指定表示結束迴圈的值。符合此值時,即結束For...Next迴圈,接下來執行Next命令的下一個陳述式。
增量值
指定每當執行For...Next迴圈中的Next陳述式時即進行增量的值。雖然也可將增量值設為負數,但此時必須是初始值>結束值。未指定增量時,則自動以「1」進行增量。可省略。
陳述式
只要是有效的SPEL+陳述式,皆可插入到For...Next迴圈中。

說明
For...Next用於僅以指定的次數重複迴圈中的陳述式。迴圈的開始為For陳述式,最後為Next陳述式。變數則用於計算執行迴圈內陳述式的次數。

初始值的數值為計數器的最初值。若能正確設定結束值變數和增量值,則也可用負值進行設定。

結束值為計數器的最終值。到達此值後迴圈便結束,程式控制會轉移到Next命令的下一個命令。

執行For陳述式的下一個陳述式,直到到達Next命令。計數器變數(變數名稱)會按以增量值參數指定的值進行增量。若未設定增量值,計數器將遞增或遞減「1」。

接下來,計數器變數(變數名稱)會與最終值進行比較。計數器的值少於或等於最終值時,則重新執行For命令的下一個陳述式。計數器變數(變數名稱)大於最終值時,執行則會被分支到For...Next迴圈之外,並繼續執行Next命令的下一個命令。

注意


  • 負增量值

    若將負值指定為增量值,計數器變數則會隨著迴圈而減少,因此請設定大於結束值的初始值。

  • 可省略Next之後的變數名稱

    可省略Next之後的變數名稱,但若有巢狀等,填寫變數名稱即會比較容易瞭解結構。

  • 離開迴圈時的變數值並非是結束值

    Function forsample
      Integer i
      For i = 0 To 3
      Next
      Print i  '顯示為4
    Fend
    
  • 如果不使用Exit For 並從嵌套結構退出迴圈

    若重複執行Exit For以外的命令(Gosub、Goto、Call命令等)脫離迴圈的程式會導致錯誤2020。如果要在循環中間退出,請使用Exit For命令退出它。

  • 盡可能將空無限循環和無限迴圈處理與等待命令結合使用

    盡量不要進行空的For...Next或類似操作,因為它們可能會影響您的系統。控制器檢測無限循環任務,並確定系統受到影響,則可能會出現錯誤 2556(檢測到過多的迴圈)。

    執行需要迴圈的演算或等待I/O時,請在迴圈中執行Wait命令(Wait 0.1)等,以避免佔用CPU。


參照
Do...Loop

For...Next範例

Function fornext
    Integer counter
    For counter = 1 to 10
        Go Pctr
    Next counter

    For counter = 10 to 1 Step -1
        Go Pctr
    Next counter
Fend