Einfacher Vokabeltrainer

  • Schönen guten Abend :)

    Ich bin ja ein Mensch der nicht gerne seine Arbeit auf anderen ablegt, aber in diesem Fall habe ich extrem wenig Zeit. Ich schreibe noch 3 Klassenarbeiten die alle relativ gut ausfallen müssen. Darunter ist selbstverständlich auch mein Lieblingsfach Englisch. Da ich ja besonders gut in Englisch bin, brauche ich nun jemanden der mir einen Vokabel Trainer schreibt. Ich habe nämlich festgestellt dass ich am schnellsten und effektivsten am Computer lerne. Ich hatte mir bereits ein Vokabeltrainer auf meine speziellen Wünsche geschrieben, jedoch ist leider mein USB Stick ins Klos gefallen. (Okey, klingt jetzt wie eine schlechte Ausrede, aber die Geschichte erzähle ich mal wenn ich genug Zeit habe.) Nun brauche ich also jemanden, der mir bis Morgen Abend noch schnell was schreibt. Die Arbeit ist schon bereits am Montag und ich stehe ein wenig unter Zeitdruck. Wenn jemand Lust dazu hat, kann er/sie mir gerne zur Hand gehen. Hier meine Anforderungen:

    Das Interface kann ruhig so einfach wie möglich gestalten sein. Wichtig ist nur dass 24 Vokabeln gleichzeitig angezeigt werden. (Eine Spalte für die Englischen ud eine Spalte für die Deutschen Vokabeln.) Dabei sollen lediglich stetig die deutschen Vokabeln angezeigt werden und die englischen Vokabeln ergänzt werden. Die Vokabeln liegen bereits schon passend in einer Datei vor. In jeder Datei sind jeweils 24 Vokabeln sodass dort nicht extra welche per Zufallsprinzip herausgefischt werden müssen.Ich brauche demnach noch eine Ladefunktion für die Dateien. Der Aufbau der Datei ist immer die gleiche, erst kommt der englische Vokabel, dann ein [TAB] Zeichen und dann der deutsche Vokabel. Danach folgt ein Enter und neue Vokabeln folgen. Zum Schluss sollten die Vokabeln überprüft werden können. Alle falschen Vokabeln sollten mir angezeigt werden (z.B. durch farbliche Hervorhebung) und erneut abgefragt werden. Und das halt solange bis ich sie richtig schreibe.

    Ich hoffe dass reicht an Informationen. Mehr brauch ich nicht. Ich hatte zwar schon hier im Forum geschaut nach Vokabeltrainern, jedoch konnte keiner meiner Ansprüche genügen. Zudem wollte ich nicht auf Softwaren zugreifen, die im Internet herumschwirren. Es ist so, dass ich schonmal gerne ein wenig im Quellcode herumspiele und schonmal das eine oder andere bei genug Zeit hinzufüge. Mein leider vernichteter Vokabeltrainer, trainierte mit mir noch unregelmäßige Werben, Grammatik und zeigte mir Sätze an die einen Fehler (Rechtschreibfehler oder Grammatikfehler) enthalten. Ich hab einfach die Möglichkeit weitere Features hinzuzufügen welche mir das Lernen vereinfachen sollen.

    Ich hoffe es findes sich jemand der mir das macht, würde es ja selber machen, habe aber weder die Zeit und die Nerven. Ich bin nämlich auch ein wenig mit meinen Programmierfähigkeiten eingerostet und es könnte für mich einfach viel zu viel Zeit in Anspruch nehmen die ich auch mit Lernen verbringen könnte.
    LG. Make :)

    Einmal editiert, zuletzt von Yjuq (1. Juni 2014 um 12:20)

  • Ich hab mal ein programm geschrieben. Ich hoffe es entspricht deinen Ansprüchen!
    Viel Spaß beim Lernen :P Ich werd mich jetzt auch mal ans lernen begeben ;)

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiEdit.au3>
    Opt("GUIOnEventMode", 1)

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

    global $controls[24][2],$word[24][2]
    $VokGui=GUICreate("Vokabeltrainer",800,900)
    GUICtrlCreateButton("Überprüfen",120,10,100,20)
    GUICtrlSetOnEvent(-1,"_checkWords")
    GUICtrlCreateButton("Öffnen",10,10,100,20)
    GUICtrlSetOnEvent(-1,"_start")
    GUICtrlCreateButton("Tausche Seiten",230,10,100,20)
    GUICtrlSetOnEvent(-1,"_switch")
    $label1=GUICtrlCreateLabel("Deutsch:",10,30,385,20)
    $label2=GUICtrlCreateLabel("Englisch:",405,30,385,20)
    for $i=0 to 23 step 1
    GUICtrlCreateLabel("",5,57+($i*35)-10,790,40)
    if mod($i,2)=0 then
    GUICtrlSetBkColor(-1,0x999999)
    else
    GUICtrlSetBkColor(-1,0x000000)
    endif
    GUICtrlSetState(-1,$GUI_DISABLE)
    $controls[$i][0]=GUICtrlCreateLabel("",10,55+($i*35),385,20)
    $controls[$i][1]=GUICtrlCreateInput("",405,55+($i*35),385,20)
    next

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

    GUISetState(@SW_SHOW)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_close")

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

    _start()
    while 1
    sleep(100)
    Wend

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

    func _start()
    _loadVoks()
    EndFunc

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

    func _loadVoks()
    $file=FileOpenDialog("Öffne Vokabeldatei",@DesktopDir,"All (*.*)")
    if not @error then
    $array=FileReadToArray($file)
    for $i=0 to UBound($array)-1 step 1
    $ar=StringSplit($array[$i]," ")
    $word[$i][0]=$ar[1]
    $word[$i][1]=$ar[2]
    GUICtrlSetData($controls[$i][0],$ar[1])
    GUICtrlSetState($controls[$i][1],$GUI_ENABLE)
    GUICtrlSetBkColor($controls[$i][1],0xFFFFFF)
    next
    endif
    EndFunc

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

    Func _switch($array)
    $lbl1=GUICtrlRead($label1)
    GUICtrlSetData($label1,GUICtrlRead($label2))
    GUICtrlSetData($label2,$lbl1)
    for $i=0 to 23 step 1
    $tmp=$word[$i][1]
    $word[$i][1]=$word[$i][0]
    $word[$i][0]=$tmp
    GUICtrlSetData($controls[$i][0],$word[$i][0])
    GUICtrlSetState($controls[$i][1],$GUI_ENABLE)
    GUICtrlSetBkColor($controls[$i][1],0xFFFFFF)
    next
    EndFunc

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

    Func _checkWords()
    for $i=0 to 23 step 1
    if GUICtrlRead($controls[$i][1])=$word[$i][1] then
    GUICtrlSetBkColor($controls[$i][1],0x00FF00)
    GUICtrlSetState($controls[$i][1],$GUI_DISABLE)
    Else
    GUICtrlSetBkColor($controls[$i][1],0xFF0000)
    endif
    next
    Endfunc

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

    Func _close()
    exit
    EndFunc

    [/autoit]

    Falls ich noch etwas ändern soll schreibs einfach. Ich änder es dann!

  • Hey, danke für deine Mühe!
    Zwar musste ich noch ein paar Sachen korrigieren, hat jedoch nicht ganz so viel Zeit in Anspruch genommen.
    Du hast was gut bei mir :)