Hallo werte Community,
ich bitte euch um Hilfe bzw. Unterstützung, da ich leider nicht mehr weiter komme. Vielleicht ist es auch einfach gar nicht möglich, belehrt mich doch bitte eines Besseren .
Problemstellung:
Ich möchte aus einer Standard-INI-Datei die bspw. wie folgt aufgebaut ist (Achtung nur ein Beispiel)...
[Sektion1]
Obstsorte1=Apfel
Obstsorte2=Birne
Augenfarbe=Grau
[Sektion2]
Key1=Value1
Key2=Value2
Schlüssel1=Wert1
Schlüssel2=Wert2
... flexibel den Key- oder eben den Valuenamen als Variable erzeugen lassen (dynamisch eben). Hintergrund ist der, dass ich nicht für jeden einzelnen Eintrag etwa folgendes Konstrukt nutzen möchte, um den Variablennamen genauso zu benennen (bis auf das "$s" als Prefix) wie es in der INI als Key entsprechend steht.
[autoit]
Local $sObstsorte1 = IniRead( 'Beispiel.ini', 'Sektion1', 'Obstsorte1', '' )
Local $sObstsorte2 = IniRead( 'Beispiel.ini', 'Sektion1', 'Obstsorte2', '' )
Local $sAugenfarbe = IniRead( 'Beispiel.ini', 'Sektion1', 'Augenfarbe', '' )
...
Mir ist bewusst, dass ich mit IniReadSection die kompellte Sektion in ein 2D Array einlesen kann und damit hätte ich auch die Werte, die ich bräuchte um die Values dann entsprechend im Programm sinnvoll zu nutzen. Mir kommt es aber auf gut lesbaren Code (CCD) an (da weitere Personen die Implementierung verstehen und upgraden müssen). Wodurch ich gern die sprechenden (dynamischen) Variablennamen nutzen würde, anstatt der Array-Konstruktion.
Hier nochmals deutlicher:
; bevorzugt hätte ich gern folgende Variablen dynamisch deklariert und gesetzt (aus der INI heraus zur Laufzeit)
Local $sObstsorte1
Local $sObstsorte2
...
; anstatt mit IniReadSection so was nutzen zu müssen
Local $aSektion1[1][1]
Local $aSektion1[2][1]
...
; evtl. sollte es dynamisch so angelegt sein, dass ich via For-Schleife bspw. die INI durchgehen kann und so die dynamischen Variablen; erzeugen kann, dessen Inhalt (auch aus der INI, als Value eben) ebenfalls bereits den dynamischen Variablen zugewiesen wird
[/autoit]Nun vielleicht nur noch der Hinweis, dass ich mich mit Assign, Eval und Execute dazu beschäftigt habe, aber leider keinen Erfolg damit erzielen konnte. Ich bitte euch mir Tipps zu geben oder einfach eure Einschätzung ob es überhaupt machbar ist. Falls ich detailierter oder auf einen anderen Weg mein Problem bzw. Wunsch beschreiben soll, dann sagt bitte einfach Bescheid, Danke.
Vielen Dank für etwaige Unterstützung (Ideen, Verbesserungsvorschläge, Kritik und Zustimmung).
Einen angenehmen Tag noch!
UserIsGrateful 【ツ】