Einzelnen Beitrag anzeigen

Puhbaehr
(Gast)

n/a Beiträge
 
#10

Re: Variable innerhalb einer anderen

  Alt 29. Jul 2005, 15:40
Hallo Forum-User
ich beschäftige mich auch, zumindest denke ich das, mit dem gleichen Problem. Deshalb werde ich mal an dieses Thema anknüpfen. Ich möchte sicher gehen, dass das was ich vorhab wirklich so nicht geht.

Und zwar:
Ich habe einen record:

Delphi-Quellcode:
type
  TKonfiguration = record
    Startdatei : string;
    RouterIP : string;
    Startzeit : integer;
   end;
Dazu habe ich eine Datei aus der Einstellungen für das Programm gelesen werden.
Diese Einstellungen haben einen Namen und einen Wert:

Delphi-Quellcode:
# So könnte die Datei aussehen:

Startdatei = irgendeine.exe
RouterIP = 192.168.1.1
Startzeit = 60
Die Namen und Werte werden ausgelesen.
Leerzeichen, '=' und andere Dinge entfernt bzw. bearbeitet.
Am Ende wird das ganze in temporäre Variablen geschrieben was vereinfacht dargestellt so aussieht:

Delphi-Quellcode:
...
var
  Name, Wert : String;
...
 begin
...
  Name := 'Startdatei';
  Wert := 'irgendeine.exe';
...
 end;
...
Nebenbei: Das ganze befindet sich in einer Schleife und darin wird jede Zeile einzeln abgearbeitet.
Und nun möchte ich, dass die Werte den Namen in dem record zugewiesen werden.
Das habe ich nun so gelöst:

Delphi-Quellcode:
if Name = 'Startdateithen
 begin
  Konfiguration.Startdatei := Wert;
 end;
if Name = 'RouterIPthen
 begin
  Konfiguration.RouterIP := Wert;
 end;
if Name = 'Startzeitthen
 begin
  Konfiguration.Startzeit := Wert;
 end;
Die Namen werden nun am Ende jeder Schleife ausgewertet und der Wert in dem Record gespeichert.
Nun habe ich hier das große Problem, dass sobald ich die Namen für einen Wert ändere, z.B. wenn ich aus 'RouterIP' 'Gateway' machen möchte, obige Anweisungen doppelt ändern muss.
Zweites Problem habe ich, wenn ich mehrere Einstellungen in der Datei habe, habe ich entsprechend viele Anweisungen zu schreiben. Das zerrt natürlich an der Geschwindigkeit.

Nun meine Frage: Wie schaffe ich es, dass der Inhalt der Variable als Bezeichner hinter dem '.' bei Konfiguration benutzt wird?
Ich versuche es mal bildlich darzustellen:

      Konfiguration."Name" := Wert; In PHP gibt es hier die Möglichkeit das in einem Array zu speichern.
So würde das in PHP aussehen:

      Konfiguration[Name] := Wert; Für 'Name' würde nun der Wert welcher in der Variablen steht eingesetzt werden.

Wie setze ich das in Delphi um?

Muha, und bitte erschlagt mich nicht wenn ich manche Dinge nicht beim richtigen Namen genannt hab

sondern korrigiert mich
  Mit Zitat antworten Zitat