Ich arbeite mittlerweile sehr viel mit Enums. Die sind einfach wesentlich komfortabler als Arrays. Man kann z.B. auf MeinEnum.MeinWert zugreifen als auf MeinArray[0]. Ließt sich wesentlich einfacher und außerdem bin ich an keine feste Reihenfolge der Enum-Werte gebunden.
Mit folgender Funktion wandle ich einen Enum in einen String um:
Delphi-Quellcode:
class function TEnumFunctions.EnumGetNameString(const aEnumVal: TIniProgramSettings_Sections): string;
var
bVal: Byte;
begin
Move(aEnumVal, bVal, SizeOf(TIniProgramSettings_Sections));
Result := GetEnumName(TypeInfo(TIniProgramSettings_Sections), bVal);
end;
Davon habe ich mittlerweile acht Funktionen.
Ist es irgendwie möglich nur eine einzige Funktion für alle Enums zu haben statt für jeden Enum-Typen eine?