Delphi의 열거형(Enum)
선언 방법
type TMyColor = (mcRed, mcBlue, mcYellow = 5, mcBlack = mcBlue + mcYellow);
TMyColor
라는 이름의 열거 타입(Enumerated type)을 정의한다.
- 숫자 0부터 시작하는 Index type으로 참조하여 사용할 수 있다.
- 필요에 따라 index 값을 임의로 지정할 수 있다.
사용 예시
- Index type이므로, 아래와 같이 참조하여 사용할 수 있다.
var
eColor :TMyColor;
begin
eColor := TMyColor(1);
end;
Enum
타입을 사용할때는 case
문으로 간결하게 작성할 수 있다.
function getColorName(mcColor: TMyColor): string;
begin
case mcColor of
mcRed: Result := 'Red';
mcBlue: Result := 'Blue';
mcYellow: Result := 'Yellow';
mcBlack: Result := 'Black';
end;
end;
- 부분범위 조건문을 활용할 수도 있다.
if eColor in [mcRed..mcBlue] then
begin
...
...