Skript abkürzen

  • Kann mir einer sagen wie ich dieses hier abkürzen kann?

    Spoiler anzeigen
    [autoit]


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

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

    $Form1 = GUICreate("Beispiel", 268, 108, 839, 420)
    $Button1 = GUICtrlCreateButton("Start", 72, 24, 115, 25, $WS_GROUP)
    $Label1 = GUICtrlCreateLabel("Exit in:", 56, 64, 53, 23)
    $Label2 = GUICtrlCreateLabel("10 Sekunden", 128, 64, 85, 23)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $Button1
    ; #########Von hier##########
    GUICtrlSetData ( $Label2 , "10 Sekunden")
    Sleep (1000)
    GUICtrlSetData ( $Label2 , "09 Sekunden")
    Sleep (1000)
    GUICtrlSetData ( $Label2 , "08 Sekunden")
    GUICtrlSetData ( $Label2 , "07 Sekunden")
    Sleep (1000)
    GUICtrlSetData ( $Label2 , "06 Sekunden")
    Sleep (1000)
    GUICtrlSetData ( $Label2 , "05 Sekunden")
    Sleep (1000)
    GUICtrlSetData ( $Label2 , "04 Sekunden")
    Sleep (1000)
    GUICtrlSetData ( $Label2 , "03 Sekunden")
    Sleep (1000)
    GUICtrlSetData ( $Label2 , "02 Sekunden")
    Sleep (1000)
    GUICtrlSetData ( $Label2 , "01 Sekunden")
    Sleep (1000)
    GUICtrlSetData ( $Label2 , "00 Sekunden")
    Sleep (1000)
    Exit
    ;#######bis hier möchte ich das abkürzen#######
    EndSwitch
    WEnd

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

    Geht das überhaupt??
    Lacht mich bitte nicht aus :D :rolleyes:

    LG DJJonny

    2 Mal editiert, zuletzt von DJJonny (23. April 2011 um 00:44)

  • Hallo DJJohnny,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die deutsche 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 deiner Frage: ja es geht z.B.: so

    Spoiler anzeigen
    [autoit]

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

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

    $Form1 = GUICreate("Beispiel", 268, 108, 839, 420)
    $Button1 = GUICtrlCreateButton("Start", 72, 24, 115, 25, $WS_GROUP)
    $Label1 = GUICtrlCreateLabel("Exit in:", 56, 64, 53, 23)
    $Label2 = GUICtrlCreateLabel("10 Sekunden", 128, 64, 85, 23)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $Button1
    For $i = 10 To 0 Step -1 ;müsste eigentlich to 1 sein, da das sllep hinterher koomtt
    GUICtrlSetData($Label2, $i & " Sekunden")
    Sleep(1000)
    Next
    Exit
    ;case $GUI_EVENT_CLOSE ;schliessen über X bzw. F4 oder ESC
    ;Exit
    EndSwitch
    WEnd

    [/autoit]

    mfg autoBert

    Einmal editiert, zuletzt von autoBert (22. April 2011 um 23:15)

  • Kannst du mir das mal richtig erklären ? :rolleyes:
    was ist zb diese variable : $i ??

    Sowas check ich net ;D

    Aber danke.

  • $i haben wir hier : GUICtrlSetData($Label2, $i & " Sekunden")
    Die For...next-Schleife lässt die Variable $i(könnte auch $t sein- wie Twodollarbillie :)) bestimmte werte annehmen.
    for $i= 10 to 0 step 1 -> $i wird 10, 9,8,7,6,5,4,3,2,1,0 wegen "für $i= 10 bis 0 , schritt 1".
    Nachdem die Variable alle Werte angenommen hat, gehts weiter mit der nächsten Aktion ("next")

    [align=center]Meine Werke mit der Irrlicht Engine
    AutoIt Picture Viewer Dreidimensionaler Bildbetrachter
    Mr Bubble 3D Neue Interpretation des Flashklassikers Bubble trouble

  • Hi DJJonny,

    ich war gerade unterwegs als ich das gesehen habe und könnte mir vorstellen, dass Du vielleicht so etwas meinst?

    Spoiler anzeigen
    [autoit]


    ; Kein #include <GUIConstantsEx.au3> nötig!
    ; $GUI_EVENT_CLOSE —> GUIConstantsEx.au3

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

    GUICreate("Anderes Beispiel", 300, 100)
    $bnGo = GUICtrlCreateButton("Start", 10, 24, 75, 22)
    $bnClose = GUICtrlCreateButton("Beenden", 100, 24, 75, 22)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case -3 ;schließen über X bzw. F4 oder ESC
    Exit
    Case $bnGo
    For $i = 10 To 0 Step -1
    GUICtrlSetData($bnClose, "Beenden (" & $i & ")")
    Sleep(1000)
    Next
    Exit
    Case $bnClose
    Exit
    EndSwitch
    WEnd

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

    ; Ende

    [/autoit]


    Viel Spaß hier im Forum! :thumbup: