| deoaiqing |
 |
| 等级:大侠 |
| 权限:普通用户 |
| 积分:92 |
| 金钱:311 |
| 声望:169 |
| 经验:169 |
| 发帖数:169 |
| 注册:2008年8月22日 |
|
|
|
1、挂起,不占CPU
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; |
|
|
|
|
|
|