Do...Loop

在符合條件時或符合條件前(不符合時),在DO...LOOP之間重複執行。

格式
Do [ { While | Until }​ 條件運算式 ]
[陳述式]
[Exit Do]
[陳述式]
Loop

或使用如下格式。
Do
[陳述式]
[ Exit Do ]
[陳述式]
Loop [ { While | Until }​條件運算式]

Do Loop陳述式分為條件運算式和陳述式兩種。

條件運算式
是用於表示True或False的數字或字串運算式。條件運算式為空(Null)時,條件則作為False進行處理。可省略。
陳述式
是在符合條件時或符合條件前重複執行之1個以上的陳述式

說明
作為離開Do...Loop的另一個方法,可在Do...Loop中的任何部分插入任何數量的Exit Do陳述式。Exit Do常被用於評估數個條件(If...Then等)之後的情況。按If...Then使用Exit Do陳述式時,則將控制轉移到Loop的下一個陳述式中。

若在巢狀Do...Loop陳述式中使用,Exit Do則用於將控制轉移到發生該情況的迴圈之上1級迴圈。

注意


  • 使用時,請勿在Loop陳述式中頻繁重複XQT命令

    使用時,請勿在Do…Loop等Loop陳述式中頻繁重複XQT命令。否則,控制器有可能進入意外停機狀態。若要這樣使用,請新增Wait命令(Wait 0.1)。

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

    盡量不要進行空的Do...Loop或類似操作,因為它們可能會影響您的系統。控制器檢測無限循環任務,並確定系統受到影響,則可能會出現錯誤 2556(檢測到過多的迴圈)。執行需要迴圈的演算或等待I/O時,請在迴圈中執行Wait命令(Wait 0.1)等,以避免佔用CPU。

  • 如果不使用Exit Do並從嵌套結構退出迴圈

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


參照
For...Next、Select...Send

Do...Loop範例

Do While Not Lof(1)
    Line Input #1, tLine$
    Print tLine$
Loop