Sleep
 
等待直到指定的时间过去,或者按下一个键。

语法

Declare Sub Sleep Overload ( ByVal amount As Integer = -1 )
Declare Function Sleep ( ByVal amount As Integer , ByVal keyflag As Integer ) As Integer

用法

Sleep [ amount [, keyflag ]]
result = Sleep ( amount , keyflag )

参数

amount
可选的等待毫秒数(默认是等待按键)。
keyflag
可选旗给出正常睡眠值0,或1指定等待不能被按键中断。

返回值

如果keyflag 不是有效值,则返回101之外的其他内容)以表示失败,否则为0.

说明

Sleep将等待直到amount 毫秒(可以在-lang qb 中的秒数,见下文)给定(如果有任何值已通过)或直到用户按下键。如果amount 低于100 ms,则Sleep将始终等待完整请求的数量(按下按键将被忽略)。

为“深”睡眠包括第二个参数1,不能通过按键中断。

根据操作系统周期时间(Windows NT / 2K / XP:15 ms,9x / Me:50 ms,Linux 10ms,DOS 55 ms),Sleep的准确性是可变的。

在等待用户输入或线程内循环时,调用Sleep25ms或更短时间以释放时间片。这将防止程序不必要地占用CPU。

Sleep不清除键盘缓冲区,并且在Sleep的调用期间按住的任何键都被保留,并且可以使用Inkey读取。为了等待按键,并从缓冲区中删除该键,可以使用GetKey.

例子

Print "按键"
Sleep
GetKey '清除键盘缓冲区
Print "等待半秒"
Sleep 500


方言差异

  • -lang fb -lang fblite 方言中,amount 的值位于毫秒.
  • -lang qb 方言中,amount 的值位于QB中的.如果给出了第二个参数keyflag ,或者该关键字被写为__睡觉,则该值将在毫秒中。

与QB差别

  • -lang qb 方言。
  • 在QB中,延迟仅在整秒钟内提供,不支持keyflag 参数。

参考