看板 Visual_Basic 關於我們 聯絡資訊
如題 我自己寫了一個程式 很單純的依序要讓四個燈造順序開啟 但是不知道為何 燈總是直接亮最後一顆 我使用BEEP來了解程式執行到何處 卻可以聽到四次聲響 但螢幕上卻不會顯示前三顆燈亮 請各位幫我解答一下 謝謝 Dim a As Integer Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Private Sub Command1_Click() For a = 1 To 4 Select Case a Case 1 Shape1.BackStyle = 1 Shape2.BackStyle = 0 Shape3.BackStyle = 0 Shape4.BackStyle = 0 Sleep (500) Beep Case 2 Shape1.BackStyle = 0 Shape2.BackStyle = 1 Shape3.BackStyle = 0 Shape4.BackStyle = 0 Sleep (500) Beep . . . . . .(跳過CASE3跟4) End Select Next Print a End Sub 我的程式就是這樣子 請各位多多指教 PS還想請問一下 interval設定的時間 指的是timer跑的速度對吧? 那他與sleep在哪些部份可互相取代呢? 還是說他其實是完全不能相提並論的 因為一個是直接暫停程式一個不是? 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.167.171.148
medoc:對了 我A只設定跑到四可是印出A卻顯示五??? 01/28 22:09
DRAGONLL:有不用timer寫的特殊理由嗎 不然用timer比較方便吧 01/29 00:51
DRAGONLL:我改成Sleep(5000)會出現很像當機的畫面@@ 01/29 00:52
ankolee99:timer是n毫秒呼叫一次那個function 01/29 02:50
ankolee99:sleep類似do nothing n毫秒所以程式是還沒跑完的!! 01/29 02:51
ankolee99:它內部是還有再跑,只是沒show出來,所以看起來像沒回應 01/29 02:52
medoc:因為.....timer只有VB可以用 可是FOR哪邊都有 所以... 01/29 09:50