これとは関係ないネタを書いてたんだけど、全然まとまりそうにないのでわりとどうでもいいネタでお茶を濁す。 列挙型を文字列に 例えば列挙型の値をiniファイルなどに保存したい場合、Ordで整数値を取り出す、Integerでキャストする、という選択肢のほかに、列挙型をそのまま文字列化するという方法があります。 古くからあるRTTIを利用する方法で、コードとしてはこんな感じのものです。 S := GetEnumName(TypeInfo(TAlign), Integer(alTop)); // S => 'alTop' 型名が必要なんですって この方法は型名を書かなくてはいけないだけでなく、RTTIを取り出すためのTypeInfoやIntegerによるキャストも毎回毎回書かなくてはならず、結構面倒です。 (個人的にはそこまで面倒だと思ったことはないですが、ここは面倒という方向でひとつ…) そこで、