{$mode objfpc}
{$M+}
uses typinfo;
type
TRoosters = (GoldenRooster, Junglefowl, FightingCock, Fjalarr, Gullinkambi, GallicRooster, You);
TTestPituh = class(TObject)
private
TestField: TRoosters;
published
property TestProp: TRoosters read TestField write TestField;
end;
function GetRoosterName(x: TRoosters): string;
Var
O : TTestPituh;
begin
O := TTestPituh.Create;
GetRoosterName := GetEnumName(GetPropInfo(O,'TestProp')^.PropType, Ord(x));
O.Destroy
end;
begin
Writeln(GetRoosterName(FightingCock))
end.
eyRtb2RlIG9iamZwY30KeyRNK30KCnVzZXMgdHlwaW5mbzsKCnR5cGUKICAgIFRSb29zdGVycyA9IChHb2xkZW5Sb29zdGVyLCBKdW5nbGVmb3dsLCBGaWdodGluZ0NvY2ssIEZqYWxhcnIsIEd1bGxpbmthbWJpLCBHYWxsaWNSb29zdGVyLCBZb3UpOwoKICAgIFRUZXN0UGl0dWggPSBjbGFzcyhUT2JqZWN0KQogICAgcHJpdmF0ZSAgCiAgICAgICAgVGVzdEZpZWxkOiBUUm9vc3RlcnM7CiAgICBwdWJsaXNoZWQKICAgICAgICBwcm9wZXJ0eSBUZXN0UHJvcDogVFJvb3N0ZXJzIHJlYWQgVGVzdEZpZWxkIHdyaXRlIFRlc3RGaWVsZDsKICAgIGVuZDsKCmZ1bmN0aW9uIEdldFJvb3N0ZXJOYW1lKHg6IFRSb29zdGVycyk6IHN0cmluZzsKICAgIFZhcgogICAgICAgIE8gOiBUVGVzdFBpdHVoOwogICAgYmVnaW4KICAgICAgICBPICA6PSBUVGVzdFBpdHVoLkNyZWF0ZTsKICAgICAgICBHZXRSb29zdGVyTmFtZSA6PSBHZXRFbnVtTmFtZShHZXRQcm9wSW5mbyhPLCdUZXN0UHJvcCcpXi5Qcm9wVHlwZSwgT3JkKHgpKTsKICAgICAgICBPLkRlc3Ryb3kKICAgIGVuZDsKCmJlZ2luCiAgICBXcml0ZWxuKEdldFJvb3N0ZXJOYW1lKEZpZ2h0aW5nQ29jaykpCmVuZC4=