Anfänger braucht hilfe

03/20/2012 20:08 XChangX#1
Hey ich wollte fragen ob man auch ganze Prozesse mit variablen schreiben kann (bin noch ein Anfänger und habe kp) habe es versucht aber es kommt immer wieder ein Fehler kann mir jemand weiterhelfen?

Code:
$variable = MouseClick ("left", 272, 14)
Sleep (2500)
Send ("{F5}")
Sleep (5000)
Send ("{F5}")
Sleep (5000)
Send ("{F5}")
Sleep (2500)
MouseClick ("left", 685, 12)
Sleep (2500)
Send ("{F5}")
Sleep (5000)
Send ("{F5}")
Sleep (2500)
MouseClick ("left", 497, 14)
Sleep (1000)
MouseClick ("left", 1432, 590)
MouseClick ("left", 558, 648)
Sleep (3500)
MouseClick ("left", 1420, 8)
MouseClick ("left", 111, 10)
MouseClick ("left", 1432, 621)
MouseClick ("left", 302, 299)
Sleep (10000)
und kann mir jemand ein paar kleine wichtige Tipps geben wie man z.B das ganze kürzer machen könnte usw...
03/20/2012 21:18 Der-Eddy#2
Was willst du denn damit machen?
kürzen könnte man es nur wenn man ein paar Stellen gegen Schleifen ersetzen würde (macht hier keinen Sinn)

und für was du denn einen MousClick mit einer Variable gleichsetzt versteh ich aus dem Context nicht wirklich
03/20/2012 21:27 lolkop#3
in der regel versucht man auf sleep funktionen zu verzichten, und wie bereits erwähnt möglichst viel über schleifen abzuarbeiten. da in deinem code sowohl sleep zeiten, als auch coordinaten für deine klicks unwillkürlich gewählt zu sein scheinen, ist hier kaum eine vereinfachung möglich...

etwas schreibarbeit könntest du noch durch eigene funktionen einsparen. bsp:
Code:
MouseClick ("left", 272, 14)
F5()
F5()
F5()
MouseClick ("left", 685, 12)
F5()
F5()
MouseClick ("left", 497, 14)
Sleep (1000)
MouseClick ("left", 1432, 590)
MouseClick ("left", 558, 648)
Sleep (3500)
MouseClick ("left", 1420, 8)
MouseClick ("left", 111, 10)
MouseClick ("left", 1432, 621)
MouseClick ("left", 302, 299)
Sleep (10000)

Func F5()
	Sleep(2500)
	Send("{F5}")
	Sleep(2500)
EndFunc
03/21/2012 18:09 BotofWar#4
Also zum einen sind Variablen da einzelne Werte, wie der Name schon sagt, "variabel" zu halten und nicht um Befehlsfolgen wieder zu geben.
Kann mir auch nicht vorstellen das so ein mit einer Variablen erzeugter Befehl funktioniert. Lass mich raten: deine Fehlermeldung enthält irgendwo das Wort Variable, oder? :-)
Was soll das überhaupt bewirken? Lässt sich sicher anders lösen.
Das andere ist die Sache mit mit deinen Mouseclicks... Mal hast Du Pausen, mal nicht. Rein aus Erfahrung würde ich jetzt mal behaupten dass mindestens 1/3 deiner Klicks gar nicht ankommt. Aus dem ganz einfachen Grund das Diese aus AI raus so schnell ausgeführt werden dass das Zielprogramm das nicht so schnell interpretieren kann, oder schlichtweg der Rechner zu langsam ist dafür.
Wenn du definitiv keine Pausen dazwischen haben willst such in der Hilfe nach MouseClickDelay. Das solltest Du zumindest benutzen.
Und generell schliesse ich mich meinen Vorrednern an: Sleeps benutzt man nicht. Versuch lieber eine Schleife zu benutzen mit einer Bedingung. Dadurch ist der Skript idR auf jedem System maximal schnell und Fehlerunanfälliger.