我知道如何将枚举类型转换为整数。
type TMyType = (mtFirst,mtSecond,mtThird); var ordValue:integer; enumValue:TMyType; ... ordValue:= Ord(mtSecond); // result is 1
但是如何进行逆运算并将整数转换为枚举类型?
解决方法
正如肯回答,你只是投了。但是要确保您具有正确的价值,您可以使用以下代码:
if (ordValue >= Ord(Low(TMyType))) and (ordValue <= Ord(High(TMyType))) then enunValue := TMyType(ordValue) else raise Exception.Create('ordValue out of TMyType range');