作者fumizuki (矇面加菲獅)
看板Visual_Basic
標題Re: [VB6 ] 跳出無窮迴圈
時間Sun Oct 4 15:24:51 2009
※ 引述《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
推 mraaa:Timer也需要DoEvents...要不會跳不出去~~~ 10/04 15:47
推 sask:感謝!! 10/04 17:47
→ fumizuki:DoEvents是在Sub中會長時間執行用的 10/04 20:20
→ fumizuki:如果不會長時間執行就不需要DoEvents 10/04 20:21