Brauche Hilfe bei einem Script

04/12/2012 18:00 FFFFFUUUUU#1
Brauche Hilfe bei diesem Script:
PHP Code:
$DO False

HotKeySet
("p""pause")
HotKeySet("y""start")
HotKeySet("z""stop")

While 
1
** Send ("{F5}")
** 
Sleep (100)
** 
Send ("{F4}")
** 
Sleep (100)
** 
Send ("{Enter}")
****
MouseClick ("Left"834660 22)
WEnd

Func start
()
****
$DO True
EndFunc

Func stop
()
****
$DO False
EndFunc 
Er startet automisch ohne Hotkey und lässt sich auch mit dem Hotkey nicht beenden.

Lg
04/12/2012 18:17 lolkop#2
wo genau fragst du denn deine $DO variable ab?
04/12/2012 18:24 Achat#3
While $DO = True ?
04/12/2012 18:26 FFFFFUUUUU#4
Habe sie gelöscht aber es funktioniert trotzdem nicht, weil sie ja eig. keinen sinn hat
04/12/2012 18:33 Achat#5
Mach das aus der While in eine Func, bei der
Start / Ende Func dann Adlibregister / Adlibunregister.
04/12/2012 19:04 FFFFFUUUUU#6
ich brauch die while funktionen weil der das wiederholen soll.
So siehts im moment aus
PHP Code:
HotKeySet("{F5}""ExitProg"
HotKeySet("{F6}""Start"
HotKeySet("{F7}""Stop"

Func ExitProg()  
    Exit 
;;Exits the program
EndFunc
While
   
Func Start()
       
Send ("{F5}")
       
Sleep (100)
       
Send ("{F4}")
       
Sleep (100)
       
Send ("{Enter}")
       
EndFunc
   WEnd 
und ich bekomme immer einen error, dass ich keine while und WEnd statements habe
04/12/2012 19:11 Achat#7
Die func darf nicht in der Schleife definiert werden.

While 1
start()
Wend

Func start()
.....
Endfunc
04/12/2012 19:13 FFFFFUUUUU#8
probiere es mal aus
04/12/2012 19:23 lolkop#9
die idee mit der schalter variable war garnicht so dumm.

du definierst dir einfach einen schalter und fragst dann in einer endlosschleife immer wieder ab, ob der schalter an oder aus ist.

über die hotkeys betätigst du nur den schalter:
Code:
HotKeySet("{F6}", "ExitProg") 
HotKeySet("{F7}", "Start") 
HotKeySet("{F8}", "Stop") 

Dim $schalter = 'aus'

While True
	If $schalter = 'an' Then
		Send ("{F5}")
		Sleep (100)
		Send ("{F4}")
		Sleep (100)
		Send ("{Enter}")
	EndIf
WEnd

Func ExitProg()
	Exit
EndFunc

Func Start()
	$schalter = 'an'
EndFunc

Func Stop()
	$schalter = 'aus'
EndFunc
da der schalter nur 2 mögliche zustände hat (an oder aus), können wir auch direkt boolsche werte hierfür verwenden da diese auch nur 2 mögliche werte haben (true oder false). setzen wir also im quellcode an = true und aus = false erhalten wir:
Code:
HotKeySet("{F6}", "ExitProg") 
HotKeySet("{F7}", "Start") 
HotKeySet("{F8}", "Stop") 

Dim $schalter = False

While True
	If $schalter Then
		Send ("{F5}")
		Sleep (100)
		Send ("{F4}")
		Sleep (100)
		Send ("{Enter}")
	EndIf
WEnd

Func ExitProg()
	Exit
EndFunc

Func Start()
	$schalter = True
EndFunc

Func Stop()
	$schalter = False
EndFunc
um das ganze noch weiter zu vereinfachen können wir nun, da wir auf boolschen ausdrücken arbeiten, auch logische operationen nutzen.

besonders geeignet hierfür ist die Not funktion, welche aus jedem beliebigen zustand, den jeweils anderen macht. (Not True) = False, (Not False) = True.

dementsprechend können wir unseren script code nun so abändern:
Code:
HotKeySet("{F6}", "ExitProg") 
HotKeySet("{F7}", "Start") 
HotKeySet("{F8}", "Stop") 

Dim $schalter = False

While True
	If $schalter Then
		Send ("{F5}")
		Sleep (100)
		Send ("{F4}")
		Sleep (100)
		Send ("{Enter}")
	EndIf
WEnd

Func ExitProg()
	Exit
EndFunc

Func Start()
	$schalter = Not $schalter
EndFunc

Func Stop()
	$schalter = Not $schalter
EndFunc
da nun Start und Stop exakt die gleichen funktionen sind, können wir eine von beiden eliminieren:
Code:
HotKeySet("{F6}", "ExitProg") 
HotKeySet("{F7}", "Pause") 

Dim $schalter = False

While True
	If $schalter Then
		Send ("{F5}")
		Sleep (100)
		Send ("{F4}")
		Sleep (100)
		Send ("{Enter}")
	EndIf
WEnd

Func ExitProg()
	Exit
EndFunc

Func Pause()
	$schalter = Not $schalter
EndFunc
und erhalten ein relativ effizientes endresultat.
04/12/2012 19:47 FFFFFUUUUU#10
So hab das mal probiert, es klappt nicht. Hab auch nen Start Hotkey hinzugefügt, es startet nicht oder macht nichts.
04/12/2012 19:51 Achat#11
Welche Errors kommen denn in SciTE?
Wie sieht dein gesamtes Script denn jetzt aus?
04/12/2012 19:58 lolkop#12
Quote:
Originally Posted by FFFFFUUUUU View Post
So hab das mal probiert, es klappt nicht. Hab auch nen Start Hotkey hinzugefügt, es startet nicht oder macht nichts.
nachdem ich logisch und mathematisch bewiesen habe, das man keinen start-hotkey braucht, fügst du einen start-hotkey hinzu? :confused:
04/12/2012 21:33 FFFFFUUUUU#13
Weil ich erst auf ein Programm wechseln muss.
04/12/2012 21:39 Achat#14
Ganzes Script posten?
Was genau geht denn nicht?
04/12/2012 21:39 lolkop#15
Quote:
Originally Posted by FFFFFUUUUU View Post
Weil ich erst auf ein Programm wechseln muss.
und nach dieser "antwort" gebe ich meine hilfeversuche auf.