Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
Delphi 2010 Professional
|
Re: Integer-Aufzählungstyp deklarieren
24. Apr 2007, 13:43
Hallo,
noch ein Vorschlag:
Delphi-Quellcode:
// uses TypInfo
type
TMyType = (vNAN, v1, v5, v48, v1337, v4711);
function IntToMyType (aValue: Integer): TMyType;
begin
aValue := GetEnumValue(TypeInfo(TMyType), 'v' + IntToStr(aValue));
if (aValue >= 0) then
Result := TMyType(aValue)
else
Result := vNAN;
end;
function MyTypeToInt (aValue: TMyType): Integer;
var
s : string;
begin
s := GetEnumName(TypeInfo(TMyType), Ord(aValue));
Result := StrToIntDef(Copy(s, 2, MaxInt), -1);
end;
// Anwendung
var
myValue : TMyType;
intValue : Integer;
begin
myValue := IntToMyType(48);
myValue := IntToMyType(100);
intValue := MyTypeToInt(v1337);
intValue := MyTypeToInt(vNAN);
end;
Es sollte aber klar sein, daß solche Operationen eine Laufzeitverschlechterung mit sich bringen.
Gruß Hawkeye
|
|
Zitat
|