枚舉類型的定義和應用

1.枚舉類型定義:函數

 

TYPE
  days     = (Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday);  //枚舉類型,屬於順序類型,序號從0開始
  colors   =(red,yellow,blue,green,black);                               //能夠同時多個枚舉類型定義
  //下面定義方法是錯誤的
  days_e1  =('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');   //錯誤:枚舉類型元素只能是標識符;
  days_e2  =(1,2,3,4,5,6,7);  //錯誤:枚舉類型元素只能是標識符;
  colors_e1=(red,yellow,white)//錯誤:枚舉類型中元素不能和其餘的元素相同;

 

2.類型類型能夠用 順數函數ord,pred,succ,low,high操做spa

var
  week  : days;
  color : colors;
  temp :Variant;
begin
//  temp:=Ord(Monday);       //返回 1
//  temp:=Pred(Tuesday);     //返回 1
//  temp:=Pred(Sunday);      //返回 255
//  temp:=Succ(Tuesday);     //返回 3
//  temp:=Succ(saturday);    //返回 7
//  temp:=Low(week);         //返回 0
//  temp:=High(week);        //返回 6

  ShowMessage(temp);
end;

 

 3.枚舉類型變量只能進行賦值運算和關係運算,不能進行算術運算和邏輯運算。rest

//合法性:
  week := Sunday;
  if week=Sunday then write('rest');
//不合法的:
  Sunday := 1;           //錯把枚舉值當成變量名;
  days   := blue;       //枚舉值blue不屬於枚舉變量weekday的值域;
  read(color);           //枚舉類型變量 不能用讀語句進行賦值;
  write(week); writeln(blue);//不能經過寫語句輸出枚舉類型的變量值和枚舉值。

 

4.枚舉類型應用:code

  temp:=StrToInt(Edit1.Text);
  case temp of
    0:week:=Sunday;
    1:week:=Monday;
    2:week:=Tuesday;
    3:week:=Wednesday;
    4:week:=Thursday;
    5:week:=Friday;
    6:week:=Saturday;
  end;
相關文章
相關標籤/搜索