重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
第一个for完成对delay_time参数的控制,即共循环多少次内部循环
创新互联公司联系电话:18980820575,为您提供成都网站建设网页设计及定制高端网站建设服务,创新互联公司网页制作领域10余年,包括成都地磅秤等多个行业拥有丰富的营销推广经验,选择创新互联公司,为企业保驾护航。
第二个for(内部循环),完成对j从0到199的控制,共循环200次。
翻译成汇编就是:
(R0为传递参数)
DELAY:
MOV R1,#200
DJNZ R1,$
DJNZ R0,DELAY
RET
(1)可以用api ,如以下程序:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
Me.Caption ="Your system will sleep 5 sec."
Sleep 5000 'Sleep for 5000 milliseconds
Me.Caption = ""
End Sub
(2),也可以不用api,自己可以定义一个延时函数,调用它即可:
Private Sub Delay(HowLong As Date)
TempTime = DateAdd("s", HowLong, Now)
While TempTime Now
DoEvents '让 windows 去处理其他事
Wend
End Sub
比如要某条语句后要延迟五秒,即加上语句:
Delay 5
Imports System.Threading
Thread.Sleep(1000)’延迟1秒
2.PauseWait(1000)’延迟1秒
Public Sub PauseWait(ByVal HowLong As Long)
Dim tick As Long
tick = My.Computer.Clock.TickCount
Do
My.Application.DoEvents()
Loop Until tick + HowLong My.Computer.Clock.TickCount
End Sub
VB提倡的是用定时器控件(Timer)的方法。首先在窗体放入一个Timer1和Command1,然后输入以下代码:
Private Sub Command1_Click()
Timer1.Interval = 1000
Timer1.Enabled = True
End Sub
Private Sub Form_Load()
Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
MsgBox "这个对话框是点击按钮1秒钟后弹出来的"
Timer1.Enabled = False
End Sub
此外还可以用API函数Sleep来延时,或者利用循环结合时间函数来延时,但它们都容易造成系统阻塞,所以不建议使用。
使用定时器控件还有一个最大好处,就是在延时期间你的程序还可以继续运行处理其他事务(比如鼠标点击、键盘输入等)。而其他方法产生的延时效果,在延时期间就只能傻等,什么也做不了,甚至还有可能影响到其他程序。