본문 바로가기

카테고리 없음

델파이(Delphi)에서열거형(Enum Type)을 문자열로 표현하는 방법

델파이에서 다음과 같은 Enum Type이 있는 경우

//
Type
  TMyFavoriteColor = (fclBlack, fclWhite, fclYellow, fclRed, fclBlue);
//

 

배열상수를 선언하여 문자열로 치환하는 방법

//
const
  ArrMyFavoriteColor : Array[TMyFavoriteColor] = ('검정', '흰색', '노랑', '빨강', '파랑');

var
   myColor : TMyFavoriteColor;
begin
   myColor := fcBlue;
   ShowMessage(ArrMyFavoriteColor[myColor]);
end;
//

Type Helper를 이용하는 방법

//
type
    TMyFavoriteColorHelper = record helper for TMyFavoriteColor
      function ToString: string; inline;
    end;

function TMyFavoriteColorHelper.ToString : String;
begin
	result := ArrMyFavoriteColor[self];
{	
	or
	
	case self of
	  fclBlack : result := '검정';
	  fclWhite : result := '흰색';
	  fclYellow: result := '노랑';
	  fclRed   : result := '빨강';
	  fclBlue  : result := '파랑';
	end;
}	
end;


var
   myColor : TMyFavoriteColor;
begin
   myColor := fcRed;
   ShowMessage(myColor.ToString());
end;
//