[Fehler] Do / Until was habe ich falsch gemacht?

09/16/2010 18:45 BigApple*1997*#1
Hey duda^^
Ich wollte mich mal an einen Script setzen mit " Do / Until"
doch das ging irgednwie schief.
Also was sooll er machen?=
-Er drückt eine beliebige Taste.
-In einem bestimmtem abstand.
-In einer bestimmten zeit.
Hier der Script nur von der Funktion:
Code:
Func button2()
    Do
    ControlSend("Fenster","","",(GuiCtrlRead($input1)))
    sleep((GuiCtrlRead($input2)))	
    $timer + 1
    sleep(1000)
    Until $timer = (Guictrlread($input3))
    EndFunc
was hab ich da falsch gemacht??
Dadrüber steht halt noch die variable:
$timer=0
Wenn es euch mehr hilft wenn ich euch den ganzen Script schicke dann bitte sagen.
Danke im Voraus. PS: Thanks gibts natürlich auch^^
09/16/2010 18:57 lolkop#2
Quote:
Originally Posted by BigApple*1997* View Post
Hey duda^^
Ich wollte mich mal an einen Script setzen mit " Do / Until"
doch das ging irgednwie schief.
Also was sooll er machen?=
-Er drückt eine beliebige Taste.
-In einem bestimmtem abstand.
-In einer bestimmten zeit.
Hier der Script nur von der Funktion:
Code:
Func button2()
    Do
    ControlSend("Fenster","","",(GuiCtrlRead($input1)))
    sleep((GuiCtrlRead($input2)))	
    $timer + 1
    sleep(1000)
    Until $timer = (Guictrlread($input3))
    EndFunc
was hab ich da falsch gemacht??
Dadrüber steht halt noch die variable:
$timer=0
Wenn es euch mehr hilft wenn ich euch den ganzen Script schicke dann bitte sagen.
Danke im Voraus. PS: Thanks gibts natürlich auch^^
$timer + 1
ist genau wie 0+1 zu schreiben :P schon doof wenn mans nirgens speichert =)

ach ja und für bekannte rahmen an wiederholungen nimmt man eine for schleife =)

Code:
Func button2()
    For $i=0 to Guictrlread($input3)
        ControlSend("Fenster","","",(GuiCtrlRead($input1)))
        sleep((GuiCtrlRead($input2)))	
        sleep(1000)
    Next
EndFunc
09/16/2010 19:01 BigApple*1997*#3
ehmm sry hab mich vllt etwas verschrieben oda so
also er soll halt die ganze zeit
ControlSend("Fenster","","",(GuiCtrlRead($input1)) )
sleep((GuiCtrlRead($input2)))
senden bis timer halt die zahl von input3 hat
und dann hört er auf ...der timer soll in sekunden schritten laufen
09/16/2010 19:48 lolkop#4
dafür musst du aber mit timer funktionen arbeiten, und auch deine sleeps entfernen.
09/16/2010 20:02 BigApple*1997*#5
wüsstest du wie man das macht bin noch ein noobie?
09/16/2010 21:13 lolkop#6
Code:
$timestamp = TimerInit()
Do
	$diff = TimerDiff($timestamp)
Until $diff >= 1000
MsgBox(0,'Info', 'jetzt sind genau '&$diff&' ms vergangen')
wie du an der msgbox siehst ist es nicht wirklich sinnvoll = als abfrage zu nutzen, da autoit zu langsam ist in Do ... Until schleifen :P