加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

VB中延时功能与Sleep函数

发布时间:2020-12-16 23:54:22 所属栏目:大数据 来源:网络整理
导读:延时-Sleep函数,主要功能就是使当前线程等待一段时间,用法就是“Sleep 毫秒数”,这里的毫秒数可以设置成任意整型数据。如 Sleep 1000,表示延时1秒(1000毫秒)。 Sleep与DoEvents之间是有点区别的。DoEvents其实是将CPU的控制权交出去,是为了在长循环

延时-Sleep函数,主要功能就是使当前线程等待一段时间,用法就是“Sleep 毫秒数”,这里的毫秒数可以设置成任意整型数据。如 Sleep 1000,表示延时1秒(1000毫秒)。

Sleep与DoEvents之间是有点区别的。DoEvents其实是将CPU的控制权交出去,是为了在长循环中进程占据全部CPU资源,也就是相当于一种事件,网上有这样的说法:DoEvents就是把机会让给别的事件,自己暂时休息一下,但是占着的位置不会空出来。在死循环里放个DoEvents,CPU占用率是100%,同时这个进程还是可以做别的事情的。而Sleep前面也讲过了,就是使当前线程等待一段时间的,英文单词表面上理解也可以理解成“睡觉”的意思,也就是什么都不做了,也不会占着CPU资源的,当然进程也是什么事都不干的。

举个小例子:

Dim a As Integer
Dim b As Integer
Dim i As Integer
a=Text1.Text
b=Text2.Text
If a<>b Then
For i = 1 To 30
PlaySound App.Path & /music.mid '这里的PlaySound是一个函数,由于与本主题无关,不写出来了。
Sleep 1000 '延时1秒
Next
End If

这就是一个简单的延时程序示例,用到了Sleep函数。(其实这时是变相的使用Sleep函数,可以实现音乐的循环播放,当然音乐的长度要跟延时长度有关,要不然可能效果不好)当然我们也可以用一个循环语句来实现Sleep函数功能,如下:

Sub wait(i As Integer)
Dim s As Integer
Dim j As Integer
Dim k As Integer
For j = 0 To i
For k = 0 To 1000
s = s
Next k
Next j
End Sub
在调用的时候直接写上wait(1000)就可以实现与Sleep函数差不多的功能了,当然,可能在某种程度上来说,这个函数的效率并没有Sleep函数强,但也值得一用。

忘记了,补上API声明,要不然无法使用。

Private Declare Sub Sleep Lib Kernel32 (ByVal dwMilliseconds As Long) '-----Sleep函数

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读