作者medoc (街角的子供達 )
看板Visual_Basic
標題[VB6 ] 不使用TIMER寫跑馬燈發生的問題
時間Mon Jan 28 22:08:57 2008
如題
我自己寫了一個程式
很單純的依序要讓四個燈造順序開啟
但是不知道為何 燈總是直接亮最後一顆
我使用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