delphi中遍历枚举类型的方法

刚好碰到 ,顺便试了下,有需要的朋友可以看看。

uses TypInfo;

type 

 

TOrderType = (otFN,otGR,otSZ);

var

    pi:PTypeInfo;

    i:Integer; ot:TOrderType; s:String;

begin
    pi:=  TypeInfo(TOrderType);
    with GetTypeData(pi)^ do
    begin
      for i := MinValue to MaxValue do
      begin
        s :=   GetEnumName(pi,i);
        case TOrderType(GetEnumValue(pi,s)) of
          otFN : ShowMessage('otFN');
          otGR: ShowMessage('otGR');
          otSZ: ShowMessage('otSZ');
        end;
      end;
    end;

end;
posted @ 2008-09-13 23:11  ypq  阅读(11715)  评论(1编辑  收藏  举报