如delphi定义
const aaaa=1;或集合type   TFilter   =   set   of(AApps,AAudios,AVideos,AImages,ATexts);或者枚举type   MY_ENUM=(yes,no); 怎么获取字符串aaaa,或AApps或yes??希望得到一个较通用的方法。谢谢

解决方案 »

  1.   

    给一个枚举类型的
    GetEnumName(TypeInfo(TFilter), Ord(AApps))
      

  2.   

    亮子,TFilter 不是枚举类型,应该 换成var
      pt:PTypeInfo;
    begin
      pt := TypeInfo(MY_ENUM);
      ShowMessage(GetEnumName(pt, Ord(yes)));
    end;
      

  3.   

    uses typinfo;function GetEnumName(TypeInfo: PTypeInfo; Value: Integer): string;
    function GetEnumValue(TypeInfo: PTypeInfo; const Name: string): Integer;
      

  4.   

    至于集合,可以用RTTI机制,参考下面7楼的代码,但要将集合作为一个published属性才行
    http://topic.csdn.net/t/20011108/15/360887.html