• Heute darf ich euch meinen Vocabtrainer präsentieren.
    Man kann Vokabellisten inklusive Eselsbrücken erstellen und sich diese nochmals anschauen. Vokabeltests gibts natürlich auch.
    Da ich selbst alle 2 Wochen etwa nen Vokabeltest in der Schule schreib, und dazu Unmengen an Vokabeln lernen muss (meistens am Tag davor,wenn ich um 18.00 heimkomm :)) erschien mir sowas ziemlich praktisch.
    Das Skript is noch nicht 100% fertig. Es sind noch kleinere Fehler bei den Vokabeltests(arraymäßig) und ein gescheites Design hab ich auch noch nicht gemacht. Edit: Eine gute Stelle für das Erscheinen der Eselsbrücken hab ich noch nicht gefunde.Hier die Source:

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_outfile=Vocabtrainer.exe
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <TreeViewConstants.au3>
    #include <WindowsConstants.au3>
    #include<comboconstants.au3>
    #include<array.au3>
    #include<guilistview.au3>
    #include<file.au3>
    Global $counter = 0

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

    Local $ar[14]

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

    #Region ### START Koda GUI section ### Form=

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

    $Form1_1 = GUICreate("Vocabtrainer", 756, 604, 185, 119)
    $TreeView1 = GUICtrlCreateTreeView(1, 1, 172, 601)
    $TreeView1_0 = GUICtrlCreateTreeViewItem("Vokabellisten", $TreeView1)
    $TreeView1_1 = GUICtrlCreateTreeViewItem("Sprachen", $TreeView1_0)
    $TreeView1_2 = GUICtrlCreateTreeViewItem("Englisch", $TreeView1_1)
    $TreeView1_3 = GUICtrlCreateTreeViewItem("Französisch", $TreeView1_1)
    $TreeView1_4 = GUICtrlCreateTreeViewItem("Latein", $TreeView1_1)
    $TreeView1_5 = GUICtrlCreateTreeViewItem("Italienisch", $TreeView1_1)
    $TreeView1_6 = GUICtrlCreateTreeViewItem("Spanisch", $TreeView1_1)
    $TreeView1_7 = GUICtrlCreateTreeViewItem("Neue Vokabelliste", $TreeView1)
    $ar[0] = GUICtrlCreateListView("Fremdwort|Übersetzung|Eselsbrücke u.a.", 173, 44, 567, 385)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 200)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 200)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 160)
    $ar[1] = GUICtrlCreateLabel(" Neue Vokabelliste", 173, 2, 232, 36)
    GUICtrlSetFont(-1, 20, 400, 0, "MS Sans Serif")
    $ar[2] = GUICtrlCreateInput("Fremdwort", 189, 468, 210, 21)
    $ar[3] = GUICtrlCreateInput("Input1", 391, 465, 1, 21)
    $ar[4] = GUICtrlCreateInput("Übersetzung", 401, 468, 189, 21)
    $ar[5] = GUICtrlCreateEdit("Tipp", 189, 496, 402, 67)
    GUICtrlSetLimit(-1, 100)
    GUICtrlSetData(-1, StringFormat("Eselsbrücke\r\n\r\n\r\n\r\n\r\n\r\n"))
    $ar[6] = GUICtrlCreateButton("Vokabel hinzufügen", 189, 565, 195, 27, $WS_GROUP)
    $ar[7] = GUICtrlCreateButton("Editor verlassen", 396, 565, 195, 27, $WS_GROUP)
    $ar[8] = GUICtrlCreateCombo("", 189, 441, 402, 25, $CBS_DROPDOWNLIST)
    GUICtrlSetData(-1, "Englisch|Französisch|Latein|Italienisch|Spanisch", 0)
    $ar[9] = GUICtrlCreateListView("Vokabellisten", 173, 44, 567, 385)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 560)
    $ar[12] = GUICtrlCreateLabel(" ", 173, 2, 232, 36)
    $ar[10] = GUICtrlCreateButton("Vokabeln noch mal anschauen", 180, 565, 195, 27, $WS_GROUP)
    $ar[11] = GUICtrlCreateButton("Vokabeltest", 396, 565, 195, 27, $WS_GROUP)
    For $a = 0 To 11
    GUICtrlSetState($ar[$a], $gui_hide)
    Next
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $ar[1]
    GUICtrlSetState($TreeView1, $gui_disable)

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

    Case $TreeView1_7
    _show()
    For $i = 9 To 12
    GUICtrlSetState($ar[$i], $gui_hide)
    Next
    GUICtrlSetState($TreeView1, $gui_disable)

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

    Case $TreeView1_0
    _hide()
    Case $TreeView1_1
    _hide()

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

    Case $TreeView1_2
    For $i = 9 To 12
    GUICtrlSetState($ar[$i], $gui_show)
    Next
    GUICtrlSetData($ar[12], "Englisch")
    GUICtrlSetFont($ar[12], 20, 400, 0, "MS Sans Serif")
    _hide()
    _GUICtrlListView_DeleteAllItems($ar[9])
    $set = _FileListToArray("F:\Autoit-Projekte\Vocabtrainer\Englisch")
    For $i = 1 To $set[0]
    GUICtrlCreateListViewItem($set[$i], $ar[9])
    Next
    $englisch = True
    $franzosisch = False
    $latein = False
    $italienisch = False
    $spanisch = False

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

    Case $TreeView1_3
    For $i = 9 To 12
    GUICtrlSetState($ar[$i], $gui_show)
    Next
    GUICtrlSetData($ar[12], "Französisch")
    GUICtrlSetFont($ar[12], 20, 400, 0, "MS Sans Serif")
    _hide()
    _GUICtrlListView_DeleteAllItems($ar[9])
    $set = _FileListToArray("F:\Autoit-Projekte\Vocabtrainer\Französisch")
    For $i = 1 To $set[0]
    GUICtrlCreateListViewItem($set[$i], $ar[9])
    Next
    $franzosisch = True
    $englisch = False
    $latein = False
    $italienisch = False
    $spanisch = False
    Case $TreeView1_4
    For $i = 9 To 12
    GUICtrlSetState($ar[$i], $gui_show)
    Next
    GUICtrlSetData($ar[12], "Latein")
    GUICtrlSetFont($ar[12], 20, 400, 0, "MS Sans Serif")
    _hide()
    _GUICtrlListView_DeleteAllItems($ar[9])
    $set = _FileListToArray("F:\Autoit-Projekte\Vocabtrainer\Latein")
    For $i = 1 To $set[0]
    GUICtrlCreateListViewItem($set[$i], $ar[9])
    Next
    $franzosisch = False
    $englisch = False
    $latein = True
    $italienisch = False
    $spanisch = False
    Case $TreeView1_5
    For $i = 9 To 12
    GUICtrlSetState($ar[$i], $gui_show)
    Next
    GUICtrlSetData($ar[12], "Italienisch")
    GUICtrlSetFont($ar[12], 20, 400, 0, "MS Sans Serif")
    _hide()
    _GUICtrlListView_DeleteAllItems($ar[9])
    $set = _FileListToArray("F:\Autoit-Projekte\Vocabtrainer\Italienisch")
    For $i = 1 To $set[0]
    GUICtrlCreateListViewItem($set[$i], $ar[9])
    Next
    $franzosisch = False
    $englisch = False
    $latein = False
    $italienisch = True
    $spanisch = False
    Case $TreeView1_6
    For $i = 9 To 12
    GUICtrlSetState($ar[$i], $gui_show)
    Next
    GUICtrlSetData($ar[12], "Spanisch")
    GUICtrlSetFont($ar[12], 20, 400, 0, "MS Sans Serif")
    _GUICtrlListView_DeleteAllItems($ar[9])
    _hide()
    $set = _FileListToArray("F:\Autoit-Projekte\Vocabtrainer\Spanisch")
    For $i = 1 To $set[0]
    GUICtrlCreateListViewItem($set[$i], $ar[9])
    Next
    $franzosisch = False
    $englisch = False
    $latein = False
    $italienisch = False
    $spanisch = True
    Case $ar[7]

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

    $items = _GUICtrlListView_GetItemCount($ar[0])
    For $items2 = 0 To $items
    $text = _GUICtrlListView_GetItemText($ar[0], $items2, 0)
    $text2 = _GUICtrlListView_GetItemText($ar[0], $items2, 1)
    $text3 = _GUICtrlListView_GetItemText($ar[0], $items2, 2)
    If GUICtrlRead($ar[8]) = "Englisch" Then
    IniWrite(@ScriptDir & "\Englisch\" & @MDAY & "." & @MON & "." & @YEAR & ".ini", $text, "Übersetzung", $text2)
    IniWrite(@ScriptDir & "\Englisch\" & @MDAY & "." & @MON & "." & @YEAR & ".ini", $text, "Eselsbrücke", $text3)
    ConsoleWrite(@ScriptDir)
    ElseIf GUICtrlRead($ar[8]) = "Französisch" Then
    IniWrite(@ScriptDir & "\Französisch\" & @MDAY & "." & @MON & "." & @YEAR & ".ini", $text, "Übersetzung", $text2)
    IniWrite(@ScriptDir & "\Französisch\" & @MDAY & "." & @MON & "." & @YEAR & ".ini", $text, "Eselsbrücke", $text3)
    ElseIf GUICtrlRead($ar[8]) = "Latein" Then
    IniWrite(@ScriptDir & "\Latein\" & @MDAY & "." & @MON & "." & @YEAR & ".ini", $text, "Übersetzung", $text2)
    IniWrite(@ScriptDir & "\Latein\" & @MDAY & "." & @MON & "." & @YEAR & ".ini", $text, "Eselsbrücke", $text3)
    ElseIf GUICtrlRead($ar[8]) = "Italienisch" Then
    IniWrite(@ScriptDir & "\Italienisch\" & @MDAY & "." & @MON & "." & @YEAR & ".ini", $text, "Übersetzung", $text2)
    IniWrite(@ScriptDir & "\Italienisch\" & @MDAY & "." & @MON & "." & @YEAR & ".ini", $text, "Eselsbrücke", $text3)
    ElseIf GUICtrlRead($ar[8]) = "Spanisch" Then
    IniWrite(@ScriptDir & "\Spanisch\" & @MDAY & "." & @MON & "." & @YEAR & ".ini", $text, "Übersetzung", $text2)
    IniWrite(@ScriptDir & "\Spanisch\" & @MDAY & "." & @MON & "." & @YEAR & ".ini", $text, "Eselsbrücke", $text3)
    EndIf
    Next
    _hide()
    _GUICtrlListView_DeleteAllItems($ar[0])
    GUICtrlSetState($TreeView1, $gui_enable)
    Case $ar[2]
    If GUICtrlRead($ar[2]) = "" Or GUICtrlRead($ar[2]) = "Fremdwort" Then MsgBox(0, "Fehler", "Ungültiger Eintrag")
    Case $ar[4]
    If GUICtrlRead($ar[4]) = "" Or GUICtrlRead($ar[4]) = "Übersetzung" Then MsgBox(0, "Fehler", "Ungültiger Eintrag")
    Case $ar[8]
    For $a = 0 To 7
    GUICtrlSetState($ar[$a], $gui_enable)
    Next
    GUICtrlSetState($ar[8], $gui_disable)
    Case $ar[6]
    GUICtrlCreateListViewItem(GUICtrlRead($ar[2]) & "|" & GUICtrlRead($ar[4]) & "|" & GUICtrlRead($ar[5]), $ar[0])
    Case $ar[10]
    $indicestext = _GUICtrlListView_GetItemTextString($ar[9], -1)
    Select
    Case $englisch = True

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

    $adresse = @ScriptDir & "\englisch\" & $indicestext
    $sectionnames = IniReadSectionNames($adresse)

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

    For $i = 1 to (_ArrayMax($sectionnames) - 1)
    MsgBox(0, "Vokabeln vom" & $indicestext, $sectionnames[$i] & "--" & IniRead($adresse, $sectionnames[$i], "Übersetzung", "") & @CRLF & IniRead($adresse, $sectionnames[$i], "Eselsbrücke", ""))
    Next
    Case $franzosisch = True

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

    $adresse = @ScriptDir & "\franzosisch\" & $indicestext
    $sectionnames = IniReadSectionNames($adresse)

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

    For $i = 1 to (_ArrayMax($sectionnames) - 1)
    MsgBox(0, "Vokabeln vom" & $indicestext, $sectionnames[$i] & "--" & IniRead($adresse, $sectionnames[$i], "Übersetzung", "") & @CRLF & IniRead($adresse, $sectionnames[$i], "Eselsbrücke", ""))
    Next
    Case $latein = True

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

    $adresse = @ScriptDir & "\latein\" & $indicestext
    $sectionnames = IniReadSectionNames($adresse)

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

    For $i = 1 to (_ArrayMax($sectionnames) - 1)
    MsgBox(0, "Vokabeln vom" & $indicestext, $sectionnames[$i] & "--" & IniRead($adresse, $sectionnames[$i], "Übersetzung", "") & @CRLF & IniRead($adresse, $sectionnames[$i], "Eselsbrücke", ""))
    Next
    Case $italienisch = True

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

    $adresse = @ScriptDir & "\italienisch\" & $indicestext
    $sectionnames = IniReadSectionNames($adresse)

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

    For $i = 1 to (_ArrayMax($sectionnames) - 1)
    MsgBox(0, "Vokabeln vom" & $indicestext, $sectionnames[$i] & "--" & IniRead($adresse, $sectionnames[$i], "Übersetzung", "") & @CRLF & IniRead($adresse, $sectionnames[$i], "Eselsbrücke", ""))
    Next
    Case $spanisch = True

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

    $adresse = @ScriptDir & "\spanisch\" & $indicestext
    $sectionnames = IniReadSectionNames($adresse)

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

    For $i = 1 to (_ArrayMax($sectionnames) - 1)
    MsgBox(0, "Vokabeln vom" & $indicestext, $sectionnames[$i] & "--" & IniRead($adresse, $sectionnames[$i], "Übersetzung", "") & @CRLF & IniRead($adresse, $sectionnames[$i], "Eselsbrücke", ""))
    Next
    EndSelect
    Case $ar[11]
    $indicestext = _GUICtrlListView_GetItemTextString($ar[9], -1)
    Select
    Case $englisch = True
    $adresse = @ScriptDir & "\englisch\" & $indicestext
    $sectionnames = IniReadSectionNames($adresse)
    If IsArray($sectionnames) Then
    For $i = 1 to ($sectionnames[0] - 1)

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

    $eingabe = InputBox("Vokabeltest" & $indicestext, "Bitte übersetze:" & $sectionnames[$i], "", " M", "", "", "", "", 18)
    If @error = 1 Then $counter -= 1
    If $eingabe = IniRead($adresse, $sectionnames[$i], "Übersetzung", "") Then
    $counter = $counter + 1

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

    Else
    Beep(500, 500)
    EndIf
    Next
    MsgBox(0, "Ergebnis", "Von" & $sectionnames[0] - 1 & " Worten hast du " & $counter & " richtig übersetzt")

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

    Else
    MsgBox(0, "Fehler", "Bitte wähle eine Vokabelliste")
    EndIf
    $counter = 0
    Case $franzosisch = True
    $adresse = @ScriptDir & "\französisch\" & $indicestext
    $sectionnames = IniReadSectionNames($adresse)
    If IsArray($sectionnames) Then

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

    For $i = 1 to ($sectionnames[0] - 1)

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

    If @error = 1 Then $counter -= 1
    $eingabe = InputBox("Vokabeltest" & $indicestext, "Bitte übersetze:" & $sectionnames[$i], "", " M", "", "", "", "", 18)
    If $eingabe = IniRead($adresse, $sectionnames[$i], "Übersetzung", "") Then
    $counter += 1
    Else
    Beep(500, 500)
    EndIf
    Next
    MsgBox(0, "Ergebnis", "Von" & $sectionnames[0] - 1 & " Worten hast du " & $counter & " richtig übersetzt")

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

    $counter = 0
    Else
    MsgBox(0, "Fehler", "Bitte wähle eine Vokabelliste")

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

    EndIf
    Case $latein = True
    $adresse = @ScriptDir & "\latein\" & $indicestext
    $sectionnames = IniReadSectionNames($adresse)
    If IsArray($sectionnames) Then

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

    For $i = 1 to ($sectionnames[0] - 1)
    If @error = 1 Then $counter -= 1
    $eingabe = InputBox("Vokabeltest" & $indicestext, "Bitte übersetze:" & $sectionnames[$i], "", " M", "", "", "", "", 18)
    If $eingabe = IniRead($adresse, $sectionnames[$i], "Übersetzung", "") Then
    $counter += 1
    Else
    Beep(500, 500)
    EndIf
    Next
    MsgBox(0, "Ergebnis", "Von" & $sectionnames[0] - 1 & "Worten hast du " & $counter & " richtig übersetzt")

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

    $counter = 0
    Else
    MsgBox(0, "Fehler", "Bitte wähle eine Vokabelliste")
    EndIf
    Case $spanisch = True
    $adresse = @ScriptDir & "\spanisch\" & $indicestext
    $sectionnames = IniReadSectionNames($adresse)
    If IsArray($sectionnames) Then
    For $i = 1 to ($sectionnames[0] - 1)

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

    If @error = 1 Then $counter -= 1
    $eingabe = InputBox("Vokabeltest" & $indicestext, "Bitte übersetze:" & $sectionnames[$i], "", " M", "", "", "", "", 18)
    If $eingabe = IniRead($adresse, $sectionnames[$i], "Übersetzung", "") Then
    $counter += 1
    Else
    Beep(500, 500)
    EndIf

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

    Next
    MsgBox(0, "Ergebnis", "Von " & $sectionnames[0] - 1 & " Worten hast du " & $counter & " richtig übersetzt")

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

    $counter = 0
    Else
    MsgBox(0, "Fehler", "Bitte wähle eine Vokabelliste")
    EndIf
    Case $italienisch = True
    $adresse = @ScriptDir & "\italienisch\" & $indicestext
    $sectionnames = IniReadSectionNames($adresse)
    If IsArray($sectionnames) Then

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

    For $i = 1 to ($sectionnames[0] - 1)
    If @error = 1 Then $counter -= 1
    $eingabe = InputBox("Vokabeltest" & $indicestext, "Bitte übersetze:" & $sectionnames[$i], "", " M", "", "", "", "", 18)
    If $eingabe = IniRead($adresse, $sectionnames[$i], "Übersetzung", "") Then
    $counter += 1
    Else
    Beep(500, 500)

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

    EndIf

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

    Next
    MsgBox(0, "Ergebnis", "Von" & $sectionnames[0] - 1 & " Worten hast du " & $counter & " richtig übersetzt")

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

    $counter = 0
    Else

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

    MsgBox(0, "Fehler", "Bitte wähle eine Vokabelliste")
    EndIf
    EndSelect
    EndSwitch
    WEnd

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

    Func _hide()
    For $a = 0 To 8
    GUICtrlSetState($ar[$a], $gui_hide)
    Next
    EndFunc ;==>_hide
    Func _show()
    For $a = 0 To 8
    GUICtrlSetState($ar[$a], $gui_show)
    Next
    For $a = 0 To 7
    GUICtrlSetState($ar[$a], $gui_disable)
    Next
    GUICtrlSetState($ar[8], $gui_enable)
    EndFunc ;==>_show

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


    Im Anhang ist das Programm mit der benötigten Ordnerstruktur.
    Edit:1 Funktioniert nun ziemlich gut. Eselsbrücken sind noch nicht eingebaut.
    Edit2: Omg, vergessen was zu ändern.

  • Script stürzt bei mir bei der Auswahl eines Faches ab - wohl ein Array nicht/unzureichend/mit falscher Größe/mit fehlender Abfrage deklariert?

    Hab leider erst gedacht falsch entpackt zu haben, deswegen oben gelöscht.

    Das Script stürzt ab, wenn ich davor keine Vokabelliste angelegt habe und dann ein Fach auswähle.
    Ansonsten macht das Script aber einen ganz guten Eindruck! :thumbup:

    Einmal editiert, zuletzt von stayawayknight (23. Januar 2011 um 21:07)

  • So:

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Outfile=Vocabtrainer.exe
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <TreeViewConstants.au3>
    #include <WindowsConstants.au3>
    #include<comboconstants.au3>
    #include<array.au3>
    #include<guilistview.au3>
    #include<file.au3>
    Global $counter = 0

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

    Local $ar[14]

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

    #Region ### START Koda GUI section ### Form=

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

    $Form1_1 = GUICreate("Vocabtrainer", 756, 604, 185, 119)
    $TreeView1 = GUICtrlCreateTreeView(1, 1, 172, 601)
    $TreeView1_0 = GUICtrlCreateTreeViewItem("Vokabellisten", $TreeView1)
    $TreeView1_1 = GUICtrlCreateTreeViewItem("Sprachen", $TreeView1_0)
    $TreeView1_2 = GUICtrlCreateTreeViewItem("Englisch", $TreeView1_1)
    $TreeView1_3 = GUICtrlCreateTreeViewItem("Französisch", $TreeView1_1)
    $TreeView1_4 = GUICtrlCreateTreeViewItem("Latein", $TreeView1_1)
    $TreeView1_5 = GUICtrlCreateTreeViewItem("Italienisch", $TreeView1_1)
    $TreeView1_6 = GUICtrlCreateTreeViewItem("Spanisch", $TreeView1_1)
    $TreeView1_7 = GUICtrlCreateTreeViewItem("Neue Vokabelliste", $TreeView1)
    $ar[0] = GUICtrlCreateListView("Fremdwort|Übersetzung|Eselsbrücke u.a.", 173, 44, 567, 385)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 200)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 200)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 160)
    $ar[1] = GUICtrlCreateLabel(" Neue Vokabelliste", 173, 2, 232, 36)
    GUICtrlSetFont(-1, 20, 400, 0, "MS Sans Serif")
    $ar[2] = GUICtrlCreateInput("Fremdwort", 189, 468, 210, 21)
    $ar[3] = GUICtrlCreateInput("Input1", 391, 465, 1, 21)
    $ar[4] = GUICtrlCreateInput("Übersetzung", 401, 468, 189, 21)
    $ar[5] = GUICtrlCreateEdit("Tipp", 189, 496, 402, 67)
    GUICtrlSetLimit(-1, 100)
    GUICtrlSetData(-1, StringFormat("Eselsbrücke\r\n\r\n\r\n\r\n\r\n\r\n"))
    $ar[6] = GUICtrlCreateButton("Vokabel hinzufügen", 189, 565, 195, 27, $WS_GROUP)
    $ar[7] = GUICtrlCreateButton("Editor verlassen", 396, 565, 195, 27, $WS_GROUP)
    $ar[8] = GUICtrlCreateCombo("", 189, 441, 402, 25, $CBS_DROPDOWNLIST)
    GUICtrlSetData(-1, "Englisch|Französisch|Latein|Italienisch|Spanisch", 0)
    $ar[9] = GUICtrlCreateListView("Vokabellisten", 173, 44, 567, 385)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 560)
    $ar[12] = GUICtrlCreateLabel(" ", 173, 2, 232, 36)
    $ar[10] = GUICtrlCreateButton("Vokabeln noch mal anschauen", 180, 565, 195, 27, $WS_GROUP)
    $ar[11] = GUICtrlCreateButton("Vokabeltest", 396, 565, 195, 27, $WS_GROUP)
    For $a = 0 To 11
    GUICtrlSetState($ar[$a], $gui_hide)
    Next
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $ar[1]
    GUICtrlSetState($TreeView1, $gui_disable)

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

    Case $TreeView1_7
    _show()
    For $i = 9 To 12
    GUICtrlSetState($ar[$i], $gui_hide)
    Next
    GUICtrlSetState($TreeView1, $gui_disable)

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

    Case $TreeView1_0
    _hide()
    Case $TreeView1_1
    _hide()

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

    Case $TreeView1_2
    For $i = 9 To 12
    GUICtrlSetState($ar[$i], $gui_show)
    Next
    GUICtrlSetData($ar[12], "Englisch")
    GUICtrlSetFont($ar[12], 20, 400, 0, "MS Sans Serif")
    _hide()
    _GUICtrlListView_DeleteAllItems($ar[9])
    $set = _FileListToArray("F:\Autoit-Projekte\Vocabtrainer\Englisch")
    For $i = 1 To $set[0]
    GUICtrlCreateListViewItem($set[$i], $ar[9])
    Next
    $englisch = True
    $franzosisch = False
    $latein = False
    $italienisch = False
    $spanisch = False

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

    Case $TreeView1_3
    For $i = 9 To 12
    GUICtrlSetState($ar[$i], $gui_show)
    Next
    GUICtrlSetData($ar[12], "Französisch")
    GUICtrlSetFont($ar[12], 20, 400, 0, "MS Sans Serif")
    _hide()
    _GUICtrlListView_DeleteAllItems($ar[9])
    $set = _FileListToArray("F:\Autoit-Projekte\Vocabtrainer\Französisch")
    For $i = 1 To $set[0]
    GUICtrlCreateListViewItem($set[$i], $ar[9])
    Next
    $franzosisch = True
    $englisch = False
    $latein = False
    $italienisch = False
    $spanisch = False
    Case $TreeView1_4
    For $i = 9 To 12
    GUICtrlSetState($ar[$i], $gui_show)
    Next
    GUICtrlSetData($ar[12], "Latein")
    GUICtrlSetFont($ar[12], 20, 400, 0, "MS Sans Serif")
    _hide()
    _GUICtrlListView_DeleteAllItems($ar[9])
    $set = _FileListToArray("F:\Autoit-Projekte\Vocabtrainer\Latein")
    For $i = 1 To $set[0]
    GUICtrlCreateListViewItem($set[$i], $ar[9])
    Next
    $franzosisch = False
    $englisch = False
    $latein = True
    $italienisch = False
    $spanisch = False
    Case $TreeView1_5
    For $i = 9 To 12
    GUICtrlSetState($ar[$i], $gui_show)
    Next
    GUICtrlSetData($ar[12], "Italienisch")
    GUICtrlSetFont($ar[12], 20, 400, 0, "MS Sans Serif")
    _hide()
    _GUICtrlListView_DeleteAllItems($ar[9])
    $set = _FileListToArray("F:\Autoit-Projekte\Vocabtrainer\Italienisch")
    For $i = 1 To $set[0]
    GUICtrlCreateListViewItem($set[$i], $ar[9])
    Next
    $franzosisch = False
    $englisch = False
    $latein = False
    $italienisch = True
    $spanisch = False
    Case $TreeView1_6
    For $i = 9 To 12
    GUICtrlSetState($ar[$i], $gui_show)
    Next
    GUICtrlSetData($ar[12], "Spanisch")
    GUICtrlSetFont($ar[12], 20, 400, 0, "MS Sans Serif")
    _GUICtrlListView_DeleteAllItems($ar[9])
    _hide()
    $set = _FileListToArray("F:\Autoit-Projekte\Vocabtrainer\Spanisch")
    For $i = 1 To $set[0]
    GUICtrlCreateListViewItem($set[$i], $ar[9])
    Next
    $franzosisch = False
    $englisch = False
    $latein = False
    $italienisch = False
    $spanisch = True
    Case $ar[7]

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

    $items = _GUICtrlListView_GetItemCount($ar[0])
    For $items2 = 0 To $items
    $text = _GUICtrlListView_GetItemText($ar[0], $items2, 0)
    $text2 = _GUICtrlListView_GetItemText($ar[0], $items2, 1)
    $text3 = _GUICtrlListView_GetItemText($ar[0], $items2, 2)
    If GUICtrlRead($ar[8]) = "Englisch" Then
    IniWrite(@ScriptDir & "\Englisch\" & @MDAY & "." & @MON & "." & @YEAR & ".ini", $text, "Übersetzung", $text2)
    IniWrite(@ScriptDir & "\Englisch\" & @MDAY & "." & @MON & "." & @YEAR & ".ini", $text, "Eselsbrücke", $text3)
    ConsoleWrite(@ScriptDir)
    ElseIf GUICtrlRead($ar[8]) = "Französisch" Then
    IniWrite(@ScriptDir & "\Französisch\" & @MDAY & "." & @MON & "." & @YEAR & ".ini", $text, "Übersetzung", $text2)
    IniWrite(@ScriptDir & "\Französisch\" & @MDAY & "." & @MON & "." & @YEAR & ".ini", $text, "Eselsbrücke", $text3)
    ElseIf GUICtrlRead($ar[8]) = "Latein" Then
    IniWrite(@ScriptDir & "\Latein\" & @MDAY & "." & @MON & "." & @YEAR & ".ini", $text, "Übersetzung", $text2)
    IniWrite(@ScriptDir & "\Latein\" & @MDAY & "." & @MON & "." & @YEAR & ".ini", $text, "Eselsbrücke", $text3)
    ElseIf GUICtrlRead($ar[8]) = "Italienisch" Then
    IniWrite(@ScriptDir & "\Italienisch\" & @MDAY & "." & @MON & "." & @YEAR & ".ini", $text, "Übersetzung", $text2)
    IniWrite(@ScriptDir & "\Italienisch\" & @MDAY & "." & @MON & "." & @YEAR & ".ini", $text, "Eselsbrücke", $text3)
    ElseIf GUICtrlRead($ar[8]) = "Spanisch" Then
    IniWrite(@ScriptDir & "\Spanisch\" & @MDAY & "." & @MON & "." & @YEAR & ".ini", $text, "Übersetzung", $text2)
    IniWrite(@ScriptDir & "\Spanisch\" & @MDAY & "." & @MON & "." & @YEAR & ".ini", $text, "Eselsbrücke", $text3)
    EndIf
    Next
    _hide()
    _GUICtrlListView_DeleteAllItems($ar[0])
    GUICtrlSetState($TreeView1, $gui_enable)
    Case $ar[2]
    If GUICtrlRead($ar[2]) = "" Or GUICtrlRead($ar[2]) = "Fremdwort" Then MsgBox(0, "Fehler", "Ungültiger Eintrag")
    Case $ar[4]
    If GUICtrlRead($ar[4]) = "" Or GUICtrlRead($ar[4]) = "Übersetzung" Then MsgBox(0, "Fehler", "Ungültiger Eintrag")
    Case $ar[8]
    For $a = 0 To 7
    GUICtrlSetState($ar[$a], $gui_enable)
    Next
    GUICtrlSetState($ar[8], $gui_disable)
    Case $ar[6]
    GUICtrlCreateListViewItem(GUICtrlRead($ar[2]) & "|" & GUICtrlRead($ar[4]) & "|" & GUICtrlRead($ar[5]), $ar[0])
    Case $ar[10]
    $indicestext = _GUICtrlListView_GetItemTextString($ar[9], -1)
    Select
    Case $englisch = True

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

    $adresse = @ScriptDir & "\englisch\" & $indicestext
    $sectionnames = IniReadSectionNames($adresse)

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

    For $i = 1 to (_ArrayMax($sectionnames) - 1)
    MsgBox(0, "Vokabeln vom" & $indicestext, $sectionnames[$i] & "--" & IniRead($adresse, $sectionnames[$i], "Übersetzung", "") & @CRLF & IniRead($adresse, $sectionnames[$i], "Eselsbrücke", ""))
    Next
    Case $franzosisch = True

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

    $adresse = @ScriptDir & "\franzosisch\" & $indicestext
    $sectionnames = IniReadSectionNames($adresse)

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

    For $i = 1 to (_ArrayMax($sectionnames) - 1)
    MsgBox(0, "Vokabeln vom" & $indicestext, $sectionnames[$i] & "--" & IniRead($adresse, $sectionnames[$i], "Übersetzung", "") & @CRLF & IniRead($adresse, $sectionnames[$i], "Eselsbrücke", ""))
    Next
    Case $latein = True

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

    $adresse = @ScriptDir & "\latein\" & $indicestext
    $sectionnames = IniReadSectionNames($adresse)

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

    For $i = 1 to (_ArrayMax($sectionnames) - 1)
    MsgBox(0, "Vokabeln vom" & $indicestext, $sectionnames[$i] & "--" & IniRead($adresse, $sectionnames[$i], "Übersetzung", "") & @CRLF & IniRead($adresse, $sectionnames[$i], "Eselsbrücke", ""))
    Next
    Case $italienisch = True

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

    $adresse = @ScriptDir & "\italienisch\" & $indicestext
    $sectionnames = IniReadSectionNames($adresse)

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

    For $i = 1 to (_ArrayMax($sectionnames) - 1)
    MsgBox(0, "Vokabeln vom" & $indicestext, $sectionnames[$i] & "--" & IniRead($adresse, $sectionnames[$i], "Übersetzung", "") & @CRLF & IniRead($adresse, $sectionnames[$i], "Eselsbrücke", ""))
    Next
    Case $spanisch = True

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

    $adresse = @ScriptDir & "\spanisch\" & $indicestext
    $sectionnames = IniReadSectionNames($adresse)

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

    For $i = 1 to (_ArrayMax($sectionnames) - 1)
    MsgBox(0, "Vokabeln vom" & $indicestext, $sectionnames[$i] & "--" & IniRead($adresse, $sectionnames[$i], "Übersetzung", "") & @CRLF & IniRead($adresse, $sectionnames[$i], "Eselsbrücke", ""))
    Next
    EndSelect
    Case $ar[11]
    $indicestext = _GUICtrlListView_GetItemTextString($ar[9], -1)
    Select
    Case $englisch = True
    $adresse = @ScriptDir & "\englisch\" & $indicestext
    $sectionnames = IniReadSectionNames($adresse)
    If IsArray($sectionnames) Then
    For $i = 1 to ($sectionnames[0] - 1)

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

    $eingabe = InputBox("Vokabeltest" & $indicestext, "Bitte übersetze:" & $sectionnames[$i], "", " M", "", "", "", "", 18)
    If @error = 1 Then $counter -= 1
    If $eingabe = IniRead($adresse, $sectionnames[$i], "Übersetzung", "") Then
    $counter = $counter + 1
    MsgBox(0, "", $counter)
    Else
    Beep(500, 500)
    EndIf
    Next
    MsgBox(0, "Ergebnis", "Von" & $sectionnames[0] - 1 & " Worten hast du " & $counter & " richtig übersetzt")

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

    Else
    MsgBox(0, "Fehler", "Bitte wähle eine Vokabelliste")
    EndIf
    $counter = 0
    Case $franzosisch = True
    $adresse = @ScriptDir & "\französisch\" & $indicestext
    $sectionnames = IniReadSectionNames($adresse)
    If IsArray($sectionnames) Then

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

    For $i = 1 to ($sectionnames[0] - 1)

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

    If @error = 1 Then $counter -= 1
    $eingabe = InputBox("Vokabeltest" & $indicestext, "Bitte übersetze:" & $sectionnames[$i], "", " M", "", "", "", "", 18)
    If $eingabe = IniRead($adresse, $sectionnames[$i], "Übersetzung", "") Then
    $counter += 1
    Else
    Beep(500, 500)
    EndIf
    Next
    MsgBox(0, "Ergebnis", "Von" & $sectionnames[0] - 1 & " Worten hast du " & $counter & " richtig übersetzt")

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

    $counter = 0
    Else
    MsgBox(0, "Fehler", "Bitte wähle eine Vokabelliste")

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

    EndIf
    Case $latein = True
    $adresse = @ScriptDir & "\latein\" & $indicestext
    $sectionnames = IniReadSectionNames($adresse)
    If IsArray($sectionnames) Then

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

    For $i = 1 to ($sectionnames[0] - 1)
    If @error = 1 Then $counter -= 1
    $eingabe = InputBox("Vokabeltest" & $indicestext, "Bitte übersetze:" & $sectionnames[$i], "", " M", "", "", "", "", 18)
    If $eingabe = IniRead($adresse, $sectionnames[$i], "Übersetzung", "") Then
    $counter += 1
    Else
    Beep(500, 500)
    EndIf
    Next
    MsgBox(0, "Ergebnis", "Von" & $sectionnames[0] - 1 & "Worten hast du " & $counter & " richtig übersetzt")

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

    $counter = 0
    Else
    MsgBox(0, "Fehler", "Bitte wähle eine Vokabelliste")
    EndIf
    Case $spanisch = True
    $adresse = @ScriptDir & "\spanisch\" & $indicestext
    $sectionnames = IniReadSectionNames($adresse)
    If IsArray($sectionnames) Then
    For $i = 1 to ($sectionnames[0] - 1)

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

    If @error = 1 Then $counter -= 1
    $eingabe = InputBox("Vokabeltest" & $indicestext, "Bitte übersetze:" & $sectionnames[$i], "", " M", "", "", "", "", 18)
    If $eingabe = IniRead($adresse, $sectionnames[$i], "Übersetzung", "") Then
    $counter += 1
    Else
    Beep(500, 500)
    EndIf

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

    Next
    MsgBox(0, "Ergebnis", "Von " & $sectionnames[0] - 1 & " Worten hast du " & $counter & " richtig übersetzt")

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

    $counter = 0
    Else
    MsgBox(0, "Fehler", "Bitte wähle eine Vokabelliste")
    EndIf
    Case $italienisch = True
    $adresse = @ScriptDir & "\italienisch\" & $indicestext
    $sectionnames = IniReadSectionNames($adresse)
    If IsArray($sectionnames) Then

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

    For $i = 1 to ($sectionnames[0] - 1)
    If @error = 1 Then $counter -= 1
    $eingabe = InputBox("Vokabeltest" & $indicestext, "Bitte übersetze:" & $sectionnames[$i], "", " M", "", "", "", "", 18)
    If $eingabe = IniRead($adresse, $sectionnames[$i], "Übersetzung", "") Then
    $counter += 1
    Else
    Beep(500, 500)

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

    EndIf

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

    Next
    MsgBox(0, "Ergebnis", "Von" & $sectionnames[0] - 1 & " Worten hast du " & $counter & " richtig übersetzt")

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

    $counter = 0
    Else

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

    MsgBox(0, "Fehler", "Bitte wähle eine Vokabelliste")
    EndIf
    EndSelect
    EndSwitch
    WEnd

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

    Func _hide()
    For $a = 0 To 8
    GUICtrlSetState($ar[$a], $gui_hide)
    Next
    EndFunc ;==>_hide
    Func _show()
    For $a = 0 To 8
    GUICtrlSetState($ar[$a], $gui_show)
    Next
    For $a = 0 To 7
    GUICtrlSetState($ar[$a], $gui_disable)
    Next
    GUICtrlSetState($ar[8], $gui_enable)
    EndFunc ;==>_show

    [/autoit]

    [align=center]Meine Werke mit der Irrlicht Engine
    AutoIt Picture Viewer Dreidimensionaler Bildbetrachter
    Mr Bubble 3D Neue Interpretation des Flashklassikers Bubble trouble