Gui automatisch schliessen nach ein paar Sekunden

  • Hallo Autoitprofis,

    gibt es die Möglichkeit den OK-Button auf einer GUI nach einer bestimmten Wartezeit quasi automatisch auslösen zu lassen?

    In meinem Autostart-Programm wird ermittelt ob es Freitag ist oder nicht. Wenn ja wird eine Datensicherung erstellt.

    Wenn nein wird ein von mir erstelltes Hinweisfenster eingeblendet. Dieses enthält 2 Buttons. Der erste Button soll die Datensicherung(bei klick) dennoch starten. Der zweite(OK-Button) soll

    nur das Hinweisfenster schließen, damit das Programm weiter macht mit dem Autostart. Ich hätte es gerne so, das das Hinweisfenster nach ein paar Sekunden sich selber schliesst wenn nichts gedrückt wird,

    damit das Programm weiter laufen kann.

    Einmal editiert, zuletzt von hipfzwirgel (10. Juli 2019 um 11:59)

  • Stichwort ist : https://autoit.de/onlinehilfe/on…er_SetTimer.htm

    Code
     GUISetState(@SW_SHOW)
    _Timer_SetTimer($Form1_1, 2000, "Quit")
    While 1
      [...]
    WEnd
    
    Func Quit($Form1_1, $nMsg, $iIDTimer, $dwTime)
        Exit
    EndFunc

    EDIT : hipfzwirgel :

    Schaue bitte auch in die Hilfe bzgl. :

    https://autoit.de/onlinehilfe/on…r_KillTimer.htm

    https://autoit.de/onlinehilfe/on…llAllTimers.htm

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

    Einmal editiert, zuletzt von Musashi (10. Juli 2019 um 12:47) aus folgendem Grund: erweitert

  • Hallo Musashi,

    vielen lieben Dank für deinen Tipp. Eine Frage hätte ich noch:

    1. Der Exit-Befehl killt mir das komplette Proggi. Es sollte aber lediglich die Gui geschlossen und die While
    muss natürlich auch beendet werden, damit das Proggi weitermacht...

    Im Moment habe ich das so gelöst: Buttonklick auf OK dann GUIDelete($Form1_1) und ExitLoop

    GuiDelete in die Func Quit geht ja noch aber wie beende ich die While???

    In der Timer-Hilfe fand ich dazu leider nichts;(

  • Hallo Bitnugger,

    danke für den Tipp aber wie du vielleicht übersehen hast nutze ich den Befehl bereits wenn ich auf den Button OK klicke(siehe Zeile 45-47 im Code).

    In Musashis Tipp wird das Fenster durch den Timer aber außerhalb der Schleife geschlossen durch die Func Quit.

    Hier geht Exitloop ja nicht, sodass zwar das Fenster geschlossen werden kann(mit Guidelete) aber die Schleife läuft

    ja dann weiter und stoppt die Ausführung des Proggis dadurch...


  • In Musashis Tipp wird das Fenster durch den Timer aber außerhalb der Schleife geschlossen durch die Func Quit.

    Das mit dem Exit war nur ein Beispiel - Du kannst in der Funktion auch eine Variable setzen, siehe :

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Hallo Musashi,

    vielen lieben allerherzlichsten Dank für die Hilfe/deine Anregung. Nun geht das mit dem automatischem Schließen des Fensters, wenn nichts gedrückt wurde.:klatschen::klatschen::klatschen:
    Den Select kannte ich bisher bei Autoit noch nicht. Das hat mich zunächst etwas verwirrt. Man lernt eben immer dazu. :thumbup::thumbup::thumbup::thumbup: