For-Next-Problem

  • Arbeite an einem Vokabeltrainer, Random wurde schon gelöst, aber das Einschreiben in eine .ini macht Probleme:

    [autoit]

    Func _new()
    $put = InputBox("Vokabel","Bitte die Vokabel in Deutsch eingeben")
    $put2 = InputBox("Vokabel","Übersetzung")
    $vokread = IniReadSectionNames("Vok.ini")
    If @error Then
    IniWrite("Vok.ini","Vok","Vok",$put & "/" & $put2)
    Else
    For $i =1 To $vokread[0]
    IniWrite("Vok.ini","Vok","Vok"&$i+1,$put & "/" & $put2)
    Next
    EndIf
    EndFunc

    [/autoit]

    Es soll bei jedem neuen Eintrag 1 zu Vok addieren.
    Klappt nur leider nicht so wie ich es mir gedacht hatte...

    Einmal editiert, zuletzt von mipez (27. August 2010 um 19:33)

  • ah jetz fällt mir auf :D
    auserdem wie soll er auch die vok2 neu reinschreiben wenn du nur put und put2 reinschreibst
    und nicht vokread
    hoffentlich war das verständlich :D

    edit
    ne warte du hast da Inireadsectionnames
    das heist er liest die namen der sections aus
    und da es nur eine section gibt
    wird er das immer ersetzen

  • Dein Problem ist, dass du die Anzahl der Sektionen ausliest, anstatt die Anzahl der Werte.

    Spoiler anzeigen
    [autoit]

    Func _new()
    $put = InputBox("Vokabel","Bitte die Vokabel in Deutsch eingeben")
    $put2 = InputBox("Vokabel","Übersetzung")
    $vokread = IniReadSection("Vok.ini", "Vok")
    If @error Then
    IniWrite("Vok.ini","Vok","Vok",$put & "/" & $put2)
    Else
    For $i = 1 To $vokread[0][0]
    IniWrite("Vok.ini","Vok","Vok" & $i+1, $put & "/" & $put2)
    Next
    EndIf
    EndFunc

    [/autoit]


    So klappts

    Meine Projekte:
    ClipBoard Manager (beendet)
    Gutes ClipBoard Verwaltungs Programm mit nützlichen Funktionen.

    HTML Creator (beendet)
    Nützliches Tool um schnell ein eigenes HTML Dokument zu erstellen.

  • Hallo mipez,

    wenn du deine INI so umstellst:

    Code
    [Vok]
    Brot=bred
    Leben=live
    Wasser=water

    hast du es insgeamt keichter:

    [autoit]

    Global $Frage, $Antwort

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

    _new()
    For $j = 1 To 100
    _randomTest()
    Next

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

    Func _randomTest()
    $aVok = IniReadSection("Vok.ini", "Vok")
    $i = Random(1, $aVok[0][0], 1)
    ConsoleWrite($i & @TAB)
    $Frage = $aVok[$i][0]
    ConsoleWrite($Frage & @TAB)
    $Antwort = $aVok[$i][1]
    ConsoleWrite($Antwort & @CRLF)
    EndFunc ;==>_randomTest

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

    Func _new()
    $Frage = InputBox("Vokabel", "Bitte die Vokabel in Deutsch eingeben")
    $Antwort = InputBox("Vokabel", "Übersetzung")
    IniWrite("Vok.ini", "Vok", $Frage, $Antwort)
    EndFunc ;==>_new

    [/autoit]