[Delphi] 列挙型の値を文字列に変換

TBrushStyleやTPenStyleなどの列挙型の値を文字列に変換するには次のように行う。

uses TypInfo;
function GetBrushStyleName(Value: TBrushStyle): String;
begin
    Result := GetEnumName(TypeInfo(TBrushStyle), Ord(Value));
end;

逆に文字列から値に変換するには次のようにする。

uses TypInfo;
function GetBrushStyleValue(Name: String): TBrushStyle;
begin
    Result := TBrushStyle(GetEnumValue(TypeInfo(TBrushStyle), Name));
end;

コメント (0件)


くろねこ研究所
http://www.blackcatlab.com/article.php/ProgramingFAQ_del0086