Halloo
Ich hab mich jetzt erstmals mit Array's beschäftigt und bin, glaub ich, knapp am Ziel vorbei....
Ich wollte ein Programm schreiben welches mittels "Random()" eine zufällige Frage aussucht, diese in eine Editbox schreibt (GUICTRLSetData) und auf das Drücken der "0D" - Taste(Enter) hin eine Inputbox mit der Antwort abfragt.
Die Fragen und Antworten habe ich in ein 2-Dimensionales Array gepackt.
---->
Spoiler anzeigen
Local $mA[5][2]
[/autoit] [autoit][/autoit] [autoit]$mA[0][0] = "Frage1"
$mA[0][1] = "Antwort1"
$mA[1][0] = "Frage2"
$mA[1][1] = "Antwort2"
$mA[2][0] = "Frage3"
$mA[2][1] = "Antwort3"
$mA[3][0] = "Frage4"
$mA[3][1] = "Antwort4"
$mA[4][0] = "Frage5"
$mA[4][1] = "Antwort5"
Ich kann den Inhalt auch auslesen:
---->
Spoiler anzeigen
For $i = 0 To UBound($mA) -1
For $k = 0 To UBound($mA,2) -1
$Test = ($mA[$i][$k] & @CRLF)
ConsoleWrite($Test)
Next
Next
Nun weiß ich nur nicht, wie ich die zufällige Auswahl einer Frage machen und die dazu passende Antwort abfragen kann.
Es würd mich freuen wenn mir das jemand so erklären könnte, dass ich es versteh
Hier der gesamte Code mit Beschreibung:
---->
Spoiler anzeigen
;~ =================================
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <Misc.au3>
#include <array.au3>
;~ =================================
;~ ===================================================================================================================================
$vDLL = 'user32.dll'
$Masze = GUICreate("Maße", 490, 440, 400, 180)
$bImg = GUICtrlCreatePic("C:\Users\Stoani\Pictures\asdasd.jpg", 0, 0, 490, 440)
GUICtrlSetState(-1, $GUI_DISABLE)
$frage_button = GUICtrlCreateButton("Neue Frage", 24, 392, 185, 33)
GUICtrlSetFont(-1, 12, 400, 0, "Tw Cen MT Condensed")
$loesung_button = GUICtrlCreateButton("Lösung zeigen", 24, 352, 97, 33)
GUICtrlSetFont(-1, 12, 400, 0, "Tw Cen MT Condensed")
$Antwort = GUICtrlCreateInput("Antwort", 16, 184, 185, 27, BitOR($ES_CENTER,$WS_BORDER), 0)
GUICtrlSetFont(-1, 12, 400, 0, "Tw Cen MT Condensed")
GUICtrlSetColor(-1, 0x000000)
$Liste = GUICtrlCreateEdit("", 216, 16, 265, 409, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN,$WS_BORDER), 0)
GUICtrlSetData(-1, "Liste")
GUICtrlSetFont(-1, 12, 400, 0, "Tw Cen MT Condensed")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$Frage = GUICtrlCreateEdit("", 16, 16, 185, 57, BitOR($ES_CENTER,$ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN,$WS_BORDER), 0)
GUICtrlSetData(-1, "Frage")
GUICtrlSetFont(-1, 12, 400, 0, "Tw Cen MT Condensed")
GUICtrlSetColor(-1, 0x000000)
$x = 0
GUISetState()
;~ ===================================================================================================================================
;~ ====================================
Local $mA[5][2]
$mA[0][0] = "Frage1"
$mA[0][1] = "Antwort1"
$mA[1][0] = "Frage2"
$mA[1][1] = "Antwort2"
$mA[2][0] = "Frage3"
$mA[2][1] = "Antwort3"
$mA[3][0] = "Frage4"
$mA[3][1] = "Antwort4"
$mA[4][0] = "Frage5"
$mA[4][1] = "Antwort5"
For $i = 0 To UBound($mA) -1
For $k = 0 To UBound($mA,2) -1
$Test = ($mA[$i][$k] & @CRLF)
ConsoleWrite($Test)
Next
Next
;~ ====================================
;~ =======================================================================
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $frage_button
$fRandom = GUICtrlRead(Random(Zufällige Frage(aus Array)))
GUICtrlSetState($Frage,$fRandom)
Case $loesung_button
$aRead = GUICtrlRead(richtige Antwort)
GUICtrlSetData($Liste,$aRead & @CRLF)
Case $x
If _ispressed("0D",$vDLL) Then
$aRead = GUICtrlRead($Antwort)
Else
If $aRead <> richtige Antwort(aus Array) Then
GUICtrlSetState($Liste,"Falsche Antwort!"
ElseIf
$aRead = richtige Antwort(aus Array) Then
GUICtrlSetState($Liste,"Richtige Antwort!"
EndIf
EndIf
EndSwitch
WEnd
;~ =======================================================================
Hier noch einige Bilder von dem GUI:
http://www.imgbox.de/ http://www.imgbox.de/
Ich würd mich über Rückmeldungen freuen
Grüßé Stoaní
PS.: Es geht ums lernen nicht ums haben