zoukankan      html  css  js  c++  java
  • [转]Delphi中进行延时的4种方法

    1、挂起,不占CPU
    sleep
    2、不挂起,占cpu
    procedure Delay(msecs:integer);
    var
    FirstTickCount:longint;
    begin
    FirstTickCount:=GetTickCount;
    repeat
    Application.ProcessMessages;
    until ((GetTickCount-FirstTickCount) >= Longint(msecs));
    end;
    3、定时器
    procedure timerfun(handle:Thandle;msg:word;identer:word;dwtime:longword);stdcall;
    begin
    showmessage('到点了');
    killtimer(handle,identer);//关闭定时器
    end;
    
    //其中的identer是定时器的句柄
    procedure TForm1.Button1Click(Sender: TObject);
    var
    identer:integer;
    begin
       identer:=settimer(0,0,2000,@timerfun);
       if identer=0 then exit; //定时器没有创建成功。
    end;
    4、不占CPU不挂起
    function TForm1.HaveSigned(MaxWaitTime: Cardinal): Boolean;
    var   I:Integer;
    var   WaitedTime:Cardinal;
    begin
              WaitedTime:=0;
              while      (WaitedTime<MaxWaitTime)   do
              begin
                      SleepEx(100,False);
                      Inc(WaitedTime,100);
                      Application.ProcessMessages ;
              end
    end;
  • 相关阅读:
    SQLI DUMB SERIES-12
    SQLI DUMB SERIES-11
    SQLI DUMB SERIES-9&&10
    SQLI DUMB SERIES-8
    SQLI DUMB SERIES-7
    XXS level10
    XXS level9
    XXS level8
    XXS level7
    XXS level6
  • 原文地址:https://www.cnblogs.com/go-jzg/p/4190853.html
Copyright © 2011-2022 走看看