Datenabfrage einer INI-Datei

  • Hallo!
    schreibe grad an einem Programm in welchem ich über verschiedene GUI`s variable Daten in eine INI-Datei schreibe. Bis hierhin klappts auch gut. Nun kann es aber sein, dass einzelne GUI`s nicht vollständig ausgefüllt werden. Dazu müßte ich im Nachhinein mir wieder die Daten von der INI-Datei in die GUI laden um sie dann zu komplettieren. Wie bekomme ich so eine Abfrage hin, wenn es sich um mehrere angefangene Projekte handelt? Gibt es hierfür Beispielscripte und wonach kann ich da suchen?
    Vielen Dank schon mal!
    matzemax

    Einmal editiert, zuletzt von matzemax (29. Oktober 2012 um 10:11)

  • Lege einfach für jedes Projekt eine seperate ini an. Dann kannst einfach die passende Ini zum Projekt auslesen.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Schreib dir doch einfach eine Abfragefunktion.

    Beispiel einer Abfragefunktion


    Diesen Code verwende ich, um in einem Programm die Namen der Buttons zu ändern, ohne dass ich dafür in den Quelltext muss. Die Daten stehen in einer INI. als Beispiel:

    Code
    [Daten für Buttons]
    bereich1 =2|Renate|Einkaufen
    bereich2 =5|helga|heidi|dagmar|günther|Peter

    Mit der folgenden Funktion

    [autoit]

    Global $tempfile = "pfad zur INI"
    Func daten_buttons($daten_to_check, $datenpart = 1)
    $splittext = IniRead($tempfile,"Daten für Buttons",$daten_to_check, 0)
    If $splittext <> "0" Then
    $datencomplett = StringSplit($splittext,"|")
    Return $datencomplett[$datenpart]
    Else
    Return 0
    EndIf
    EndFunc

    [/autoit]

    kann man dann ganz einfach die Daten ermitteln, die man braucht.
    Beispiel:

    [autoit]

    daten_buttons("bereich1"); gibt 2 zurück, in meinem Fall werden dann, durch eine andere Funktion, 2 Buttons für den Bereich 1 erstellt
    daten_buttons("bereich2"); gibt 5 zurück, der mir dann 5 Buttons im 2. Bereich erstellt

    [/autoit] [autoit][/autoit] [autoit]

    GuiCtrlCreateButton(daten_buttons("bereich2",2), .... ); würde dann einen Button erstellen mit Namen Renate

    [/autoit]

    Das wäre dann ganz leicht in der INI änderbar


    Fühl dich frei und dazu ermuntert dieses Beispiel für deine Zwecke abzuändern :D