Problem mit IniWrite

  • Hallo,

    es ist warscheinlich ziemlich einfach, jedoch komme ich nicht drauf.
    woltle für mein kleines program eine ini-datei schreiben in der alle ergebnisse gespeichert sind die es errechnet, so das man bei einem späteren starten diese nocheinmal sehen kann.

    jedoch verhält nich IniWrite so das es immer den "key" überschreibt (was ja irgendwie auch logisch ist)
    ich möchte aber das er fortlaufend schreibt "Ergebnis1=x", "Ergebnis2=y", "Ergebnis3=z"....

    mein versuch:

    [autoit]

    IniWrite("log.ini", "Alle Werte", "Ergebnis", $ergebnis)

    [/autoit]

    hab auch schon sowas versucht:

    [autoit]

    For $a = 1 To 1000 Step 1
    IniWrite("log.ini", "Wertnummern", "Nummer", 1)
    Next

    [/autoit]

    und wollte dann auslesen wie oft schon ein ergebnis ermittelt wurde um letztendlich weiter zählen zu können
    ich komm einfach nicht auf die richtige lösung

    wäre schön wenn mir wer weiterhelfen könnte..

    lg Andi

  • [autoit]

    $a_ergebnis[3]
    for $i=0 to 2
    $a_ergebnis[$i]=Random(1, 10)
    next

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

    For $i=0 To 2
    IniWrite(@ScriptDir &"\log.ini", "Wertnummern", "Nummer"&$i, $a_ergebnis[$i])
    Next

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

    ShellExecute(@ScriptDir &"\log.ini")

    [/autoit]


    So ca?

  • Hintereinander kannst du auch nix schreiben, wenn dann untereinander. Wie soll denn die Ini aussehen?

  • hallo,

    entschuldigung, ich meinte das es die daten natürlich untereinander schreiben soll.

    sollte dann so aussehen:

    [Werte]
    Nummer0=24
    Nummer1=15
    Nummer2=98
    Nummer3=58
    Nummer4=77

    usw

    bekomm es bisher nur hin das entweder nur ein wert drin steht und dieser ständig überschrieben wird
    oder zB 100 werte drin stehn alle den selben letzten wert und werden immer alle ersetzt
    oder das nur der erste wert definiert ist bei allen anderen nur Nummer2 3 4 usw steht aber kein wert beim nächsten durchlauf des programms wird wieder nur der erste wert ersetzt :(

  • Mein Skript gesehen?


    hallo nuts

    habe dein script gestestet und es macht mir zufallszahlen in den ersten 3 zeilen
    ich jedoch möchte nur eine zahl reinschreiben und war eine zahl die in der variable $ergebnis liegt und die von meinem script ausgerechnet wurde

    beim nächsten durchlauf des programms soll wiederum nur die zahl der variable $ergebnis in die nächste zeile geschrieben werden

    bei filewrite ist es ja ganz einfach daten anzuhängen
    ich möchte nur das die ini immer weiter nach unten die erzielten werte anhängt

  • Aso da musst man wohl etwas tricksen.

    [autoit]

    dim $ergebnis
    dim $areadini=IniReadSection(@ScriptDir &"\log.ini", "Wertnummern")

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

    IniWrite(@ScriptDir &"\log.ini", "Wertnummern", "Ergebnis"&$areadini[0][0]+1, $ergebnis )

    [/autoit]
  • vielen dank nuts!
    das hab ich gesucht.

    hier das script das ich noch ein wenig für mich angepasst hab =)

    [autoit]

    If Not FileExists(@ScriptDir & "\log.ini") Then
    IniWrite(@ScriptDir & "\log.ini", "Wertenummern", "Ergebnis1", $ergebnis)
    Else
    $ini = IniReadSection(@ScriptDir & "\log.ini", "Wertenummern")
    IniWrite(@ScriptDir & "\log.ini", "Wertenummern", "Ergebnis" & $ini[0][0]+1, $ergebnis)
    EndIf

    [/autoit]