vb的一个编程题

来源:百度知道 编辑:UC知道 时间:2024/06/09 07:14:15
Private Sub Command1_Click()
Cls
Form1.FontSize = 16
Print
Form1.ForeColor = QBColor(9)
Print Tab(4); "暂停3秒钟"
Print
delay 3
Form1.ForeColor = QBColor(10)
Print Tab(4); "暂停5秒钟"
Print
delay 5
Form1.ForeColor = QBColor(9)
Print Tab(4); "结束"
Print
delay 1
End Sub
Private Sub delay(pausetime)
Dim start
start = Timer
Do While Timer < start + pausetime
Loop
End Sub
请问为什么这个题目是先等3秒在出来暂停3秒,而不是先出来暂停3秒在等3秒在出来暂停5秒,按顺序结构应该是先出来暂停3秒在等3秒在出来暂停5秒

把DoEvents加入到延时函数之前就可以了!如下

Private Sub Command1_Click()
Cls
Form1.FontSize = 16
Form1.ForeColor = QBColor(9)
Print Tab(4); "暂停3秒钟" & Time ''''''记录下时间
DoEvents
delay 3
Form1.ForeColor = QBColor(10)
Print Tab(4); "暂停5秒钟" & Time '''''记录下3秒后的时间
DoEvents
delay 5
Form1.ForeColor = QBColor(9)
Print Tab(4); "结束" & Time ''''''记录下5秒后的时间
DoEvents
delay 1
End Sub
Private Sub delay(pausetime)
Dim start
start = Timer
Do While Timer < start + pausetime
Loop
End Sub

是先用print显示将要等待的时间而已

Print Tab(4); "暂停3秒钟"
Print
delay 3
先print后delay的