GUI mit label als Statusanzeige

  • Hi Leutz,

    habe mal wiede eine Frage, die ich so noch nicht im Forum gefunden habe.
    Ich moechte eine GUI, die aber nur Status Meldungen wiedergibt und keine Benutzereingaben verlangt.

    Nach meiner Auffassung ist das im OnEventMode wohl besser, da die Events selbstaendig ablaufen oder?

    Das tutorial von Manuel habe ich auch gelesen. Leider kann ich keine Loesung fuer mich ableiten.

    [autoit]

    #include <GUIConstants.au3>
    Opt("GUIOnEventMode", 1)

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

    ; Spielvariable
    $anzeige1 = 0

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

    $Form1 = GUICreate("BYTEWORKER Clean", 400, 200) ; Macht eine GUI mit 800x600
    GUISetOnEvent($GUI_EVENT_CLOSE, "AForm1Close")
    ;GUISetOnEvent($GUI_EVENT_MINIMIZE, "AForm1Minimize")
    ;GUISetOnEvent($GUI_EVENT_MAXIMIZE, "AForm1Maximize")
    ;GUISetOnEvent($GUI_EVENT_RESTORE, "AForm1Restore")
    GUISetOnEvent( $text )
    $text = GUICtrlCreateLabel( $text , 100 , 100)

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

    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(1)
    $text = $text + 1
    WEnd

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

    Func AForm1Close()
    ;MsgBox( 4 , "Beenden", "Möchten Sie das Aufraeumen wirklich abbrechen?")
    ;If True Then
    Exit
    ; EndIf

    EndFunc


    Func AForm1Maximize()

    EndFunc


    Func AForm1Minimize()

    EndFunc


    Func AForm1Restore()

    EndFunc

    [/autoit]

    Kann mir mal jemand den richtigen Schubs geben?
    In dem Beispiel wollte ich, dass die Varable $text einfach schnellstmoeglich erhoet wird.


    CAT

  • hallo

    dazu müsstest du vielleicht mal genauer sagen was du vorhast
    was für statusmeldungen sollen denn angezeigt werden
    wo kommen die her
    etc.

    • Offizieller Beitrag

    Hallo cat1510!

    Hab Dein Script mal angepasst.

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    Opt("GUIOnEventMode", 1)

    ; Spielvariable
    $anzeige1 = 0
    Global $Zaehler

    $Form1 = GUICreate("BYTEWORKER Clean", 400, 200) ; Macht eine GUI mit 800x600
    GUISetOnEvent($GUI_EVENT_CLOSE, "AForm1Close")
    ;GUISetOnEvent($GUI_EVENT_MINIMIZE, "AForm1Minimize")
    ;GUISetOnEvent($GUI_EVENT_MAXIMIZE, "AForm1Maximize")
    ;GUISetOnEvent($GUI_EVENT_RESTORE, "AForm1Restore")
    $text = GUICtrlCreateLabel("0", 100, 100, 50, 16)


    GUISetState(@SW_SHOW)




    While 1
    Sleep(1)
    $Zaehler += 1
    GUICtrlSetData($text, $Zaehler)
    WEnd


    Func AForm1Close()
    ;MsgBox( 4 , "Beenden", "Möchten Sie das Aufraeumen wirklich abbrechen?")
    ;If True Then
    Exit
    ; EndIf

    EndFunc


    Func AForm1Maximize()

    EndFunc


    Func AForm1Minimize()

    EndFunc


    Func AForm1Restore()

    EndFunc

    [/autoit]

    MfG. Oscar

  • @Ceenen

    es geht erstmal rein ums verstaendnis.


    Oscar

    vielen dank fuer Deine Hilfe.


    Es wird ein AutoIt Script aus gefuehrt, welches alle temp dirs auf dem rechner sucht und loescht, danach wird es den papierkorb recyclen und dann anfangen zu defragmentieren. Danach wird das System heruntergefahren und ist aus.

    Das soll gemacht werden. Paralell soll der Benutzer uber den momentanen Ablauf informiert werden. Easy oder?

    Also Script seitig ist schon alles fertig. Nun ist die GUI noch das Problem.


    Muss ich denn nun den ganzen Code, den ich nur einmal ausfuehren moechte zwischen while und wend schreiben? Dann wird ja aber die Gui auch nicht mehr aktualisiert. Oder muss ich funktionen schreiben, die sich dann nacheinander aufrufen oder habe ich einfach den falschen GUI Mode gewaehlt?


    CAT

  • Ja Oscar natuerlich hast Du recht.

    Meine glaskugel ist auch gerade in Reparatur. :)
    Du hast mir mit Deinen Ausfuehrungen schon sehr geholfen.
    wohin ich den Code schreiben musste etc habe ich alles rausgefunden und das ganze 'Projekt' ist schon fertig. :)

    Laeuft einwandfrei.


    Danke.


    CAT