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;
  • 相关阅读:
    03构建之法阅读笔记3—团队模式
    软件工程学习进度博客10
    第一阶段冲刺10
    第一阶段冲刺9
    第一阶段冲刺8
    第一阶段冲刺7
    第一阶段冲刺6
    第一阶段冲刺5
    团队项目冲刺第六天
    团队项目冲刺第五天
  • 原文地址:https://www.cnblogs.com/jijm123/p/11747304.html
Copyright © 2011-2022 走看看