タイトルの通りなのですが、上限下限の値を設定した型を宣言をするにはどのようにすればいいのでしょうか?
例えば、-1 〜 255までの整数を代入でき、その範囲外の数字の場合は
EOverflowやEUnderflow等のエラーを投げるようにしたいのですが・・・
整数型ではなくクラスとして作った方がいいのでしょうか?
よろしくお願いします。
var
aNumber : -1..255; // 部分範囲型変数
begin
{$R+}
aNumber := 255;
Inc(aNumber);
Edit1.Text := IntToStr(aNumber);
{$R-}
部分範囲型変数を定義しておいて、範囲チェックのオプションを有効にすると、
部分範囲型変数への代入が範囲内にあるかどうか検査され、もし範囲外ならば
ERangeError 例外が生成されます。
こういう方法でやるのですね。
部分範囲でヘルプにも載ってるのに、全く気付きませんでした。
type
TMyNumber = -1..255;
という方法で型としても定義できることを確認いたしました。
すばやい解答を本当にありがとうございました。
ツイート | ![]() |