十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
第一个for完成对delay_time参数的控制,即共循环多少次内部循环
成都创新互联长期为成百上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为从江企业提供专业的网站设计、成都网站建设,从江网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。
第二个for(内部循环),完成对j从0到199的控制,共循环200次。
翻译成汇编就是:
(R0为传递参数)
DELAY:
MOV R1,#200
DJNZ R1,$
DJNZ R0,DELAY
RET
Private Sub Button1_Click()
MsgBox("A")
Threading.Thread.Sleep(3000)
MsgBox("B")
End Sub
如果暂停的3秒有影响,就给他开一个线程:
Private Sub Button1_Click()
Dim th As New Threading.Thread(AddressOf MsgBoxProc)
th.Start()
End Sub
Private Sub MsgBoxProc()
MsgBox("A")
Threading.Thread.Sleep(3000)
MsgBox("B")
End Sub
学习一下后台线程,
看一下3个timer类,
实在想简单,就在UI线程里用timer控件去实现
Threading.Thread.Sleep(500)这句是线程停止等待的,在这500毫秒的时间里你的任何动作都是不响应的,理论上再SendKeys.Send(TextBox2.Text)这段时间内你可以动作,但是send是毫秒级完成的,你还没有来得及响应就进入了下一次的循环,所以跟卡死类似
解决方法:通过timer定时器延时
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
Dim b As Boolean = My.Computer.Network.Ping("192.168.1.1", 1000) '返回ping结果,true表示通,false表示不通,1000表示1000毫秒内返回结果
If b = True Then '指定时间内ping通
Shell("cmd /c ping 192.168.1.1 C:\time.txt") '在C盘time.txt文件中保存ping的结果
Else '超时
MsgBox("999") '弹出999提示
End If