次の部分範囲列挙宣言は機能しますが、
type
TReceiptCode = 'A'..'F';
これはしません:
type
TReceiptCode = ' ','A'..'F', 'R';
そうでもない
type
TReceiptCode = ' ','A','B','C','D','E','F','R';
連続しない値を持つ部分範囲型を宣言するにはどうすればよいですか?
残念ながら、それを行う方法はないと思います。(新しい)非連続列挙、または既存の型のサブ範囲を宣言できますが、両方を宣言することはできません。
代わりにセットを使用できますか?
TSomeCharSet= Set of Char;
SomeChars: TSomeCharSet = [' ','A','B','C','D','E','F','R'];
おばあちゃんと卵の状況かもしれませんが、あなたがその時何を使っているのかわかりません:) ...
あとは、Setまたは配列を制限「範囲」として使用してTNonContigousCharRangeを自分で作成し、範囲外の場合は例外を発生させるか、SetReceiptCodeプロシージャを使用して同様のことを行うだけです。