[.NET] timer執行問題

作者: maxding0430 (momo)   2016-04-06 16:43:55
各位大大好
小弟目前碰到一個問題想來請教一下
目前有一個Listbox1以及Button1
Listbox1有N個項目
按Button1後會依序執行Listbox1裡的項目
每一個項目結束會傳ok.ini
接到ok.ini後刪除ok.ini在執行下一個項目
我想要加一個timer去dir(C:log/ok.ini)
每一秒去檢查有沒有收到
有收到就next i執行下一個項目
目前寫法如下
Private ok As Boolean
timer內:
Dim MyFile As String
MyFile = Dir("C:\log\ok.ini")
If MyFile = "ok.ini" Then
ok = True
End If
If MyFile = "" Then
ok = False
End If
butter內:
Select Case s
......
......
......
End Select
Timer1.Enabled = True
If ok = True Then
Timer1.Enabled = False
My.Computer.FileSystem.DeleteFile("C:\log\ok.ini")
End If
Next i
目前不會等到ok=True才做下一項
而是連續做下去
請問要怎麼改呢?
謝謝各位
作者: MOONRAKER (㊣牛鶴鰻毛人)   2016-04-06 18:07:00
這樣你何必用timer 用sleep()不就好了
作者: garyl62327 (garyl62327)   2016-04-06 22:53:00
把timer.enabled =false 改到timer內 exit sub試試看不太懂你的意思
作者: MOONRAKER (㊣牛鶴鰻毛人)   2016-04-07 14:58:00
那就把for拆掉,寫到timer裡面不然用timer毫無意義
作者: evil2004 (忘卻深淵)   2016-04-08 23:01:00
Button.Click啟動Timer, Do ListBox放Timer裡,做完Exit?認真講 我真的看不懂你在說啥
作者: garyl62327 (garyl62327)   2016-04-09 20:13:00
我自己都看不懂他的意思了ww整理一下原po說想每一秒都檢查卻要開開關關timer讓我百思不得其解至於他說不會等到ok=true 如果是只button那邊的 有可能是timer內程式碼還沒跑完 把判斷式丟到timer 做完離開 等下一次呼叫timer啟動 這有可能是原p o想要的?

Links booklink

Contact Us: admin [ a t ] ucptt.com