delphi 枚举类型可以运用到那些方面 怎么使用 列如 type af=(c,v,h)

2025-01-31 14:07:21
推荐回答(1个)
回答1:

就个人的经验,枚举类型通常用于辅助记忆(或是将字符型转换成数字型)来使用的。


比如说,最常见的使用是星期的名称,如下示例代码:


type weekday=(sun,mon,tue,wed,thu,fri,sat);


则 0 为星期日,1为星期一,依次类推。


在 delphi 中 case 语句的分支条件不能使用字符串,其中一个解决的技巧,就是可以借用枚举来进行,示例代码:


// uses TypInfo; // 记得引用这个单元
// type TMyStrSel = (Beijing, Tianjing, Shanghai, Chongqing);
// 注意,上面这个定义不能放在某个函数内部哦,那样的话,它就没有运行类信息了
// var strSel: TMyStrSel;

str := 'Chongqing';
strSel := TMyStrSel(GetEnumValue(TypeInfo(TMyStrSel), str));
case strSel of
  Beijing: ShowMessage('First');
  Tianjing: ShowMessage('Second');
  Shanghai: ShowMessage('Third');
  Chongqing: ShowMessage('Forth');
    else ShowMessage('Other');
end;