星辰日月00

欲多则心散,心散则志衰,志衰则思不达也!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

子界:如果我们定义一个变量为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;
posted on 2012-04-18 11:57  星辰日月00  阅读(199)  评论(0编辑  收藏  举报