📄 21330.html
字号:
<html> <head> <title>thanks!小弟已用do...loop 解决! thanks !(无内文)</title> </head> <body bgcolor="#FFFFFF" vlink="#808080"> <center> <h1>thanks!小弟已用do...loop 解决! thanks !(无内文)</h1> </center><hr size=7 width=75%><hr size=7 width=75%><p>Posted by 露脚 on November 14, 1999 at 07:10:00:<p>In Reply to: <a href="21307.html">Re: 补充!如何让程式能够执行到第一个 call 呢!还是它是错误的!</a> posted by ellis on November 13, 1999 at 08:56:07:<p>: : : 程式码如下所示:<br>: : : Dim bp1 As Byte<br>: : : Private Sub Command1_Click()<br>: : : Debug.Print "=== command1 ====="<br>: : : Debug.Print " ==== call Show===="<br>: : : Call Show1(1)<br>: : : Call Show1(2)<br>: : : End Sub<p>: : : Private Sub Show1(ByVal bp As Byte)<br>: : : bp1 = bp<br>: : : Debug.Print " ====== into Show ======"<br>: : : For i = 0 To 100<br>: : : For j = 0 To 100<br>: : : Next j<br>: : : Next i<p>: : : If bp = 1 Then<br>: : : Debug.Print " ==== Set timer1 ======"<br>: : : Timer1.Enabled = True<br>: : : Timer1.Interval = 100<p>: : : Debug.Print " ==== Set timer2 ======"<br>: : : Timer2.Enabled = True<br>: : : Timer2.Interval = 100<br>: : : End If<br>: : : Debug.Print " ==== Quit Show ======"<p>: : : End Sub<p>: : : Private Sub Timer1_Timer()<p>: : : If stopa = 2 Then Exit Sub<br>: : : If bp1 = 1 Then<br>: : : Debug.Print " ====== into Timer1 bp1=1======"<br>: : : For i = 0 To 2<br>: : : For j = 0 To 2<br>: : : Next j<br>: : : Next i<br>: : : Debug.Print " ====== Quit Timer1 ======"<br>: : : stopa = stopa + 1<br>: : : End If<br>: : : End Sub<p>: : : Private Sub Timer2_Timer()<br>: : : Static stopa As Byte<br>: : : If stopa = 2 Then Exit Sub<br>: : : If bp1 = 2 Then<br>: : : Debug.Print " ====== into Timer1 bp1=2======"<br>: : : For i = 0 To 2<br>: : : For j = 0 To 2<br>: : : Next j<br>: : : Next i<br>: : : Debug.Print " ====== Quit Timer2 ======"<br>: : : End If<br>: : : stopa = stopa + 1<br>: : : End Sub<p>: 以上的程式 i & j只是单纯当延迟用吗?若是则有点<br>: 多余的感觉,本身您己用了二个timer控制了,但timer却未<br>: 设结束,timer不是执行到end sub就结束了,如您写的Timer1.Interval = 100,是每0.1秒会驱动timer程序一次<br>: 故要结束需将timer.enabled设为false.<br>: 而STATIC STOPA 会将stopa一直设为2,只是单纯将程式强制脱离timer副程式,但每0.1秒仍会再次执行判断,造成多余.应将If stopa = 2 Then Exit Sub改为<br>: if stopa=2 then <br>: stopa=0 <br>: timer1.enabled=false<br>: end if<p><br><br><hr size=7 width=75%><p><a name="followups">Follow Ups:</a><br><ul><!--insert: 21330--></ul><!--end: 21330--><br><hr size=7 width=75%><p></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -