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
              begin
                      SleepEx(100,False);
                      Inc(WaitedTime,100);
                      Application.ProcessMessages ;
              end
    end;
  • 相关阅读:
    计算机组成原理学习总纲图
    USE RED
    既有的问题如何解决
    字符串极值题解
    扩展 KMP
    KMP
    FHQ-Treap
    STL
    iOS内存管理理论知识过一遍
    iOS中Block理论知识过一遍
  • 原文地址:https://www.cnblogs.com/jijm123/p/11747304.html
Copyright © 2011-2022 走看看