VB中延时功能与Sleep函数

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
 

延时-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函数

VB.NET中串口通讯延时程序 <br />大家好,最近我在使用VB.NET开发串口通讯的一点内容,在使用VB.NEI对嵌入式控制器编程,给下位机通讯发命令数据的时候,发现有时候发一次,下位机没有收到,为了增强程序的可靠性,我想延时100毫秒,在发送一次,不知道怎样些延时程序,使用定时器还是有专门的API函数调用,希望有经验的师傅可以给点指点,最好些清楚点,怎样在窗体开头生命API以及如何在需要使用延时程序的地方调用,谢谢<br />你好,如果我用Sleep() API延时程序使用,那这种演示会不会影响我在程序中使用的定时器,我要用定时 阅读详情

相关推荐

VB优于Sleep延时函数,不长CPU哈(完美延时)

VB优于Sleep延时函数,不长CPU哈(完美延时)

VB中三种延时程序的使用(含简单例程)

在程序流程中经常要延时一段时间后再继续往下执行,在VB中常用的有以下几种方法 1、SLEEP 2、timer() 3、Windows API函数timeGetTime() 以下是简要介绍和简单例程

延时函数vbnet

vbnet写的延时函数 Sub DelayTime(ByVal tms毫秒 As Integer) Dim st As Long = Now.Ticks Dim st1 As Long = Now.Ticks Dim st2 As Integer = 0 Do st2 = CInt((st1 - st) / 10000) Select Case st2 - tms毫秒 Case Is < 0 Application.DoEvents() st1 = Now.Ticks Case Else '达到条件下,延时结束 Exit Do End Select Loop End Sub

VB中实现延时(等待)的几种方法

在程序流程中经常要延时一段时间后再继续往下执行,在VB中常用的有以下几种方法(因为Timer控件打乱了程序的流程所以一般不用它):1.使用Windows API函数Sleep新建一个工程,添加一个TextBox控件和一个CommandButton控件,再将以下代码复制到代码窗口声明:Private Declare Sub Sleep Lib "kernel32" (ByVal dwMillise

autofei的专栏 6万+

vb使程序休息几秒钟

开头定义下 Private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long) 使用办法 Sleep 5000 '休息5秒 一个出色的延时函数 Private Declare Sub Sleep Lib "kernel32" (ByVal dwMillisecond

zhangfengwusha的专栏 1123

vb6实现程序延时的几种方法

VB6在开发发贴机时,提交数据要用到延时程序,让程延时和等待.从网上找了三种方法,三种方法以最后一种最好用.第一种如果不DOEVENTS的话,会使人感觉程序无反应一样有以下方法:1.使用Windows API函数Sleep新建一个工程,添加一个TextBox控件和一个CommandButton控件,再将以下代码复制到代码窗口声明:Private Dec

2596

VB中实现延时(等待)的几种方法

在程序流程中经常要延时一段时间后再继续往下执行,在VB中常用的有以下几种方法(因为Timer控件打乱了程序的流程所以一般不用它): 1.使用Windows API函数Sleep 新建一个工程,添加一个TextBox控件和一个CommandButton控件,再将以下代码复制到代码窗口 '声明: Private Declare Sub Sleep Lib "kernel32" (ByVal d

nimanima_1的专栏 1486

VB中不会造成假死的延时

VB编程中,一般的延时都是用的sleep这个API函数,既Private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)可是若果在编写GUI界面的程序的时候,使用此API延时的时候,会造成程序停止响应,既造成程序假死,不响应windows的请求。如此,为保证程序将控制权交给电脑,保证假死情...

weixin_34026484的博客 1631

vb中空操作(等待)的指令、延时方法

一、vb中空操作(等待)的指令是什么━━━━━━━━━━━━━━━━━━━━━━━━━━请调用windows apisleep函数 Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)例如:Call Sleep(1000) '程序等待1秒━━━━━━━━━━━━━━━━━━━━━━━━━━用"时间控件"也可以。tim...

miaozk2006的专栏 2619

VB中如何实现延时

VB语言本身没有提供延时语句,但可借用Windows API函数Sleep来实现。该函数的声明格式为:  Public Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)其参数只有一个,代表延时的毫秒数。若要延迟1秒,则实现语句为:  Call Sleep(1000)而通过vb本身也可以实现延迟

NotBack的编程专栏 5073

vbmatlab数据交互时间延时多长,vb中实现延时(等待)的几种方法

时 间:2008-04-14 12:30:16作 者:摘 要:vb中实现延时(等待)的几种方法正 文:在程序流程中经常要延时一段时间后再继续往下执行,在VB中常用的有以下几种方法(因为Timer控件打乱了程序的流程所以一般不用它):1.使用Windows API函数Sleep新建一个工程,添加一个TextBox控件和一个CommandButton控件,再将以下代码复制到代码窗口'声明:Privat...

weixin_30895059的博客 150

vbmatlab数据交互时间延时多长,在VB中实现延时(等待)的几种方法

在程序流程中经常要延时一段时间后再继续往下执行,在VB中常用的有以下几种方法(因为Timer控件打乱了程序的流程所以一般不用它):1.使用 API函数Sleep新建一个工程,添加一个TextBox控件和一个CommandButton控件,再将以下代码复制到代码窗口‘声明:Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds A...

weixin_33881426的博客 224

vbmatlab数据交互时间延时多长,VB中实现延时(等待)的几种方法

VB中实现延时(等待)的几种方法来源:liaozhihua作者:华仔浏览:3710时间:2016-08-10 14:18标签:摘要:在程序流程中经常要延时一段时间后再继续往下执行,在VB中常用的有以下几种方法(因为Timer控件打乱了程序的流程所以一般不用它):1.使用WindowsAPI函数Sleep新建一个工程,添加一个TextBox控件和一个CommandButton控件,再将以下代码复制到...

weixin_36476970的博客 160
上一篇: vb连接水晶报表
下一篇: 极限OA 3.0强在哪里?功能强大是根本
netnok
博客等级 码龄18年 28粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值