Button lässt sich nicht mehr klicken

  • Hallo ich habe eine Frage. Ich hab so was ähnliches wie ein Quiz gemacht nun ist das problem so:

    Wenn ich anfange (Quiz starten) drücke und die erste 10 Punkte frage auswähle dann klappt alles. Einfach falsche oder richtige Antwort ankreuzen und fertig. Aber wenn ich dann auf die 2. 10 Punkte frage klicken will öffnet die sich nicht. (Hab bis jetzt nur 2 Fragen gemacht)
    Wenn wir schon dabei sind wisst ihr wie man eine Button löscht wenn die Frage beantwortet wurde also das der nicht mehr da steht oder wie man den zu Erledigt umbennent und wenn man drauf klickt eine MSGbox kommt. Vielen dank :D


    Hier der Script: Passwort ist schule

    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    FileInstall("fragezeichen300.jpg","fragezeichen300.jpg")
    FileInstall("IMG_0137.JPG","IMG_0137.JPG")

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

    $Form1 = GUICreate("Form1", 615, 438, 428, 158)
    $Pic1 = GUICtrlCreatePic("fragezeichen300.jpg", 0, 0, 241, 161)
    $Label1 = GUICtrlCreateLabel("Teste dich selbst :D Wer bekommt die Punkte :D", 72, 208, 235, 17)
    $Button1 = GUICtrlCreateButton("Quiz Starten", 312, 288, 217, 65)
    $dateimenu = GUICtrlCreateMenu("Datei")
    $vollversionitem = GUICtrlCreateMenuItem("Vollversion", $dateimenu)
    $homepage = GUICtrlCreateMenuItem("Homepage", $dateimenu)
    $exititem = GUICtrlCreateMenuItem("Exit", $dateimenu)
    $fragemenu = GUICtrlCreateMenu("?")
    $aboutitem = GUICtrlCreateMenuItem("About", $fragemenu)
    $blablabla = GUICtrlCreateMenuItem("How to", $fragemenu)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $aboutitem
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    $Form2 = GUICreate("About", 299, 250, 490, 200)
    $GroupBox1 = GUICtrlCreateGroup("", 8, 8, 305, 185)
    $Image2 = GUICtrlCreatePic("IMG_0137.JPG", 16, 24, 105, 97)
    $Label10 = GUICtrlCreateLabel("Quiz", 152, 24, 25, 17)
    $Label20 = GUICtrlCreateLabel("Version 1.0", 152, 48, 57, 17)
    $Label40 = GUICtrlCreateLabel("Comments: Was gibts da zu sagen :D", 16, 160, 181, 17)
    $Label30 = GUICtrlCreateLabel("Lalalal :D", 16, 136, 140, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button2 = GUICtrlCreateButton("&OK", 124, 208, 75, 25, 0)
    GUISetState(@SW_SHOW)

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

    While 2
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    GuiDelete("About")
    Case $Button2
    GuiDelete("About")

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

    EndSwitch
    WEnd

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

    Case $blablabla
    MsgBox(0, "Quiz Master", "Was gibts da auf How to zu klicken?!? Einfach Quiz starten!!!")

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

    Case $Button1

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

    $Form3 = GUICreate("Passwort Dialog", 252, 96, -1, -1)
    $PasswordEdit = GUICtrlCreateInput("", 8, 32, 233, 21)
    $Button1990 = GUICtrlCreateButton("&OK", 86, 64, 75, 25, $BS_NOTIFY)
    $ButtonCancel = GUICtrlCreateButton("&Cancel", 167, 64, 75, 25, $BS_NOTIFY)
    $EnterPassLabel = GUICtrlCreateLabel("Enter Passwort", 8, 12, 77, 17, 0)
    GUISetState(@SW_SHOW)

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

    Local $FailLogIn = 0
    While 4
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    GUIDelete("Passwort Dialog")

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

    Case $Button1990
    if guictrlread($PasswordEdit)="schule" then
    GUIDelete("Passwort Dialog")
    MsgBox( 64, "Quiz Master", "Passwort richtig! Viel spaß")

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

    $Form2 = GUICreate("Fragen", 491, 325, 94, 92)
    $Button11231 = GUICtrlCreateButton("10 Punkte", 8, 8, 105, 49)
    $Button1234 = GUICtrlCreateButton("10 Punkte", 128, 8, 105, 49)
    $Button312312 = GUICtrlCreateButton("10 Punkte", 248, 8, 105, 49)
    $Button41231 = GUICtrlCreateButton("10 Punkte", 368, 8, 105, 49)
    $Button512 = GUICtrlCreateButton("25 Punkte", 8, 80, 105, 49)
    $Button62312 = GUICtrlCreateButton("25 Punkte", 125, 79, 105, 49)
    $Button7312312 = GUICtrlCreateButton("25 Punkte", 246, 81, 105, 49)
    $Button812312 = GUICtrlCreateButton("25 Punkte", 372, 79, 105, 49)
    $Button912312 = GUICtrlCreateButton("50 Punkte", 11, 145, 105, 49)
    $Button122310 = GUICtrlCreateButton("50 Punkte", 125, 144, 105, 49)
    $Button123121 = GUICtrlCreateButton("50 Punkte", 249, 143, 105, 49)
    $Button11222 = GUICtrlCreateButton("50 Punkte", 368, 141, 105, 49)
    $Button12223 = GUICtrlCreateButton("100 Punkte", 11, 218, 105, 49)
    $Button13314 = GUICtrlCreateButton("100 Punkte", 136, 218, 105, 49)
    $Button1123125 = GUICtrlCreateButton("500 Punkte", 262, 213, 209, 97)
    $Button16111 = GUICtrlCreateButton("EXIT", 65, 283, 65, 25)
    GUISetState(@SW_SHOW)

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

    While 5
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Button16111
    $answer = MsgBox(4, "Quiz Master", "Wollen Sie noch abbrechen?")
    If $answer = 7 Then
    Exit
    EndIf

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

    Case $Button1234
    $Nico = GUICreate("10 Punkte Frage 'Nana'", 405, 294, 534, 159)
    $Erstes = GUICtrlCreateLabel("Gibt es Was zu tun?", 48, 16, 71, 17)
    $Check = GUICtrlCreateCheckbox("A: Nein", 16, 88, 113, 17)
    $Checkb = GUICtrlCreateCheckbox("B: Ja", 183, 93, 113, 17)
    $butto = GUICtrlCreateButton("Absenden", 150,150,80,80)

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

    Case $Button11231
    $Form222 = GUICreate("10 Punkte Frage 1x1", 405, 294, 534, 159)
    $Label1444 = GUICtrlCreateLabel("Was ist 1 x 1?", 48, 16, 71, 17)
    $Checkbox1 = GUICtrlCreateCheckbox("A: 1", 16, 88, 113, 17)
    $Checkbox3 = GUICtrlCreateCheckbox("B: 2", 183, 93, 113, 17)
    $buttonzu = GUICtrlCreateButton("Absenden", 150,150,80,80)

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

    GUISetState(@SW_SHOW)

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

    While 13
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $buttonzu
    if bitand(guictrlread($checkbox1),$GUI_CHECKED) then
    msgbox(0,"Quiz Master","WooW Richtig! Aber das war noch einfach...")
    GUIDelete($Form222)
    $file = FileOpen("Rechner.txt", 1)
    If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf
    FileWrite($file, "" & @CRLF)
    FileWrite($file, "-----------------------------------------------------" & @CRLF)
    FileWrite($file, "Jemand hat 10 Punkte erziehlt!!!" & @CRLF)
    FileWrite($file, "Uhrzeit: ")
    FileWrite($file, @Hour & ":" & @MIN & ":" & @SEC & @CRLF)
    FileWrite($file, "Datum: ")
    FileWrite($file, @MDAY & "." & @MON & "." & @YEAR & @CRLF)
    FileWrite($file, "WooooW!!!" & @CRLF)
    FileWrite($file, "-----------------------------------------------------" & @CRLF)
    FileClose($file)
    EndIf

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

    if bitand(guictrlread($checkbox3),$GUI_CHECKED) then
    msgbox(0,"Quiz Master","Nääääääääd!! Falsch")
    GUIDelete($Form222)
    $file = FileOpen("Rechner.txt", 1)
    If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf
    FileWrite($file, "" & @CRLF)
    FileWrite($file, "-----------------------------------------------------" & @CRLF)
    FileWrite($file, "Jemand hat -5 Punkte bekommen!" & @CRLF)
    FileWrite($file, "Uhrzeit: ")
    FileWrite($file, @Hour & ":" & @MIN & ":" & @SEC & @CRLF)
    FileWrite($file, "Datum: ")
    FileWrite($file, @MDAY & "." & @MON & "." & @YEAR & @CRLF)
    FileWrite($file, "Sehr schlecht!!!!!" & @CRLF)
    FileWrite($file, "-----------------------------------------------------" & @CRLF)
    FileClose($file)

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

    EndIf

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

    EndSwitch
    WEnd

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

    EndSwitch
    WEnd

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

    Else
    $FailLogIn += 1
    Switch $FailLogIn
    Case 1
    MsgBox(64, "Quiz Master", "Sie haben ein falsches Passwort eingegeben",5)
    Case 2
    MsgBox(64, "Quiz Master", "Sie haben zum 2. mal einen falsches Passwort eingegeben!",5)
    Case 3
    MsgBox(64, "Quiz Master", "Noch einmal falsches Passwort eingeben und das Programm beendet sich.",5)
    Case 4
    Exit

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

    EndSwitch
    EndIf

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

    EndSwitch
    WEnd

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

    EndSwitch
    WEnd

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

    5 Mal editiert, zuletzt von EpicChiller (21. Dezember 2010 um 18:30)

  • Lass es mich so formulieren... Dein Script ist im Moment ziemlicher Quark. (Entschuldige meine Direktheit :D). Am besten liest du dir ein Beispiel zur Verwaltung mehrerer GUIs durch. Du weißt nämlich offensichtlicherweise nicht was "While 1" bzw. "While True" Schleifen, Includes und GUIGetMsg tun.

  • Hallo EpicChiller,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee

    und jetzt zu deinem Probelm: du verwendest mehrere GUIs im Mesage-Loop-Modus, denke da ist das Problem, deshalb hier ein allegemein gehaltenes Skript mit mehreren GUI:

    Spoiler anzeigen
    [autoit]

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

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

    Global $idGui1, $idGui2=-99, $idMsgBox, $idZurueck, $idbtnExit2
    _CreateGui2() ;entweder hier oder erst wenn benötigt ($idbtmToGui2 Klick)

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

    $idGui1 = GUICreate('GUI 1', 400, 280, 140, 150, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
    ;erzeugt eine GUI die zurückgebebene ID wird in der Variablen $idGui1 gespeichert
    ;die GUI hat BOXen für Mininmieren, Maximieren und ist in der Größe frei änderbar
    GUISetOnEvent($GUI_EVENT_CLOSE, '_End')

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

    $idbtnToGui2 = GUICtrlCreateButton('&Aufruf GUI 2', 20, 20, 100, 21)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    ;verankert den Button "Afruf Gui 2" links und oben und fixiert die Größe
    ;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand

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

    $idbtnICQ = GUICtrlCreateButton('&ICQ', 20, 50, 100, 21)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    ;verankert den Button "ICQ" links und oben und fixiert die Größe
    ;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand

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

    $idbtnExit1 = GUICtrlCreateButton('be&enden', 20, 80, 100, 21)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    ;verankert den Button "Afruf Gui 2" links und oben und fixiert die Größe
    ;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand

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

    GUISetState(@SW_SHOW, $idGui1)

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

    While 1
    $nMsg = GUIGetMsg(1) ;extended Modus wichtig!!
    Switch $nMsg[1] ;für welches Fenster ist die Message
    Case $idGui1 ;ab hier ist Gui 1 dran
    Switch $nMsg[0] ;welche Message wurde ausgelöst
    Case $idbtnToGui2
    ; GUISetState(@SW_DISABLE, $idGui1) ;Gui 1 für disablen
    ;If $idGui2 = -99 Then _CreateGui2() ;nur wenn nicht am Anfang bereits erzeugt nötig, dann auf Vorbelegung der Variable in Global achten)
    GUISetState(@SW_SHOW, $idGui2) ;Gui 2 anzeigen
    GUISetState(@SW_DISABLE,$idGui1)
    Case $idbtnICQ
    MsgBox(0,"","Jetzt würde ICQ gestartet")
    ;Run("C:\Program Files\ICQ7.0\ICQ.exe")
    Case $idbtnExit1, $GUI_EVENT_CLOSE
    _end()
    EndSwitch
    Case $idGui2 ;ab hier ist Gui 2 dran
    Switch $nMsg[0] ;welche Message wurde ausgelöst
    Case $idMsgBox
    MsgBox(0, 'Test', 'Test', 0, $idGui2)
    Case $idZurueck, $GUI_EVENT_CLOSE
    GUISetState(@SW_ENABLE, $idGui1) ;Gui 1 für ensablen
    GUISetState(@SW_HIDE, $idGui2) ;Gui 2 verstecken
    Case $idbtnExit2
    _end()
    EndSwitch
    EndSwitch
    WEnd

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

    Func _CreateGui2()
    $idGui2 = GUICreate('GUI 2', 500, 300, 200, 50, -1, -1, $idGui1) ;wichtig ist der letzte Parameter
    ;erzeugt eine GUI als Child von Gui1, die zurückgebebene ID wird in der Variablen $idGui2 gespeichert

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

    $idMsgBox = GUICtrlCreateButton('&MsgBox', 20, 20, 100, 21)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    ;verankert den Button "MsgBox" links und oben und fixiert die Größe
    ;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand

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

    $idZurueck = GUICtrlCreateButton('&Zurück zu GUI 1', 20, 50, 100, 21)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    ;verankert den Button "zurück" links und oben und fixiert die Größe
    ;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand

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

    $idbtnExit2 = GUICtrlCreateButton('be&enden', 20, 80, 100, 21)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    ;verankert den Button "beenden" links und oben und fixiert die Größe
    ;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand
    EndFunc ;==>_CreateGui2

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

    Func _end()
    GUIDelete($idGui2)
    GUIDelete($idGui1)
    Exit
    EndFunc ;==>_end

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

    du brauchst auch nicht für jede Frage eine neue GUI zu erstellen, tausche stattdesen Frage und Antwortmöglichkeiten mit GuiCtrlSetData. Wenn du Fragen, mögliche Antworten und richtige Antwort in Array verwaltest hast du ein kleines übersichtliches Skript, siehe z.B.: [ offen ] QUIZ

    mfg autoBert

  • Danke :D
    Hab zwar nicht soviel verstanden, könnt ihr mir das an meinem script erklären? Vielleicht verstehe ich das dann besser


    Edit: Das kann doch nicht sein i-was mach ich da falsch -.- ich glaube das denkt noch das wäre in der while schleife ich hab guidelete gemacht vielleicht ist das was chief gelaufen :D

    Einmal editiert, zuletzt von EpicChiller (21. Dezember 2010 um 20:26)

  • Hab dein Skript mal lauffähig in den OnEvent - Modus umgestellt... das heißt allerdings noch lange nicht, dass es gut ist:
    - deine Variablenbezeichnungen sind ein einziges Chaos -> überleg dir was einheitliches da blickt ja keiner durch...
    - keine Ahnung ob dein Skript jetzt so funktioniert wie du das wolltest, ich hab lediglich deinen Code rumkopiert

    Spoiler anzeigen
    [autoit]

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

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

    Global $PasswordEdit, $FailLogIn, $Checkbox1, $Form222, $checkbox3, $Form2, $Form3, $Nico, $Button16111

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

    Opt("GuiOnEventMode", 1)

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

    FileInstall("fragezeichen300.jpg", "fragezeichen300.jpg")
    FileInstall("IMG_0137.JPG", "IMG_0137.JPG")

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

    $Form1 = GUICreate("Form1", 615, 438, 428, 158)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    $Pic1 = GUICtrlCreatePic("fragezeichen300.jpg", 0, 0, 241, 161)
    $Label1 = GUICtrlCreateLabel("Teste dich selbst :D Wer bekommt die Punkte :D", 72, 208, 235, 17)
    $Button1 = GUICtrlCreateButton("Quiz Starten", 312, 288, 217, 65)
    GUICtrlSetOnEvent(-1, "_startQuiz")
    $dateimenu = GUICtrlCreateMenu("Datei")
    $vollversionitem = GUICtrlCreateMenuItem("Vollversion", $dateimenu)
    $homepage = GUICtrlCreateMenuItem("Homepage", $dateimenu)
    $exititem = GUICtrlCreateMenuItem("Exit", $dateimenu)
    $fragemenu = GUICtrlCreateMenu("?")
    $aboutitem = GUICtrlCreateMenuItem("About", $fragemenu)
    GUICtrlSetOnEvent(-1, "_about")
    $blablabla = GUICtrlCreateMenuItem("How to", $fragemenu)
    GUICtrlSetOnEvent(-1, "_howTo")
    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(100)
    WEnd

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

    Func _about()
    $Form2 = GUICreate("About", 299, 250, 490, 200)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    $GroupBox1 = GUICtrlCreateGroup("", 8, 8, 305, 185)
    $Image2 = GUICtrlCreatePic("IMG_0137.JPG", 16, 24, 105, 97)
    $Label10 = GUICtrlCreateLabel("Quiz", 152, 24, 25, 17)
    $Label20 = GUICtrlCreateLabel("Version 1.0", 152, 48, 57, 17)
    $Label40 = GUICtrlCreateLabel("Comments: Was gibts da zu sagen :D", 16, 160, 181, 17)
    $Label30 = GUICtrlCreateLabel("Lalalal :D", 16, 136, 140, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button2 = GUICtrlCreateButton("&OK", 124, 208, 75, 25, 0)
    GUISetState(@SW_SHOW)
    EndFunc ;==>_about

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

    Func _howTo()
    MsgBox(0, "Quiz Master", "Was gibts da auf How to zu klicken?!? Einfach Quiz starten!!!")
    EndFunc ;==>_howTo

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

    Func _startQuiz()
    Local $FailLogIn = 0

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

    $Form3 = GUICreate("Passwort Dialog", 252, 96, -1, -1)
    GUISetOnEvent(-1, "_Exit")
    $PasswordEdit = GUICtrlCreateInput("", 8, 32, 233, 21)
    $Button1990 = GUICtrlCreateButton("&OK", 86, 64, 75, 25, $BS_NOTIFY)
    GUICtrlSetOnEvent(-1, "_btnOk")
    $ButtonCancel = GUICtrlCreateButton("&Cancel", 167, 64, 75, 25, $BS_NOTIFY)
    $EnterPassLabel = GUICtrlCreateLabel("Enter Passwort", 8, 12, 77, 17, 0)
    GUISetState(@SW_SHOW)
    EndFunc ;==>_startQuiz

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

    Func _btnOk()
    If GUICtrlRead($PasswordEdit) = "schule" Then
    GUIDelete("Passwort Dialog")
    MsgBox(64, "Quiz Master", "Passwort richtig! Viel spaß")

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

    $Form2 = GUICreate("Fragen", 491, 325, 94, 92)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    $Button11231 = GUICtrlCreateButton("10 Punkte", 8, 8, 105, 49)
    GUICtrlSetOnEvent(-1, "_button11231")
    $Button1234 = GUICtrlCreateButton("10 Punkte", 128, 8, 105, 49)
    GUICtrlSetOnEvent(-1, "_button1234")
    $Button312312 = GUICtrlCreateButton("10 Punkte", 248, 8, 105, 49)
    $Button41231 = GUICtrlCreateButton("10 Punkte", 368, 8, 105, 49)
    $Button512 = GUICtrlCreateButton("25 Punkte", 8, 80, 105, 49)
    $Button62312 = GUICtrlCreateButton("25 Punkte", 125, 79, 105, 49)
    $Button7312312 = GUICtrlCreateButton("25 Punkte", 246, 81, 105, 49)
    $Button812312 = GUICtrlCreateButton("25 Punkte", 372, 79, 105, 49)
    $Button912312 = GUICtrlCreateButton("50 Punkte", 11, 145, 105, 49)
    $Button122310 = GUICtrlCreateButton("50 Punkte", 125, 144, 105, 49)
    $Button123121 = GUICtrlCreateButton("50 Punkte", 249, 143, 105, 49)
    $Button11222 = GUICtrlCreateButton("50 Punkte", 368, 141, 105, 49)
    $Button12223 = GUICtrlCreateButton("100 Punkte", 11, 218, 105, 49)
    $Button13314 = GUICtrlCreateButton("100 Punkte", 136, 218, 105, 49)
    $Button1123125 = GUICtrlCreateButton("500 Punkte", 262, 213, 209, 97)
    $Button16111 = GUICtrlCreateButton("EXIT", 65, 283, 65, 25)
    GUICtrlSetOnEvent(-1, "_Exit")
    GUISetState(@SW_SHOW)
    Else
    $FailLogIn += 1
    Switch $FailLogIn
    Case 1
    MsgBox(64, "Quiz Master", "Sie haben ein falsches Passwort eingegeben", 5)
    Case 2
    MsgBox(64, "Quiz Master", "Sie haben zum 2. mal einen falsches Passwort eingegeben!", 5)
    Case 3
    MsgBox(64, "Quiz Master", "Noch einmal falsches Passwort eingeben und das Programm beendet sich.", 5)
    Case 4
    Exit
    EndSwitch
    EndIf
    EndFunc ;==>_btnOk

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

    Func _button1234()
    $Nico = GUICreate("10 Punkte Frage 'Nana'", 405, 294, 534, 159)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    $Erstes = GUICtrlCreateLabel("Gibt es Was zu tun?", 48, 16, 71, 17)
    $Check = GUICtrlCreateCheckbox("A: Nein", 16, 88, 113, 17)
    $Checkb = GUICtrlCreateCheckbox("B: Ja", 183, 93, 113, 17)
    $butto = GUICtrlCreateButton("Absenden", 150, 150, 80, 80)
    EndFunc ;==>_button1234

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

    Func _button11231()
    $Form222 = GUICreate("10 Punkte Frage 1x1", 405, 294, 534, 159)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    $Label1444 = GUICtrlCreateLabel("Was ist 1 x 1?", 48, 16, 71, 17)
    $Checkbox1 = GUICtrlCreateCheckbox("A: 1", 16, 88, 113, 17)
    $checkbox3 = GUICtrlCreateCheckbox("B: 2", 183, 93, 113, 17)
    $buttonzu = GUICtrlCreateButton("Absenden", 150, 150, 80, 80)
    GUICtrlSetOnEvent(-1, "_buttonzu")

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

    GUISetState(@SW_SHOW)
    EndFunc ;==>_button11231

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

    Func _buttonzu()
    If BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED) Then
    MsgBox(0, "Quiz Master", "WooW Richtig! Aber das war noch einfach...")
    GUIDelete($Form222)
    $file = FileOpen("Rechner.txt", 1)
    If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf
    FileWrite($file, "" & @CRLF)
    FileWrite($file, "-----------------------------------------------------" & @CRLF)
    FileWrite($file, "Jemand hat 10 Punkte erziehlt!!!" & @CRLF)
    FileWrite($file, "Uhrzeit: ")
    FileWrite($file, @HOUR & ":" & @MIN & ":" & @SEC & @CRLF)
    FileWrite($file, "Datum: ")
    FileWrite($file, @MDAY & "." & @MON & "." & @YEAR & @CRLF)
    FileWrite($file, "WooooW!!!" & @CRLF)
    FileWrite($file, "-----------------------------------------------------" & @CRLF)
    FileClose($file)
    EndIf
    If BitAND(GUICtrlRead($checkbox3), $GUI_CHECKED) Then
    MsgBox(0, "Quiz Master", "Nääääääääd!! Falsch")
    GUIDelete($Form222)
    $file = FileOpen("Rechner.txt", 1)
    If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf
    FileWrite($file, "" & @CRLF)
    FileWrite($file, "-----------------------------------------------------" & @CRLF)
    FileWrite($file, "Jemand hat -5 Punkte bekommen!" & @CRLF)
    FileWrite($file, "Uhrzeit: ")
    FileWrite($file, @HOUR & ":" & @MIN & ":" & @SEC & @CRLF)
    FileWrite($file, "Datum: ")
    FileWrite($file, @MDAY & "." & @MON & "." & @YEAR & @CRLF)
    FileWrite($file, "Sehr schlecht!!!!!" & @CRLF)
    FileWrite($file, "-----------------------------------------------------" & @CRLF)
    FileClose($file)
    EndIf
    EndFunc ;==>_buttonzu

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

    Func _Exit()
    If @GUI_WinHandle == $Form1 Then
    Exit
    ElseIf @GUI_WinHandle == $Form2 Or @GUI_WinHandle == $Form3 Or @GUI_WinHandle == $Nico Or @GUI_WinHandle == $Form222 Then
    GUIDelete(@GUI_WinHandle)
    ElseIf @GUI_WinHandle == $Button16111 Then
    $answer = MsgBox(4, "Quiz Master", "Wollen Sie noch abbrechen?")
    If $answer = 6 Then
    Exit
    EndIf
    EndIf
    EndFunc ;==>_Exit

    [/autoit]
  • Wenn wir schon dabei sind wisst ihr wie man eine Button löscht wenn die Frage beantwortet wurde also das der nicht mehr da steht oder wie man den zu Erledigt umbennent und wenn man drauf klickt eine MSGbox kommt. Vielen dank :D

    Zum löschen:

    [autoit]

    GuictrlDelete($button1)

    [/autoit]

    Zum deaktivieren z.B. in die Func:

    [autoit]


    If $quiz_1_erledigt = True Then
    GuiCtrlSetState($button1, $GUI_DISABLE)
    Else
    GuiCtrlSetState($buton1, $GUI_ENABLE)
    EndIf

    [/autoit]