X mal Wiederholung

  • Hallo,


    ich benötige eine Lösung für ein Wiederholungs Script


    ich möchte das es sich X mal wiederholt und dann beendet zur zeit habe ich folgende Lösung



    Global $Paused
    HotKeySet("{PAUSE}", "TogglePause")
    HotKeySet("{ESC}", "Terminate")


    Sleep(4000)



    MouseClick( "left" , 285, 490 , 1 , 5)
    Sleep(10000)


    MouseClick( "left" , 285, 490 , 1 , 5)
    Sleep(10000)


    MouseClick( "left" , 285, 490 , 1 , 5)
    Sleep(10000)


    MouseClick( "left" , 285, 490 , 1 , 5)
    Sleep(10000)


    MouseClick( "left" , 285, 490 , 1 , 5)
    Sleep(10000)


    MouseClick( "left" , 285, 490 , 1 , 5)
    Sleep(10000)


    MouseClick( "left" , 285, 490 , 1 , 5)
    Sleep(10000)


    MouseClick( "left" , 285, 490 , 1 , 5)
    Sleep(10000)


    MouseClick( "left" , 285, 490 , 1 , 5)
    Sleep(10000)


    MouseClick( "left" , 285, 490 , 1 , 5)
    Sleep(10000)


    MouseClick( "left" , 285, 490 , 1 , 5)
    Sleep(10000)


    MouseClick( "left" , 285, 490 , 1 , 5)
    Sleep(10000)



    Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
    sleep(100)
    ToolTip('Script ist pausiert',0,0)
    WEnd
    ToolTip("")
    EndFunc


    Func Terminate()
    Exit 0
    EndFunc


    kann man es evtl reduzieren zb das ich nur die Anzahl der Wiederholungen eingebe ??


    MfG

  • For $i=$start To $end Step $step
    ; ...
    Next


    Die Laufvariable (hier $i) startet mit dem Wert $start. Bei jedem Durchlauf der Schleife wird sie um $step erhöht, bis sie $end erreicht hat. Step ist optional (standart 1), muss also nicht jedesmal geschrieben werden.


    For $i=0 To 4
    MsgBox(0, "", $i)
    Next
    ist das gleiche, wie
    MsgBox(0, "", 0)
    MsgBox(0, "", 1)
    MsgBox(0, "", 2)
    MsgBox(0, "", 3)
    MsgBox(0, "", 4)

  • Wieso fängst du damit nichts an? Du hast doch bereits eine andere Schleife verwendet:


    Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
    sleep(100)
    ToolTip('Script ist pausiert',0,0)
    WEnd
    ToolTip("")
    EndFunc


    Die For-Schleife sollte dein Problem aber lösen. Sieh dir dazu am besten mal die Hilfe oder Pee's Buch an (links findest du entsprechende Literatur).


    Gruß stay

  • ok scheinbar befindet sich in meinen Script noch ein paar Fehler ich bin nun mal kein Profi :S


    ich möchte das sich das Script jederzeit pausieren bzw. beenden läßt und das sich in diesem Falle die Maus auf eine bestimmte Position X mal klickt


    ich hoffe es kann mir jemand helfen


    MfG

  • Global $f_Pause = False
    HotKeySet('{F3}', '_TogglePause')
    HotKeySet('{ESC}', '_Exit')


    While True
    While Not $f_Pause
    MouseClick( "left" , 285, 490 , 1 , 5)
    Sleep(10000)
    WEnd
    WEnd


    Func _TogglePause()
    $f_Pause = Not $f_Pause
    EndFunc


    Func _Exit()
    Exit
    EndFunc

  • Lautet der Befehl nicht einfach:
    MouseClick( "left" , 285, 490 , x , 10)
    Hierbei steht X für die anzahl der Klicks.
    Also wenn 5 mal auf (285|490) geklickt werden soll heißt der befehl:
    MouseClick( "left" , 285, 490 , 5, 10)


    Oder ich verstehe das Problem nicht..

  • Global $v_Input = InputBox('', 'Wie oft soll geklickt werden?')
    If (Not IsInt(Number($v_Input))) Or (Number($v_Input) < 1) Then Exit MsgBox(16, 'Error', 'Die Eingabe ist ungültig.')
    For $i = 1 To $v_Input
    MouseClick('left', 285, 490, 1, 5)
    Sleep(10000)
    NextZeile 2 kann man auch auslassen - würde aber bei falschen Eingaben zu Fehlern führen.