Suche Helfer für ein "AutoIt Kinderpaket" - Jeder ist herzlichst eingeladen!

  • hab leider im mom keine zeit, aber was ich immer vermisst habe für die schule, war ein karteikasten..

    das wäre doch auch eine idee. wenn man die richtige antwort zu der frage eingibt, wird das kärtchen zu den erfüllten aufgaben verschoben und falls nicht, wird sie wiederholt..

    grüsse

  • @GIANI Das wäre aber nicht leicht und dauert lang denn mann müsste mit for und next die fragen stellen und abfragen und die datei mit den vokabeln spliten und rausbekommen wie viele es sind also zeilen für das for ....

  • So, dann stell ich mal den Programmcode von meinem besagten Programm zu Verfügung.
    Wie gesagt, ganz fertig ist es nicht.
    Ich persönlich habe mir noch folgendes vorgenommen:
    - Jede Frage kommt nur einmal dran bis man alle Fragen mal hatte
    - Informationen einblenden zu den Fragen (z.B. Anzahl insgesamt, die wie vielte Frage)
    - mehrere INIs als Themenbereiche einlesen und diese mit Hilfe eines zweiten Tabs auswählen können.

    Wer Zeit hat, könnte auch hier weiterarbeiten ^^

  • Hey ganz nett Elodie =] Würde vllt noch die Punkte/Fehler anzeigen lassen!
    Finde auch die Idee ganz witzig und werde mich vllt auch mal später dran machn, wenn noch was fehlt!

  • Ich hab mal eine ganz simple Oberfläche für ein Rechenprogramm geschrieben. :)
    Das wäre nur einmal ein Grundgerüst und könnte noch mit Bildern und anderen Sachen verschönert werden.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    Opt("GUIOnEventMode", 1)

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

    Global $Addition[5]
    Global $Subtraktion[5]
    Global $Multiplikation[5]
    Global $Division[5]

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

    #Region ### START MainGUI section ###
    $Rechenprogramm = GUICreate("Rechenprogramm", 350, 470, -1, -1)
    GUISetBkColor(0x800080, $Rechenprogramm)
    GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents")

    $Willkommen = GUICtrlCreateLabel("Willkommen", 50, 20, 250, 50, $SS_CENTER)
    GUICtrlSetFont($Willkommen, 32, 400, 0, "Arial")

    $Waehle = GUICtrlCreateLabel("Wähle bitte ein Verfahren aus", 50, 80, 250, 25, $SS_CENTER)
    GUICtrlSetFont($Waehle, 14, 400, 0, "Arial")

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

    $Auswahl = GUICtrlCreateGroup("", 25, 125, 300, 330)
    $Addition[0] = GUICtrlCreateLabel("Addition", 50, 165, 250, 50, $SS_CENTER)
    GUICtrlSetFont($Addition[0], 30, 400, 0, "Arial")
    GUICtrlSetCursor($Addition[0], 0)
    $Addition[1] = GUICtrlCreateLabel("", 50, 165, 250, 2)
    GUICtrlSetBkColor($Addition[1], 0x000000)
    $Addition[2] = GUICtrlCreateLabel("", 50, 165, 2, 50)
    GUICtrlSetBkColor($Addition[2], 0x000000)
    $Addition[3] = GUICtrlCreateLabel("", 50, 213, 250, 2)
    GUICtrlSetBkColor($Addition[3], 0x000000)
    $Addition[4] = GUICtrlCreateLabel("",298, 165, 2, 50)
    GUICtrlSetBkColor($Addition[4], 0x000000)

    $Subtraktion[0] = GUICtrlCreateLabel("Subtraktion", 50, 235, 250, 50, $SS_CENTER)
    GUICtrlSetFont($Subtraktion[0], 30, 400, 0, "Arial")
    GUICtrlSetCursor($Subtraktion[0], 0)
    $Subtraktion[1] = GUICtrlCreateLabel("", 50, 235, 250, 2)
    GUICtrlSetBkColor($Subtraktion[1], 0x000000)
    $Subtraktion[2] = GUICtrlCreateLabel("", 50, 235, 2, 50)
    GUICtrlSetBkColor($Subtraktion[2], 0x000000)
    $Subtraktion[3] = GUICtrlCreateLabel("", 50, 283, 250, 2)
    GUICtrlSetBkColor($Subtraktion[3], 0x000000)
    $Subtraktion[4] = GUICtrlCreateLabel("",298, 235, 2, 50)
    GUICtrlSetBkColor($Subtraktion[4], 0x000000)

    $Multiplikation[0] = GUICtrlCreateLabel("Multiplikation", 50, 305, 250, 50, $SS_CENTER)
    GUICtrlSetFont($Multiplikation[0], 30, 400, 0, "Arial")
    GUICtrlSetCursor($Multiplikation[0], 0)
    $Multiplikation[1] = GUICtrlCreateLabel("", 50, 305, 250, 2)
    GUICtrlSetBkColor($Multiplikation[1], 0x000000)
    $Multiplikation[2] = GUICtrlCreateLabel("", 50, 305, 2, 50)
    GUICtrlSetBkColor($Multiplikation[2], 0x000000)
    $Multiplikation[3] = GUICtrlCreateLabel("", 50, 353, 250, 2)
    GUICtrlSetBkColor($Multiplikation[3], 0x000000)
    $Multiplikation[4] = GUICtrlCreateLabel("",298, 305, 2, 50)
    GUICtrlSetBkColor($Multiplikation[4], 0x000000)

    $Division[0] = GUICtrlCreateLabel("Division", 50, 375, 250, 50, $SS_CENTER)
    GUICtrlSetFont($Division[0], 30, 400, 0, "Arial")
    GUICtrlSetCursor($Division[0], 0)
    $Division[1] = GUICtrlCreateLabel("", 50, 375, 250, 2)
    GUICtrlSetBkColor($Division[1], 0x000000)
    $Division[2] = GUICtrlCreateLabel("", 50, 375, 2, 50)
    GUICtrlSetBkColor($Division[2], 0x000000)
    $Division[3] = GUICtrlCreateLabel("", 50, 423, 250, 2)
    GUICtrlSetBkColor($Division[3], 0x000000)
    $Division[4] = GUICtrlCreateLabel("",298, 375, 2, 50)
    GUICtrlSetBkColor($Division[4], 0x000000)

    GUICtrlCreateGroup("", -99, -99, 1, 1)

    GUISetState(@SW_SHOW)
    #EndRegion ### END MainGUI section ###

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

    While 1
    _mouseover($Rechenprogramm, $Addition[0], 50, 192, 250, 50)
    _mouseover($Rechenprogramm, $Subtraktion[0], 50, 262, 250, 50)
    _mouseover($Rechenprogramm, $Multiplikation[0], 50, 332, 250, 50)
    _mouseover($Rechenprogramm, $Division[0], 50, 402, 250, 50)
    Sleep(100)
    WEnd

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

    Func SpecialEvents()
    Select
    Case @GUI_CtrlId = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    EndFunc

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

    Func _mouseover($hWin, $hLabel, $x, $y, $w, $h)
    $aMousePos = MouseGetPos()
    $aWinPos = WinGetPos(WinGetTitle($hWin))
    IF $aMousePos[0] > $aWinPos[0]+$x AND $aMousePos[0] < $aWinPos[0]+$x+$w AND $aMousePos[1] > $aWinPos[1]+$y AND $aMousePos[1] < $aWinPos[1]+$y+$h Then
    GUICtrlSetColor($hLabel, 0xFFFFFF)
    Else
    GUICtrlSetColor($hLabel, 0x000000)
    EndIf
    EndFunc

    [/autoit]
    Zitat

    [Heute, 11:39] Raupi: Soll ich es dir machen?
    [Heute, 11:47] BugFix: "Soll ich es dir machen? " - also Raupi !! bitte nicht so öffentlich :rofl:

    Zitat

    [Heute, 11:51] BugFix: und ich werde es mir jetzt machen - das Mittagessen :P

    AMsg UDF v1.00.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%
    OwnStyle UDF Version 1.10.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%

  • Ich habe eine Schwester in der ersten und würde das Letris machen natürlich nicht genauso ich kenne es ja nicht aber ein schreiblern programm wirds es wird aber ein paar wochen dauern so 4 Wochen da ich wenig zeit habe

  • Also mein großer kam 'fast' sofort mit Lettris klar, er geht noch nichtmal zur Schule :D :D :D
    Nur eins würde ich anders machen, und zwar das man besser erkennen sollte in welcher Spalte man sich gerade befindet.

    ...Ach hätte ich nur mehr Zeit...

  • Zitat von ChaosKeks

    Würde vllt noch die Punkte/Fehler anzeigen lassen

    Nun, das Programm ist eigentlich zum Auswendiglernen schwierigerer Fragen, bei denen man eher eine eigene Antwort schreibt und dann mit der korrekten Antwort vergleichen kann ^^
    Daher ist das Textfeld für die eigene Antwort auch so groß ^^

    Beispiel für Mathematik, da könnte das dann so aussehen:
    Frage: Was ist eine Strahlensatzfigur?
    Antwort: Zwei Strecken mit gleichem Anfangspunkt, die von zwei Parallelen geschnitten werden.
    Antwort2: Zwei Strecken mit einem Scheitel, die von zwei Parallelen geschnitten werden.

    Aber man könnte ja programmieren, dass man selbst im Programm einstellen kann, ob das nun korrekte oder eigene Antworten sein sollen ;)

  • Ich weiß nicht wie das mit so jungen Computerexperten ist, aber vieleicht könnte man einen Mous-click counter machen, beidem die Kinder sich dann anzeigen lassen können, wie oft sie beim "spielen" die "linke" Maustaste gedrückt haben...

  • Also an einem Mathe-Lernprogramm arbeite ich ja gerade.
    Bis jetzt gehen die Funktionen:
    - Plus
    - Minus
    - Mal
    - Geteilt
    einwandfrei.

    Ein Punktesystem geibt es auch schon und man kann auch schon zwischen 4 Schwirigkeitsstufen wählen.
    Will aber noch andere Aufgaben dazu machen, wie z.B. Fläschenberechnung in form von Textaufgaben,
    andere normale textaufgaben, Volumenberechnung u.s.w.

    Wird also noch etwas dauern bis es fertig ist.

  • Commander21:
    Das ist doch Lobenswert =D

    Danke ^^
    Den Code hasste ja schon, sind aber ein paar kleinere Bugs drin.

    Im Moment bin ich dabei eine Art Arbeitsblatt zu machen.
    Dort werden dann normale Gleichungen, Textaufgaben, Ist X < o. > als Y u.s.w.

    Achja, falls euch noch Textaufgaben einfallen, nur her damit.
    Bis jetz hab ich für jede der 4 Stufen leider nur 5, mir fällt auch so langsam nix mehr ein ^^

    Hier mal ein Beispiel: ( sind in .ini gespeichert )

    Spoiler anzeigen


    [Leicht]
    1=Peter will Äpfel kaufen. Er hat 2 Euro. Wieviel Äpfel kann Peter Kaufen, wenn jeder Apfel 0,25 Euro kostet?|8

    [Mittel]
    J1=ürgen steht um 6 Uhr auf. Er geht um 8 Uhr zur Arbeit und kommt um 17 Uhr wieder zurück. Wie viele Stunden hat Jürgen gearbeitet?|9

    [Schwer]
    1=Franks vater ist 3 mal so alt wie Franks Bruder. Seine Schwester ist 32 Jahre Jünger als der Vater. Sein Bruder ist 18 Jahre alt. Frank ist halb so alt wie seine Schwester. Wie alt ist Frank?|11

    [Profi]
    1=Frank gräbt ein Loch für einen Baum.Es hat einem Durchmesser von 1 Meter. Rund um das Loch legt er ein Blumenbeet an. Es hat einen Durchmesser von 3,8 Metern. Wie groß ist die Fläsche des Blumenbeetes in m²?|10,5504

  • Hmm, zu den Spielen: soll man da eventuell TicTacToe hinzufügen, vllt mit schönerer GUI? Das wäre dann etwas, um das logische Denken zu fördern. :P Eventuell dazu noch ein paar einfachere KI-Stufen oder so, damit der Anfang nicht so schwer ist.

  • A propo Spiele, ich kenne noch ein Strategiespiel, welches wir auch schon in Mathematik gespielt haben.

    Dieses Spiel heißt [Agers], weiß nur nicht so genau, wie man es schreibt :S
    Also, es hat ein vier mal vier Spielfeld.

    Ziel:
    Wie bei Tic-tac-toe: Vier in einer Reihe (Diagonal, waagrecht oder senkrecht)

    Zu den Symbolen:
    Man setzt keine Kreuze oder Kreise sondern Eier. Man kann ganze Eier, halb kaputte und ganz kaputte Eier setzen.
    Man kann auch bei seinem eigenen Spielzug Eier kaputt machen:
    Ganze Eier kann man halb oder ganz kaputt; halbe Eier ganz kaputt machen.
    Die Eier vom Gegenspieler kann man auch kaputt machen.

    Strategie
    Es gibt eine ganz einfache Strategie, die sich theoretisch (wahrscheinlich einfach) programmieren lässt.
    Strategie, für alle, die es nicht selbst herausbekommen wollen:

    Spoiler anzeigen


    Bei der Strategie im vier mal vier feld muss der Gegenspieler anfangen.
    Man muss jeden Zug des Spielers punktsymmetrisch spiegeln. Am Ende muss man dann aufpassen, da der Gegner dann ganz automatisch 3 gleiche in eine Reihe setzt (oder eher setzen muss) und man somit gewinnt :D

    Es macht meiner Meinung nach sehr viel Spaß, fördert das logische Denken und einen Bereich der Mathematik ^^

    Einmal editiert, zuletzt von Elodie (17. Juni 2009 um 22:06)

  • Ach ja, hab mal bissl gegooglet ( blödes wort ^^ ) Und dabei diese Seite gefunden:
    http://www.iconarchive.com/
    Da bekommt man nen haufen Icons her.

    Hab die AGB net gelesen, denke aber mal, dass man sie bedenkenlos in eigene Programme machen darf ^^

  • Ich bin praktisch eben erst (also vor mehreren Stunden) über dieses Thema gestolpert, als ich mal wieder hier im Forum unterwegs war. Da ich dieses Projekt für sehr sinnvoll halte und gesehen habe, dass zu einem Vokabeltrainer noch gar nichts kam, dachte ich mir, ich könnte ja mal mein Glück versuchen. Er ist soweit lauffähig, hat aber natürlich noch ein paar Probleme, wenn zum Beispiel weniger als 2 Vokabeln vorhanden sind. Ich hoffe, dass er größtenteils selbsterklärend ist, ansonsten einfach nachfragen ;) Die Vokabeldatenbank läuft im Moment über ein Ini-File. Ob das auf lange Sicht die beste Methode ist, weiss ich nicht, da man zum Beispiel einfach nachgucken kann, was nochmal diese verfluchte Vokabel hiess ;D

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Array.au3>
    Opt("GUIOnEventMode", 1)
    $Vok = IniReadSection("Vokabeln.ini", "Voks")
    If @error Then
    IniWrite("Vokabeln.ini", "Voks", "ego", "Ich|Nomen|1|4")
    IniWrite("Vokabeln.ini", "Voks", "sedere", "sitzen|sedeo, sedi, sessum|1|4")
    Msgbox(0, "Datenbank wurde angelegt!", "Da noch keine Vokabeldatenbak vorhanden war, wurde eine angelegt." & @CRLF & "Bitte erneut starten.")
    Exit
    EndIf
    Dim $voks[$Vok[0][0] + 1][5]
    Dim $n_pri[5]
    For $i = 1 To $Vok[0][0]
    $bed = StringSplit($Vok[$i][1], "|")
    $voks[$i][0] = $Vok[$i][0]
    $voks[$i][1] = $bed[1]
    $voks[$i][2] = $bed[2]
    $voks[$i][3] = $bed[3]
    $voks[$i][4] = $bed[4]
    Next
    Global $n_ask = IniRead("Vokabeln.ini", "Stats", "Asked", ""), $n_kno = IniRead("Vokabeln.ini", "Stats", "Known", ""), $n_wro = IniRead("Vokabeln.ini", "Stats", "Wrong", ""), $n_per, $n_Vok = 0, $NextOrCheck
    $w_Main = GUICreate("AutoTrain", 457, 255)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    $l_ask = GUICtrlCreateLabel("Vokabel:", 80, 5, 130, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $l_ans = GUICtrlCreateLabel("Bedeutung:", 80, 50, 130, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $l_add = GUICtrlCreateLabel("Anmerkungen:", 80, 95, 130, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $i_ask = GUICtrlCreateInput("", 80, 30, 220, 20)
    $i_uni = GUICtrlCreateInput("", 300, 30, 30, 20)
    $i_ans = GUICtrlCreateInput("", 80, 75, 250, 20)
    $e_add = GUICtrlCreateEdit("", 80, 120, 250, 85)
    $b_check = GUICtrlCreateButton("Nächste/ Check", 5, 30, 70, 40, BitOR($GUI_SS_DEFAULT_BUTTON, $BS_MULTILINE, $BS_CENTER))
    GUICtrlSetOnEvent(-1, "_Check")
    $b_new = GUICtrlCreateButton("Vokabel lernen", 5, 75, 70, 40, BitOR($GUI_SS_DEFAULT_BUTTON, $BS_MULTILINE))
    GUICtrlSetOnEvent(-1, "_New")
    $b_del = GUICtrlCreateButton("Vokabel löschen", 5, 120, 70, 40, BitOR($GUI_SS_DEFAULT_BUTTON, $BS_MULTILINE))
    GUICtrlSetOnEvent(-1, "_Delete")
    $b_res = GUICtrlCreateButton("Statistik löschen", 5, 165, 70, 40, BitOR($GUI_SS_DEFAULT_BUTTON, $BS_MULTILINE))
    GUICtrlSetOnEvent(-1, "_Reset")
    $g_prio = GUICtrlCreateGroup("Prioritäten:", 336, 25, 116, 86)
    $l_lpri4 = GUICtrlCreateLabel("Priorität 4:", 346, 45, 75, 17)
    $l_npri4 = GUICtrlCreateLabel("", 406, 45, 36, 17, BitOR($GUI_SS_DEFAULT_LABEL, $SS_RIGHT))
    $l_lpri3 = GUICtrlCreateLabel("Priorität 3:", 346, 60, 75, 17)
    $l_npri3 = GUICtrlCreateLabel("", 406, 60, 36, 17, BitOR($GUI_SS_DEFAULT_LABEL, $SS_RIGHT))
    $l_lpri2 = GUICtrlCreateLabel("Priorität 2:", 346, 75, 75, 17)
    $l_npri2 = GUICtrlCreateLabel("", 406, 75, 36, 17, BitOR($GUI_SS_DEFAULT_LABEL, $SS_RIGHT))
    $l_lpri1 = GUICtrlCreateLabel("Priorität 1:", 346, 90, 75, 17)
    $l_npri1 = GUICtrlCreateLabel("", 406, 90, 36, 17, BitOR($GUI_SS_DEFAULT_LABEL, $SS_RIGHT))
    $g_stat = GUICtrlCreateGroup("Statistik:", 336, 116, 116, 89)
    $l_lask = GUICtrlCreateLabel("Gefragt:", 346, 136, 100, 17)
    $l_nask = GUICtrlCreateLabel("", 406, 136, 36, 17, BitOR($GUI_SS_DEFAULT_LABEL, $SS_RIGHT))
    $l_lkno = GUICtrlCreateLabel("Gewusst:", 346, 153, 100, 17)
    $l_nkno = GUICtrlCreateLabel("", 406, 153, 36, 17, BitOR($GUI_SS_DEFAULT_LABEL, $SS_RIGHT))
    $l_lwro = GUICtrlCreateLabel("Falsch:", 346, 168, 100, 17)
    $l_nwro = GUICtrlCreateLabel("", 406, 168, 36, 17, BitOR($GUI_SS_DEFAULT_LABEL, $SS_RIGHT))
    $l_lper = GUICtrlCreateLabel("Prozentual:", 346, 183, 100, 17)
    $l_nper = GUICtrlCreateLabel("", 406, 183, 36, 17, BitOR($GUI_SS_DEFAULT_LABEL, $SS_RIGHT))
    $l_outp = GUICtrlCreateLabel("", 10, 215, 437, 30)
    GUICtrlSetFont(-1, 20)
    GUICtrlSetState($b_check, $GUI_DEFBUTTON)
    GUISetState(@SW_SHOW)
    While 1
    Sleep(100)
    WEnd
    Func _Check()
    If $NextOrCheck = 0 Then
    $n_next = Random(1, UBound($voks) - 1, 1)
    If Ubound($voks)-1 > 1 Then
    While $n_next = $n_Vok
    $n_next = Random(1, UBound($voks) - 1, 1)
    WEnd
    EndIf
    GUICtrlSetData($i_ask, $voks[$n_next][0])
    GUICtrlSetData($i_ans, "")
    GUICtrlSetData($e_add, "")
    GUICtrlSetData($i_uni, $voks[$n_next][3])
    $NextOrCheck = 1
    GUICtrlSetData($l_outp, "")
    GUICtrlSetStyle($i_ask, BitOR($GUI_SS_DEFAULT_INPUT, $ES_READONLY))
    GUICtrlSetStyle($i_uni, BitOR($GUI_SS_DEFAULT_INPUT, $ES_READONLY))
    GUICtrlSetStyle($e_add, BitOR($GUI_SS_DEFAULT_EDIT, $ES_READONLY))
    GUICtrlSetState($b_del, $GUI_DISABLE)
    GUICtrlSetState($b_new, $GUI_DISABLE)
    GUICtrlSetState($b_res, $GUI_DISABLE)
    Else
    $n_Vok = _ArraySearch($voks, GUICtrlRead($i_ask))
    If $voks[$n_Vok][1] = GUICtrlRead($i_ans)Then
    GUICtrlSetData($l_outp, "Richtig :-)")
    $n_kno += 1
    $voks[$n_Vok][4] -= 1
    If $voks[$n_Vok][4] < 1 Then $voks[$n_Vok][4] = 1
    If $voks[$n_Vok][0] <> "" Then IniWrite("Vokabeln.ini", "Voks", $voks[$n_Vok][0], $voks[$n_Vok][1] & "|" & $voks[$n_Vok][2] & "|" & $voks[$n_Vok][3] & "|" & $voks[$n_Vok][4])
    Else
    GUICtrlSetData($l_outp, "Falsch :-(")
    GUICtrlSetData($i_ans, $voks[$n_Vok][1])
    $n_wro += 1
    $voks[$n_Vok][4] += 1
    If $voks[$n_Vok][4] > 4 Then $voks[$n_Vok][4] = 4
    If $voks[$n_Vok][0] <> "" Then IniWrite("Vokabeln.ini", "Voks", $voks[$n_Vok][0], $voks[$n_Vok][1] & "|" & $voks[$n_Vok][2] & "|" & $voks[$n_Vok][3] & "|" & $voks[$n_Vok][4])
    EndIf
    GUICtrlSetData($e_add, $voks[$n_Vok][2])
    $NextOrCheck = 0
    GUICtrlSetStyle($i_ask, $GUI_SS_DEFAULT_INPUT)
    GUICtrlSetStyle($i_uni, $GUI_SS_DEFAULT_INPUT)
    GUICtrlSetStyle($e_add, $GUI_SS_DEFAULT_EDIT)
    GUICtrlSetState($b_del, $GUI_ENABLE)
    GUICtrlSetState($b_new, $GUI_ENABLE)
    GUICtrlSetState($b_res, $GUI_ENABLE)
    EndIf
    If $NextOrCheck = 0 Then
    $n_ask += 1
    EndIf
    If $n_ask <> 0 Then
    $n_per = Round($n_kno / $n_ask * 100, 1)
    Else
    $n_per = 0
    EndIf
    For $i = 1 To 4
    $n_pri[$i] = 0
    Next
    For $i = 1 To 4
    For $j = 1 To UBound($voks) - 1
    If $voks[$j][4] = $i Then $n_pri[$i] += 1
    Next
    Next
    GUICtrlSetData($l_nask, $n_ask)
    GUICtrlSetData($l_nkno, $n_kno)
    GUICtrlSetData($l_nwro, $n_wro)
    GUICtrlSetData($l_nper, $n_per & " %")
    GUICtrlSetData($l_npri4, $n_pri[4])
    GUICtrlSetData($l_npri3, $n_pri[3])
    GUICtrlSetData($l_npri2, $n_pri[2])
    GUICtrlSetData($l_npri1, $n_pri[1])
    EndFunc ;==>_Check
    Func _New()
    If $NextOrCheck = 0 Then
    $ne_ask = GUICtrlRead($i_ask)
    $ne_ans = GUICtrlRead($i_ans)
    $ne_add = GUICtrlRead($e_add)
    $ne_uni = GUICtrlRead($i_uni)
    If $ne_ask = "" Then
    MsgBox(0, "Keine Vokabel angegeben!", "Damit das Program eine neue Vokabel erlernen kann," & @CRLF & "muss auch eine angegeben werden!")
    ElseIf $ne_uni = "" Then
    MsgBox(0, "Keine Lektion angegeben!", "Damit das Program eine neue Vokabel erlernen kann," & @CRLF & "muss die Lektion der Vokabel angegen werden!")
    ElseIf $ne_ans = "" Then
    MsgBox(0, "Keine Bedeutung angegeben!", "Damit das Program eine neue Vokabel erlernen kann," & @CRLF & "muss die Bedeutung der Vokabel angegeben werden!")
    ElseIf IniRead("Vokabeln.ini", "Voks", $ne_ask, "") <> "" Then
    $o_Vok = StringSplit(IniRead("Vokabeln.ini", "Voks", $ne_ask, ""), "|")
    If $o_Vok[1] <> GUICtrlRead($i_ans) Then
    $m_nVok = MsgBox(292, "Die Vokabel ist schon vorhanden!", "Es existiert bereits ein Eintrag zu dieser Vokabel mit der " & @CRLF & 'Bedeutung "' & $o_Vok[1] & '". Soll die Vokabel überschrieben werden?')
    If $m_nVok = 6 Then
    IniWrite("Vokabeln.ini", "Voks", $ne_ask, $ne_ans & "|" & $ne_add & "|" & $ne_uni & "|" & "4")
    $ne_Vok = _ArraySearch($voks, $ne_ask)
    $voks[$ne_Vok][0] = $ne_ask
    $voks[$ne_Vok][1] = $ne_ans
    $voks[$ne_Vok][2] = $ne_add
    $voks[$ne_Vok][3] = $ne_uni
    $voks[$ne_Vok][4] = 4
    GUICtrlSetData($l_outp, 'Vokabel "' & $ne_ask & '"="' & $ne_ans & '" gelernt')
    EndIf
    Else
    MsgBox(0, "Die Vokabel existiert schon!", 'Die Vokabel "' & $ne_ask & '" mit der Bedeutung "' & $ne_ans & '" existiert schon.')
    EndIf
    Else
    IniWrite("Vokabeln.ini", "Voks", $ne_ask, $ne_ans & "|" & $ne_add & "|" & $ne_uni & "|" & "4")
    ReDim $voks[UBound($voks) + 1][UBound($voks, 2)]
    $voks[UBound($voks) - 1][0] = $ne_ask
    $voks[UBound($voks) - 1][1] = $ne_ans
    $voks[UBound($voks) - 1][2] = $ne_add
    $voks[UBound($voks) - 1][3] = $ne_uni
    $voks[UBound($voks) - 1][4] = 4
    GUICtrlSetData($l_outp, 'Vokabel "' & $ne_ask & '"="' & $ne_ans & '" gelernt')
    EndIf
    EndIf
    EndFunc ;==>_New
    Func _Delete()
    $d_Vok = GUICtrlRead($i_ask)
    If IniRead("Vokabeln.ini", "Voks", $d_Vok, "") <> "" And $NextOrCheck = 0 Then
    $m_dVok = MsgBox(292, 'Vokabel löschen?', 'Soll die Vokabel "' & $d_Vok & '" wirklich gelöscht werden?')
    If $m_dVok = 6 Then
    IniDelete("Vokabeln.ini", "Voks", $d_Vok)
    GUICtrlSetData($l_outp, 'Vokabel "' & $d_Vok & '" gelöscht')
    GUICtrlSetData($i_ask, "")
    GUICtrlSetData($i_uni, "")
    GUICtrlSetData($i_ans, "")
    GUICtrlSetData($e_add, "")
    _ArrayDelete($voks, _ArraySearch($voks, $d_Vok))
    EndIf
    EndIf
    EndFunc ;==>_Delete
    Func _Reset()
    If $NextOrCheck = 0 Then
    $m_Reset = MsgBox(292, "Statistik wirklich löschen?", "Bist du sicher, dass du die Statistik über die bisherigen gefragten Vokabeln löschen möchtest?")
    If $m_Reset = 6 Then
    IniDelete("Vokabeln.ini", "Stats")
    GUICtrlSetData($l_nask, 0)
    GUICtrlSetData($l_nkno, 0)
    GUICtrlSetData($l_nwro, 0)
    GUICtrlSetData($l_nper, "0 %")
    $n_ask = 0
    $n_kno = 0
    $n_per = 0
    $n_wro = 0
    EndIf
    EndIf
    EndFunc ;==>_Reset
    Func _Exit()
    IniWrite("Vokabeln.ini", "Stats", "Asked", GUICtrlRead($l_nask))
    IniWrite("Vokabeln.ini", "Stats", "Known", GUICtrlRead($l_nkno))
    IniWrite("Vokabeln.ini", "Stats", "Wrong", GUICtrlRead($l_nwro))
    IniWrite("Vokabeln.ini", "Stats", "Perce", GUICtrlRead($l_nper))
    Exit
    EndFunc ;==>_Exit

    [/autoit]