第一個(gè)for完成對(duì)delay_time參數(shù)的控制,即共循環(huán)多少次內(nèi)部循環(huán)
創(chuàng)新互聯(lián)公司聯(lián)系電話:18980820575,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),創(chuàng)新互聯(lián)公司網(wǎng)頁制作領(lǐng)域10余年,包括成都地磅秤等多個(gè)行業(yè)擁有豐富的營銷推廣經(jīng)驗(yàn),選擇創(chuàng)新互聯(lián)公司,為企業(yè)保駕護(hù)航。
第二個(gè)for(內(nèi)部循環(huán)),完成對(duì)j從0到199的控制,共循環(huán)200次。
翻譯成匯編就是:
(R0為傳遞參數(shù))
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,自己可以定義一個(gè)延時(shí)函數(shù),調(diào)用它即可:
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提倡的是用定時(shí)器控件(Timer)的方法。首先在窗體放入一個(gè)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?"這個(gè)對(duì)話框是點(diǎn)擊按鈕1秒鐘后彈出來的"
Timer1.Enabled?=?False
End?Sub
此外還可以用API函數(shù)Sleep來延時(shí),或者利用循環(huán)結(jié)合時(shí)間函數(shù)來延時(shí),但它們都容易造成系統(tǒng)阻塞,所以不建議使用。
使用定時(shí)器控件還有一個(gè)最大好處,就是在延時(shí)期間你的程序還可以繼續(xù)運(yùn)行處理其他事務(wù)(比如鼠標(biāo)點(diǎn)擊、鍵盤輸入等)。而其他方法產(chǎn)生的延時(shí)效果,在延時(shí)期間就只能傻等,什么也做不了,甚至還有可能影響到其他程序。