Zur GUI zurückleiten

  • Hey Leute,
    wenn man in meinem Script in einer Gui und hier wiederum in eine Inputbox eine Zahl größer als 4 eingibt, soll eine MsgBox kommen und man soll zur Gui zurück geleitet werden.
    Wenn alles ordnungsgemäß verläuft, soll die GUI geschlossen werden.
    Wie soll ich das anstellen?!
    Bis jetzt sieht das ganze so aus:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>

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

    $gui = GUICreate ("Meine GUI",400,300,-1,-1)
    GUISetState ()
    Opt ("GUICoordMode",1)
    GUISetBkColor (0x0162FA)
    $button = GUICtrlCreateButton ("Start",150,190,100,30)
    $input = GUICtrlCreateInput ("Zahl zwischen 1 und 4",120,220,150,-1)

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

    While 1
    $input1 = GUictrlread ($input)
    $msg = GUIgetmsg ()
    If $msg = $button Then
    If $input1 > 4 Then
    MsgBox (0,"Fehler","Die Zahl darf nicht größer als 4 sein!!! Du wirst zurück in die Gui geleitet")
    EndIf
    HotKeySet ("{F5}" , "Start")
    HotKeySet ("{ESC}" ,"Ende")
    GUIDelete ()
    EndIf
    WEnd

    [/autoit]

    Danke
    Manlius

  • Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    $gui = GUICreate ("Meine GUI",400,300,-1,-1)
    GUISetState ()
    Opt ("GUICoordMode",1)
    GUISetBkColor (0x0162FA)
    $button = GUICtrlCreateButton ("Start",150,190,100,30)
    $input = GUICtrlCreateInput ("Zahl zwischen 1 und 4",120,220,150,-1)

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

    While 1
    $input1 = GUictrlread ($input)
    $msg = GUIGetMsg()
    Select
    Case $msg = $button
    If $input1 > 4 Then
    MsgBox (0,"Fehler","Die Zahl darf nicht größer als 4 sein!!! Du wirst zurück in die Gui geleitet")
    guictrlsetdata( $input, "Zahl zwischen 1 und 4")
    EndIf
    EndSelect
    wend

    [/autoit]

    Ich denke du wolltest es so, oder so ähnlich

    Es wär eine möglichkeit, ich kann mir aber gut vorstellen dass es nich die beste is, da ich selber noch nicht lange mit autoit arbeite. Aber vllt hilfts dir ja ;)

  • Hi ich habe dein Script von ganz oben umgebaut so dass alles funktioniert auch die HotKeys

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    HotKeySet("{ESC}","_close")
    HotKeySet("{F5}","_start")

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

    $gui = GUICreate ("Meine GUI",400,300,-1,-1)
    GUISetState ()
    Opt ("GUICoordMode",1)
    GUISetBkColor (0x0162FA)
    $button = GUICtrlCreateButton ("Start",150,190,100,30)
    $input = GUICtrlCreateInput ("Zahl zwischen 1 und 4",120,220,150,20)

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

    While 1
    $input1 = GUictrlread ($input)
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then Exitloop
    Select
    Case $msg = $button
    If $input1 = "4" Or $input1 = "2" Or $input1 = "1" Or $input1 = "3" Then MsgBox (0,"Ok","Du hast " & $input1 & " eingegeben")
    If $input1 > 4 Then
    MsgBox (0,"Fehler","Die Zahl darf nicht größer als 4 sein!!! Du wirst zurück in die Gui geleitet")
    guictrlsetdata( $input, "Zahl zwischen 1 und 4")
    EndIf
    EndSelect
    wend

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

    Func _close()
    Exit
    EndFunc

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

    Func _start()

    $input1 = GUictrlread ($input)
    $msg = GUIGetMsg()
    If $input1 = "4" Or $input1 = "2" Or $input1 = "1" Or $input1 = "3" Then MsgBox (0,"Ok","Du hast " & $input1 & " eingegeben")
    If $input1 > 4 Then
    MsgBox (0,"Fehler","Die Zahl darf nicht größer als 4 sein!!! Du wirst zurück in die Gui geleitet")
    GUICtrlSetData( $input, "Zahl zwischen 1 und 4")
    EndIf

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

    EndFunc

    [/autoit]

    mfg Simon

  • Hi Manlius,

    ich habs Dir mal eben gebaut:

    Spoiler anzeigen
    [autoit]


    GUICreate("Manlius GUI", 400, 300)
    GUISetBkColor(0x0162FA)
    $button = GUICtrlCreateButton("Start", 150, 190, 100, 30)
    $input = GUICtrlCreateInput("Nur Zahlen zwischen 1 und 4", 120, 220, 150, -1)

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

    GUISetState()

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

    While 1
    $input1 = GUICtrlRead($input)
    $msg = GUIGetMsg()
    Switch $msg
    Case - 3
    Exit
    Case $button
    If $input1 < 1 Or $input1 > 4 Then
    MsgBox(48, "Fehler", "Bitte nur Zahlen zwischen 1 und 4 !" & @TAB)
    Else
    MsgBox(0, "OK", "Super, Deine Zahl war: " & $input1 & @TAB)
    Exit
    EndIf
    EndSwitch
    WEnd

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

    ; Ende

    [/autoit]


    Viel Erfolg ! ;)