子界:如果我们定义一个变量为integer型,那么它的取值范围一般为-32768~32767。而事实上,每个程序中所用的变量的值都有一个确定的范围。 例如,人的年龄一般为1到120岁,一年中的月数为1到12月,一月中的天数为1到31天等等。
如果能在程序中对所用的变量的值域作具体规定,就便于检查出那些不合法的数据,这就能更好地保证程序运行的正确性且在一定程度上节省内存空间。
//定义 type Ten = 1..10; OverHundred = 100..1000; Uppercase = 'A'..'Z'; //TMonth = Jan..Dec; -------------------------------------------------------------------------------- //应用 var UppLetter: UpperCase; begin UppLetter := 'F'; -------------------------------------------------------------------------------- //判断是否属于子界范围 var i: Integer; begin i := 1; if i in [0..10] then ShowMessage('i 大于0、小于10'); end; -------------------------------------------------------------------------------- //根据枚举定义子界 type TColors = (Red,Blue,Green,Yellow,Orange,Purple,White,Black); TMyColors = Blue..Yellow; var MyColor: TMyColors; begin MyColor := Blue; ShowMessage(IntToStr(Ord(MyColor))); //1 end; -------------------------------------------------------------------------------- //遍历子界 var character: 'a' .. 'z'; s: string; begin for character in [Low(character) .. High(character)] do begin s := s + character; end; ShowMessage(s); //abcdefghijklmnopqrstuvwxyz end;