Wie würdet ihr diese Prozedur schreiben?
Ich würde die
Unit System.Math
für
InRange(..)
bzw.
EnsureRange(..)
verwenden
PS: Deine Fassung kompiliert nicht da du einen hart gecasteten Wert anscheinend nicht als var-Parameter übergeben kannst?
Richtig sähe es so aus
Delphi-Quellcode:
class procedure TIntUtils.CheckInteger(var IntToCheck: Integer; iDefaultValue: Int64; iMinValue: Int64; iMaxValue: Int64);
var
asInt64: Int64;
begin
asInt64 := Int64(IntToCheck);
CheckInteger(asInt64, iDefaultValue, iMinValue, iMaxValue);
end;
PPS: Was macht es für einen Sinn einen Integer als Wert und einen Int64 als Default-Wert zu übergeben?