procedure TimeDelay(int DelayTime);var start_time: integer;beginstart_time := GetTickCount();doApplication.ProcessMessage;//通知主程序可以处理其他消息。while ((GetTickCount - start_time) < DelayTime);end;
这个函数表示什么意思或者举一些具体例子
delphi7的GetTickCount作用和用法
答案:2 悬赏:0 手机版
解决时间 2021-03-01 10:14
- 提问者网友:世勋超人
- 2021-02-28 17:08
最佳答案
- 五星知识达人网友:第幾種人
- 2021-02-28 17:59
从操作系统启动到现在所经过的毫秒数通常用来记时用。等待多少个105毫秒 function waitSec(i: integer): Boolean;
var
j, k: Int64;
begin
k := GetTickCount div 100;
j := i + k;
Result := false;
while True do
begin
if ExitWait then
Exit;
if (GetTickCount div 100) > j then
begin
Result := true;
Break;
end;
Sleep(5);
Application.ProcessMessages;
end;
end;
var
j, k: Int64;
begin
k := GetTickCount div 100;
j := i + k;
Result := false;
while True do
begin
if ExitWait then
Exit;
if (GetTickCount div 100) > j then
begin
Result := true;
Break;
end;
Sleep(5);
Application.ProcessMessages;
end;
end;
全部回答
- 1楼网友:醉吻情书
- 2021-02-28 19:09
这个段程序是一个“延时”过程。
gettickcount是返回一个dword类型,其返回的值是自系统启动以来所经历的时间,单位:毫秒。
此段代码基本原理就是:
先gettickcount取值赋于start_time,然后不停的循环用gettickcount来和start_time来相减,直到这个差值大于参数delaytime则退出循环结束过程,从而达到延时的目的。为了不造成程序因此间循环而停止响应,故在循环中用了application.processmessage来手动使程序响应系统信息。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯