作者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
1F:→ medoc:对了 我A只设定跑到四可是印出A却显示五??? 01/28 22:09
2F:推 DRAGONLL:有不用timer写的特殊理由吗 不然用timer比较方便吧 01/29 00:51
3F:→ DRAGONLL:我改成Sleep(5000)会出现很像当机的画面@@ 01/29 00:52
4F:推 ankolee99:timer是n毫秒呼叫一次那个function 01/29 02:50
5F:→ ankolee99:sleep类似do nothing n毫秒所以程式是还没跑完的!! 01/29 02:51
6F:→ ankolee99:它内部是还有再跑,只是没show出来,所以看起来像没回应 01/29 02:52
7F:→ medoc:因为.....timer只有VB可以用 可是FOR哪边都有 所以... 01/29 09:50