![]() |
Enum zu String: eine Funktion für mehrere Enums?
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:
Davon habe ich mittlerweile acht Funktionen.
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; Ist es irgendwie möglich nur eine einzige Funktion für alle Enums zu haben statt für jeden Enum-Typen eine? |
AW: Enum zu String: eine Funktion für mehrere Enums?
System.Rtti.TRttiEnumerationType.GetName
|
AW: Enum zu String: eine Funktion für mehrere Enums?
Zitat:
Fehlt doch irgendein Wort. Zitat:
|
AW: Enum zu String: eine Funktion für mehrere Enums?
Zitat:
Ich habe schon 8 dieser Funktionen, selbstverständlich mit Overload. Aber mein Ziel ist es nur eine einzige Funktion zu haben der ich jegliche Enums übergeben kann. Zitat:
Delphi-Quellcode:
// uses Generics.Collections, System.Rtti
class function TEnumFunctions.Test<T {: enum} >(AValue: T): string; begin Result := System.Rtti.TRttiEnumerationType.GetName(AValue); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz