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;
  • 相关阅读:
    jquery中attr和prop的区别
    Server.MapPath用法
    ERP登录(八)
    ViewBag、ViewData和TempData的使用和区别
    ERP权限系统(七)
    C#泛型(三)
    ERP员工入登记查询(六)
    ERP员工入职登记(五)
    MVC学习IIS的不同版本(一)
    兔子谋杀案
  • 原文地址:https://www.cnblogs.com/jijm123/p/11747304.html
Copyright © 2011-2022 走看看