procedure Delay(MSecs: DWORD); var BeginTime: DWORD; begin BeginTime := GetTickCount; repeat until GetTickCount - BeginTime >= MSecs; end;
同意xzhifei(飞) 的 我业是用这个写的函数 然后调用的
刚才掉了一句,“ Application.ProcessMessages”,Sorry,如果不加这句的话,效果跟Sleep函数差不多,呵呵!!procedure Delay(MSecs: DWORD); var BeginTime: DWORD; begin BeginTime := GetTickCount; repeat Application.ProcessMessages; until GetTickCount - BeginTime >= MSecs; end;
1)用Timer控件 2)Code; procedure Delay(Second:integer); var OldTick,NowTick:integer; begin OldTick:=GetTickCount; NowTick:=GetTickCount; while NowTick-OldTick<Second*1000 do NowTick:=GetTickCount; end;
var
BeginTime: DWORD;
begin
BeginTime := GetTickCount;
repeat
until GetTickCount - BeginTime >= MSecs;
end;
我业是用这个写的函数
然后调用的
var
BeginTime: DWORD;
begin
BeginTime := GetTickCount;
repeat
Application.ProcessMessages;
until GetTickCount - BeginTime >= MSecs;
end;
2)Code;
procedure Delay(Second:integer);
var
OldTick,NowTick:integer;
begin
OldTick:=GetTickCount;
NowTick:=GetTickCount;
while NowTick-OldTick<Second*1000 do
NowTick:=GetTickCount;
end;
就很完善了