Forum: Object-Pascal / Delphi-Language
by samso,
16. Jan 2014
Wenn man die Überlaufprüfung ausschaltet dann ist
result := High(Cardinal) - previousTicks + currentTicks + 1
equivalent zu
result := High(Cardinal) + 1 - previousTicks + currentTicks
equivalent zu
result := 0 - previousTicks + currentTicks
equivalent zu
result := currentTicks - previousTicks.
Die Fallunterscheidung ist dann also unnötig.
Forum: Object-Pascal / Delphi-Language
by samso,
15. Jan 2014
Ich hatte das mal so gelöst:
function TimeDiff(TickCount: Cardinal): Cardinal;
begin
{$ifopt Q+}{$define recoveroverflowcheck}{$Q-}{$endif}
Result := GetTickCount - TickCount;
{$ifdef recoveroverflowcheck}{$Q+}{$endif}
end;