ホーム >プログラム >Delphi 6 ローテクTips >数値の範囲制限
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 に張り付き)

つまり範囲外の数値は下限か上限に張り付いた値を返すということです。
リストの範囲外エラーを防ぐのによく使います。