1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
unit Unit2;
interface
type
TCrono = class
private
FTime: cardinal;
function GetTickDiff(const AOldTickCount, ANewTickCount: Cardinal): Cardinal;
protected
property Time: cardinal read FTime write FTime;
public
procedure Start;
function Stop: cardinal;
end;
implementation
uses
Windows;
{ TCrono }
function TCrono.GetTickDiff(const AOldTickCount,
ANewTickCount: Cardinal): Cardinal;
begin
if ANewTickCount >= AOldTickCount then
Result := ANewTickCount - AOldTickCount
else
Result := High(Cardinal) - AOldTickCount + ANewTickCount;
end;
procedure TCrono.Start;
begin
Time := GetTickCount;
end;
function TCrono.Stop: cardinal;
begin
Result := GetTickDiff(Time, GetTickCount);
end;
end. |
Partager