function gfniNumLimit(iNum: Integer; iMin, iMax: Integer): Integer;
//数値の範囲制限
var
li_Tmp: Integer;
begin
if (iMin = iMax)
then begin
Result := iMin;
end else begin
if (iNum < iMin)
then begin
Result := iMin;
end else if (iNum > iMax)
then begin
Result := iMax;
end else begin
Result := iNum;
end;
end;
end;
gfniNumLimit(テストする値, 下限値, 上限値)
戻り値は、
下限値〜上限値までならテストする値をそのまま。
下限値を下回る場合は下限値。
上限値を上回る場合は上限値。
iNum := gfniNumLimit(-1, 0, 3); //iNum は 0 (0 未満なので下限の 0 に張り付き)
iNum := gfniNumLimit( 2, 0, 3); //iNum は 2
iNum := gfniNumLimit( 4, 0, 3); //iNum は 3 (3 より大きいので上限の 3 に張り付き)
つまり範囲外の数値は下限か上限に張り付いた値を返すということです。
リストの範囲外エラーを防ぐのによく使います。