Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Object-Pascal / Delphi-Language (https://www.delphipraxis.net/35-library-object-pascal-delphi-language/)
-   -   Delphi Enumerationen zu Namen auflösen (https://www.delphipraxis.net/8428-enumerationen-zu-namen-aufloesen.html)

Phoenix 4. Sep 2003 14:37


Enumerationen zu Namen auflösen
 
Bekanntes Problem: Ich habe eine Enumeration, will aber zur Laufzeit vielleicht mit dem Namen arbeiten. Hier die Auflösung:

Delphi-Quellcode:
uses Typinfo;

function GetEnumNames: TStringList;
var
   si : SmallInt;
   str : String;
begin
   result := TStringList.Create;

   with result do
   begin
      Clear;

      for si := ord( low( TEnumeration ) ) to
                ord( high( TEnumeration ) ) do
      begin
         str := getEnumName( typeInfo( TEnumeration ), si );
         add(str);
      end;
   end;
end;
Zur Rückverwandlung in eine Enumeration nimmt man einfach den als TEnumeration gecasteten Index des gewünschten Elements aus der Stringliste.

[edit=Luckie]Code-Tags durch Delphi-Tags ersetzt. Mfg, Luckie[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz