您的位置:首页 > 其它

枚举类型的定义和应用

2014-12-16 20:19 162 查看
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操作

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.枚举类型变量只能进行赋值运算和关系运算,不能进行算术运算和逻辑运算。

//合法性:
week := Sunday;
if week=Sunday then write('rest');
//不合法的:
Sunday := 1; //错把枚举值当成变量名;
days := blue; //枚举值blue不属于枚举变量weekday的值域;
read(color); //枚举类型变量 不能用读语句进行赋值;
write(week); writeln(blue);//不能通过写语句输出枚举类型的变量值和枚举值。

4.枚举类型应用:

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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: