タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

delphiとenumに関するbenokのブックマーク (3)

  • 列挙型と列挙子名(文字列)または整数の相互変換(ジェネリックス版)

  • 列挙型と列挙子名(文字列)の相互変換(ジェネリックス版)

    とりあえず Embarcadero RAD Studio/Delphi/C++Builder 関係のあれやこれや。コードのハイライトは現在行われていません。 ずいぶん前に列挙型の値と列挙子の名前を相互変換する方法について取り上げましたが、これを関数化しようとすると結局のところ必要な列挙型すべてについて個別に実装の必要がありました。ところがLynaたんさん(talesさん)のジェネリクスを使って少しだけ手軽に列挙型の値を文字列に変換する。 - 全力わはーではDelphi 2009の新機能のジェネリックスを利用することでこれを単一の実装で実現しています。ということでLynaたんさんが提示した手法で列挙型と列挙子名の相互変換を関数化してみました(単なるパクリですいません)。ここではクラスではなく高度なレコード型を使用します。またジェネリックスを使いますので当然のことながらDelphi 2009以

  • ジェネリクスを使って少しだけ手軽に列挙型の値を文字列に変換する。 - Swanman's Horizon

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

    ジェネリクスを使って少しだけ手軽に列挙型の値を文字列に変換する。 - Swanman's Horizon
  • 1