延时函数

来源:互联网 发布:10月份淘宝活动 编辑:程序博客网 时间:2024/05/19 17:56
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//延迟函数:方法一
procedure delay(msecs:integer);
var
  Tick: DWord;
  Event: THandle;
begin
  Event := CreateEvent(nilFalseFalsenil);
  try
    Tick := GetTickCount + DWord(msecs);
    while (msecs > 0and (MsgWaitForMultipleObjects(1, Event, False, msecs, QS_ALLINPUT) <> WAIT_TIMEOUT) do
    begin
      Application.ProcessMessages;
      msecs := Tick - GetTickcount;
    end;
  finally
    CloseHandle(Event);
end;
 
//延迟函数:方法二
procedure Delay(dwMilliseconds:DWORD);//Longint
var
iStart,iStop:DWORD;
begin
    iStart :=   GetTickCount;
    repeat
    iStop  :=   GetTickCount;
    Application.ProcessMessages;
    until (iStop  -  iStart) >= dwMilliseconds;
end;
0 0
原创粉丝点击