1. 함수설명
함수 | 내용 |
Typeinfo | 열거형의 형정보(TypeInfo)에 대한 포인터 반환 |
GetEnumName | 열거형의 각 멤버를 문자열로 반환 |
GetEnumValue | |
Ord | |
Pred | |
Succ | |
Dec | |
Inc | |
Low |
2. 예제 소스
type
TDatabaseType
= (dbtMSSQL, dbtOracle, dbtCUBRID, dbtSybase, dbtNone);
TDatabaseSet = set of TDatabaseType;
const
StrDatabaseNames : array[TDatabaseType] of String
= ('MSSQL', 'Oracle', 'CUBRID', 'Sybase', 'None');
procedure TEnumForm.btnClick(Sender: TObject);
var
DatabaseType : TDatabaseType;
begin
// GetEnumValue : String to Enum
DatabaseType := TDatabaseType(GetEnumValue(TypeInfo(TDatabaseType), 'dbtOracle'));
// GetEnumName : Enum to String
ShowMessage(GetEnumName(TypeInfo(TDatabaseType), Ord(DatabaseType))); // dbtOracle
// Ord
ShowMessage(IntToStr(Ord(dbtOracle))); //
// Dec
Dec(DatabaseType);
ShowMessage(GetEnumName(TypeInfo(TDatabaseType), Ord(DatabaseType))); // dbtMSSQL
// Inc
Inc(DatabaseType);
ShowMessage(GetEnumName(TypeInfo(TDatabaseType), Ord(DatabaseType))); // dbtOracle
// Low, High / Loop
for DatabaseType := Low(TDatabaseType) to High(TDatabaseType) do
ShowMessage(GetEnumName(TypeInfo(TDatabaseType), Ord(DatabaseType)));
end;
// Delphi Set배열
uses
TypInfo;
procedure TEnumForm.btnClick(Sender: TObject);
var
i : TDBObjectType;
begin
for i in UniSQLObjectSet[DBVer_CUBRID] do begin
Memo.Lines.Add('i=' + GetEnumName ( TypeInfo ( TDBObjectType ), Ord(i) ) );
end;
end;
반응형
'IT > 델파이' 카테고리의 다른 글
안드로이드 앱 배포 (0) | 2023.02.12 |
---|---|
인디(Indy)를 이용한 Unicode 문자열의 안전한 전송 (0) | 2023.02.12 |
날짜 연산 정리 (DateUtils.pas) (0) | 2023.02.09 |
TListView에서 마우스가 클릭한 위치의 Item과 Cell Column을 인지하는 방법 (0) | 2023.02.08 |
delphi 정규표현식(Regular Expression) 정리 표 (0) | 2023.02.08 |