
implementation Uses TypInfo; procedure TForm3.FormCreate(Sender: TObject); //定义枚举类型 type TDayOfWeek=(Monday,Tuesday,Wednesday,Thursday,FriDay,Saturday,Sunday); var s: string; aWeek:TDayOfWeek; begin ShowMessage('枚举字符串:' + GetEnumName(TypeInfo(TDayOfWeek), 0) ); ShowMessage('枚举字符串:' + GetEnumName(TypeInfo(TDayOfWeek),Ord(Monday))); aWeek:=Monday; ShowMessage('枚举字符串:' + GetEnumName(TypeInfo(TDayOfWeek),Ord(aWeek))); end;

GetEnumName(TypeInfo( System.TTypeKind), ord( pMethod.ReturnType.TypeKind));
遍历枚举
对于枚举类型,Low 返回枚举的第一个值,而 High 返回枚举的最后一个值。你可以使用这两个函数来遍历枚举的所有值。
type
TMyEnum = (Value1, Value2, Value3);
var
enumValue: TMyEnum;
begin
for enumValue := Low(TMyEnum) to High(TMyEnum) do
begin
// 在这里处理枚举值 enumValue
WriteLn(GetEnumName(TypeInfo(TMyEnum), Integer(enumValue)));
end;
end;
在这个例子中,enumValue 将依次取 TMyEnum 类型的 Value1、Value2 和 Value3 这三个值。
浙公网安备 33010602011771号