사용할 Enum Type을 만듭니다.
type
TMyType = (mtType1, mtType2, mtType3);
TMyType의 Helper를 만들어줍니다.
type
TMyTypeHelper = record Helper for TMyType
function ToIndex: Integer; inline;
function ToName: string;
end;
implementation
{ TMyTypeHelper }
function TMyTypeHelper.ToIndex: Integer;
begin
Result := Integer(Self);
end;
function TMyTypeHelper.ToName: string;
const
arrMyType: array[TMyType] of string = ('타입1', '타입2', '타입3');
begin
case Self of
mtType1: Result := '타입1';
mtType2: Result := '타입2';
mtType3: Result := '타입3';
end;
//또는 열거형의 index가 순차적일 경우
Result := arrMyType[Self];
end;
사용법
var
MyType: TMyType;
begin
MyType := mtType1;
ShowMessage(MyType.ToName);
ShowMessage(TMyType.mtType2.ToName);
ShowMessage(MyType.ToIndex.ToString);
end;
반응형