Einzelnen Beitrag anzeigen

Ares

Registriert seit: 5. Dez 2002
269 Beiträge
 
#1

Zugriff auf Variablen/Constanten über deren Namen

  Alt 7. Nov 2007, 11:55
Hallo!

In einer Unit gib es eine große Menge von String-Konstanten die ich gerne in einer anderen Unit verwenden würde. Der Zugriff auf die soll aber nicht direkt erfolgen, sondern über eine Getter-Funktion:

Delphi-Quellcode:
Unit A;

const
  EINE_KONSTANTE = 'abc';
  NOCHEINE_KONSTANTE = '123';
  ...

  function GetConstant(Name: string): String
  begin
    result := ''; // Default Rückgabe
    if (Name='EINE_KONSTANTE') then result := EINE_KONSTANTE;
    if (Name='NOCHEINE_KONSTANTE') then result := NOCHEINE_KONSTANTE;
    ...
  end;
Nun habe sind es aber wirklich sehr viele Konstanten und die Funktion GetConstant müsste für jede Konstante eine eigene If-Abfrage enthalten. Das ist natürlich nicht sehr elegant.

Gibt es also eine Möglichkeit mit dem String-Wert 'EINE_KONSTANTE' direkt den Inhalt der gleichnamigen Konstante zur erhalten? Die funktion würde dann quasi so aussehen:

Delphi-Quellcode:
  function GetConstant(Name: string): String
  begin
    if (EsGibtKonstanteMitFolgendemNamen(Name)=false) then result := ''
      else result := WertDerKonstanteMitFolgendemNamen(Name);
  end;
Geht sowas?

Besten Dank
Ares
  Mit Zitat antworten Zitat