Hallo @all,
ich poste heute mal einen Sätze/Vokabel-Trainer den ich für meine Schule erstellt habe.
Version 1.1
Funktionen:
- Abfrage von Sätzen/Vokabeln die in einer .txt-Date abgespeichert sind.
- Automatisches Hinzufügen eines Punktes, wenn man ihn vergisst.
- Der Lehrer hat die Möglichkeit, die Vokabel als richtig zu erklären (mit Password geschützt).
Bemerkungen zur Erstellung der .txt-Datei:
- Am Anfang steht die Anzahl der gespeicherten Sätze.
- Dann eine Leerzeile
- Die Vokabel/der Satz auf Deutsch.
- Die Vokabel/der Satz auf der Fremndsprache.
Noch geplante Features: (comming soon)
- Programm-Interner Editor für die Vokabel Datei.
Screenshots:
autoit.de/wcf/attachment/12460/
Code:
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
AutoItSetOption("TrayIconHide", 1)
Dim $A[1000000]
$R = 0
$LehrerPassword = "TEST"
$GZ = FileReadLine(@scriptDir & "\satze.txt", 1)
$hGui = GUICreate("Sätze Trainer", 320, 120)
GUICtrlCreateLabel("Bitte geben sie an wie viele Aufgaben gestellt werden sollen." & @CRLF & @CRLF & "Es sind " & $GZ & " Aufgaben abgespeichert.", 10, 10)
GUICtrlCreateLabel("Zahl:", 10, 80)
$A_anzahl0 = GUICtrlCreateInput("", 40, 80, 30, 20, $ES_NUMBER)
$Weiter = GUICtrlCreateButton("Weiter", 80, 80, 40, 20, $BS_DEFPUSHBUTTON)
$SB = GUICtrlCreateButton("Sätze bearbeiten", 130, 80, 90, 20)
GUISetState()
While WinExists("Sätze Trainer")
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $Weiter
$A_anzahl = GUICtrlRead($A_anzahl0)
If $A_anzahl < 1 Then
MsgBox(0, "", "0 Übungen?" & @CRLF & @CRLF & "Das ist nicht dein Ernst oder?" & @CRLF & @CRLF & "Gib eine richtige Zahl ein.")
Else
GUIDelete()
$SB = 0
EndIf
EndSwitch
WEnd
For $i = 1 to $A_anzahl
$A[$i] = Random(1, $GZ, 1)
next
For $i = 1 To $A_anzahl
GUICreate("Sätze Trainer - Satz " & $i & " von " & $A_anzahl, 320, 150)
$A_DS = FileReadLine(@scriptDir & "\satze.txt", ($A[$i]*3))
$A_RE = FileReadLine(@scriptDir & "\satze.txt", ($A[$i]*3+1))
$A1_AG = GUICtrlCreateLabel("Satz: "& $A_DS, 10, 10)
$A1_AG2 = GUICtrlCreateLabel("Antwort:", 10, 40)
$A1_Be = GUICtrlCreateInput("", 50, 40, 245)
$Weiter = GUICtrlCreateButton(" Überprüfen ", 120, 125, 80, 20, $BS_DEFPUSHBUTTON)
$DR = GUICtrlCreateButton("Das ist doch richtig!", 10, 155, 100, 20)
GUICtrlSetImage($Weiter, @ScriptDir & "\Bilder\Weiter.bmp")
GUISetState()
While WinExists("Sätze Trainer")
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
$B_Frage = MsgBox(36, "Wirklich beenden?", "Wollen sie das Trainning wirklich abbrechen?")
If $B_Frage = 6 Then
Exit
EndIf
Case $Weiter
$A_BE = GUICtrlRead($A1_Be)
GUICtrlDelete(5)
GUICtrlDelete($A1_AG2)
If StringRight($A_BE, 1) <> "." Then
$A_BE = $A_BE & "."
EndIf
GUICtrlCreateLabel("Dein Ergebnis: " & $A_BE, 5, 40)
GUICtrlCreateLabel("Richtiges Ergebnis: " & $A_RE, 5, 70)
$RF_A2 = GUICtrlCreateLabel("Dein Ergebnis ist", 5, 100)
$RF_A = GUICtrlCreateLabel("", 85, 100, 300, 25)
If $A_BE = $A_RE Then
GUICtrlSetData($RF_A, "RICHTIG!")
GUICtrlSetColor($RF_A, 0x228B22)
GUICtrlSetColor($RF_A2, 0x228B22)
$R = $R + 1
ElseIf $A_BE <> $A_RE Then
GUICtrlSetData($RF_A, "FALSCH!")
GUICtrlSetColor($RF_A, 0xEE0000)
GUICtrlSetColor($RF_A2, 0xEE0000)
GUICtrlSetPos($DR, 10, 125)
EndIf
GUICtrlSetData($Weiter, "Weiter")
While WinExists("Sätze Trainer")
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
$B_Frage = MsgBox(36, "Wirklich beenden?", "Wollen sie das Trainning wirklich abbrechen?" & @CRLF & @CRLF & "Ihre Punktzahl wird dann NICHT abgespeichert.")
If $B_Frage = 6 Then
Exit
EndIf
Case $Weiter
GUIDelete()
Case $DR
If InputBox("Sätze Trainer | Password-Abfrage", "Bitte geben sie das Lehrerpassword ein, um den Zugang zu gewähren.", "", "•") = $LehrerPassword Then
$R = $R + 1
GUICtrlSetData($RF_A, "vom Lehrer als richtig gewertet.")
GUICtrlSetColor($RF_A, 0x228B22)
GUICtrlSetColor($RF_A2, 0x228B22)
GUICtrlDelete($DR)
Else
MsgBox(16, "Sätze Trainer | Password-Abfrage", "Das eingegebene Password ist leider falsch.")
EndIf
EndSwitch
WEnd
EndSwitch
WEnd
next
GUICreate("Sätze Trainer", 170, 80)
GUICtrlCreateLabel("Du hast " & $A_anzahl & " Aufgaben erledigt." & @CRLF & @CRLF & "Davon waren " & $R & " Aufgaben richtig.", 5, 5)
$B = GUICtrlCreateButton(" Beenden ", 50, 50, 55, 20, $BS_DEFPUSHBUTTON)
GUIsetstate()
While WinExists("Sätze Trainer")
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $B
Exit
EndSwitch
WEnd
Downloads:
- Beispiel der .txt-Datei: autoit.de/wcf/attachment/12449/
- Komplettes zip-Archiv: autoit.de/wcf/attachment/12459/
Ich hoffe euch gefällt mein Programm.
Lob/LKritik/Anregungen sind immer gerne gesehen.