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;

相关文章:

  • 2021-10-22
  • 2022-12-23
  • 2021-11-21
  • 2022-12-23
  • 2021-11-30
  • 2021-06-04
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-20
  • 2022-12-23
  • 2022-01-03
  • 2022-12-23
相关资源
相似解决方案