Re: [VB6 ] 跳出無窮迴圈

看板Visual_Basic作者 (矇面加菲獅)時間14年前 (2009/10/04 15:24), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串5/5 (看更多)
※ 引述《sask (sask)》之銘言: : 藉這個討論串延伸問一個問題 : 我現在每隔一段時間就要從Com1上讀取資料 : 但想寫一個取消按鈕 也就是按下去後就全部停止 跳出迴圈 : 請問這個按鈕要怎麼寫呢 感謝~ 模組開頭宣告一個變數記錄是否要停止程式的執行,迴圈中檢查這個變數 Private bStop As Boolean Private Sub 讀取資料() Do '此處是你讀取資料的程式碼 If bStop Then bStop = False: Exit Sub '當變數值為True就離開(並重設變數) DoEvents '在迴圈中必須要有這項,否則使用者無法按下停止按鈕或者沒反應 Loop End Sub Private Sub 按鈕_Click() bStop = True '表示要停止迴圈中的程式 End Sub 你也可以用Timer控制項,定時去執行讀取資料的程式, 停止的寫法一樣,但是用Timer就不需要DoEvents -- ▃▅▇▆▄ ▆▂▃ ` 逝去感如何能留住,半點遺留殊不易,██▅▇▄▃ ▇▃▂" . █████████▃i ▁▄▇ 更多悽悽慘慘的遭遇………██▆▃ █▅▆▃ˍ▄* ▂█▄▇▅▂. 我不知道,王~八~蛋~~! ▂▆███ █▄▃ 。fumizuki。Check。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.194.223.71

10/04 15:47, , 1F
Timer也需要DoEvents...要不會跳不出去~~~
10/04 15:47, 1F

10/04 17:47, , 2F
感謝!!
10/04 17:47, 2F

10/04 20:20, , 3F
DoEvents是在Sub中會長時間執行用的
10/04 20:20, 3F

10/04 20:21, , 4F
如果不會長時間執行就不需要DoEvents
10/04 20:21, 4F
文章代碼(AID): #1Ao4t6m6 (Visual_Basic)
文章代碼(AID): #1Ao4t6m6 (Visual_Basic)