如果我想让一个程序运行到某处,先等待几秒钟,然后再执行下面的语句,该如何做?(100分)

  • 主题发起人 主题发起人 yname
  • 开始时间 开始时间
Y

yname

Unregistered / Unconfirmed
GUEST, unregistred user!
如果我想让一个程序运行到某处,先等待几秒钟,然后再执行下面的语句,该如何做?
 
sleep(秒数*1000)
 
同意qiubole,不过我好像觉得延迟时间和机器速度有一定关系
 
没有关系,那是根据定义器来决定的,只是精度根据装的windows版本会有所不同.
Sleep(1000)表示程序停止运行一秒钟.
 
The Sleep function suspends the execution of the current thread for a specified interval.

VOID Sleep(DWORD dwMilliseconds); { sleep time in milliseconds }
 
用Sleep可以实现,此方法最简单了
 
sleep()
括号内为时间数,是以毫秒为单位的
但是这个函数有个缺陷就是在等待的时间内不能响应其他的操作
所以解决方法是使用下面的代码:

代码:
starttime:=now;
    numsec:=1000;//指定时间间隔,也就是定时
    repeat
       application.processmessages;
    until now>starttime+numsec*(1/24/60/60);
 
我觉得用上面的指定时间的方法好一点,基本不受系统的影响。而且看起来也好一点。:)
 
1、Sleep
2、NOW + Application.ProcessMessages
3、GetTickCount + Application.ProcessMessages
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部