Entfern mal mal bei Sleep die "".
Ansonsten ergibt dein Script wenig sinn.
Erstell mal in Koda, einem Tool um GUIs zu erstellen eine GUI und kugg dir an, was es ausspuckt.
Eine Abfrage wie If $msg=$button2 Then button2() sollte in einer While schleife stehen, da das script dort sonst nur einmal drüberläuft. In der While wird die Abfrage immer wiederholt.
In deinem Fall sollte nur der Button 3 funktionieren, weil er in der ersten While schleife bleibt und dort nur dieser abgefragt wird.
Aus diesem Grund sollte dein Script auch nie an die Stelle kommen, an der $time deklariert wird. Das deklarierst du dann am Anfang der Funktion.
mal von oben nach unten:
GuiGetMsg + Auswertung macht erst Sinn, wenn der Nutzer überhaupt etwas an dem Gui machen kann, was ja erst nach dem GuiSetState kommt, also sind deine auswertungen davor sinnlos, außerdem kommen sie ja danach nochmal und erst in der While schleife machen sie sinn.
Außerdem kann man in der While schleife mit einem Switch arbeiten, ich denke so wie es Koda macht ist es am effektivsten. Dadurch dass du nur für fall Button3 eine Reaktion eingebaut hast, wird dein Program sich nicht schließen wenn du oben rechts das rote kreuz drückst oder iwas anderes machen außer auf Button 3 reagieren^^
Die Zeile mit $time = ist vollkommen sinnlos, da die ja garnicht aufgerufen wird, du musst dir mal den Ablauf des Programmes von Augen führen.
so, und daher kommt auch ein Fehler bei dem Sleep. Erstens wie schon gesagt müssen die "" weg und zweitens gibt es die Variable $time zu diesem Zeitpunkt nicht (bzw sie wurde vorher nicht deklariert)
Außerdem wird ja in dieser Funktion nur ein rechtsklick simuliert - ohne jegliche Koordinatenangabe oder ähnliches, ich weiß nicht, ob du das so willst.
dann bei dem
exit func Button1
machst du ja ein exit nachdem die Funktion button1 noch einmal aufgerufen wird - nur hat diese eine endlosschleife und der exit wird nicht ausgeführt.
Ich weiß, ich hab einiges Wiederholt - BlackHybrid, bitte sei mir nicht böse
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE ;wenn das rote X oben rechts gedrückt wird
Exit ;beendet sich das programm
case $Button1 ;wenn $button1 gedrückt wird,
_start() ;passiert das (hier wird dann die funktion aufgerufen)
Case $Button2 ;wenn $button2 gedrückt wird,
_stop() ;passiert dies
Case $Button3 ;und bei $button3
Exit ;beendet sich das programm
EndSwitch
WEnd
Func _start() ;$button1 wurde gedrückt
;;;;hierhin was passieren soll
EndFunc
Func _stop() ;$button2 wurde gedrückt
;;;;hierhin was passieren soll
EndFunc
und wenn du den inhalt aus einem gui-/objekt auslesen willst, musst du den GuiCtrlRead() befehl nutzen
bei deinem Sleep() befehl, würde es zb so aussehen:
Sleep(GuiCtrlRead($Time)*1000)
*1000 weil du es sonnst in millisec eingeben musst
BB code hilfe 01/22/2011 - WarRock - 10 Replies #Closerequest Problem gelöst
BB code hilfe 01/22/2011 - Main - 1 Replies hallo,
Ich möchte in meine signatur einen spoiler machen und in dem spoiler soll iene tabelle sein in der meine kontacktmöglichkeiten stehen kann mir da einer helfen hab das bei einem anderen user gesehen und möchte dies auch haben
Hilfe für Code 11/29/2010 - AutoIt - 10 Replies hi ich wollte ein programm machen, dass wenn ich eine taste drücke (z.b. f) dass es dann von selbst 7mal die linke maustaste drückt. Und das ganze in dem prozess: engine.exe . Ich habe schon im help file usw gesucht aber ich finde keinen passenden befehl dazu, könnt ihr mir bitte helfen bin noch noob in autoit :D
Hilfe bei Hex?Code 07/19/2009 - Flyff - 3 Replies Hallo,
hat jmd von euch ne Idee, wozu heiordas gehört?
It was '00 00 2a 00 ff ff ff ff 00 00 00 00 00 00 80 bf
MfG DT
Hilfe bei Bat code 03/04/2008 - General Coding - 14 Replies Hallo ich habe diesen bat code und er funktioniert gut.
aber das ding ist
ich würde ihn gerne umschreiben das er sich auch in die autostart datei einschriebt so das jedesmal wenn der pc neugestartet wird es immer wieder erscheint.
Ist das möglich?
wenn ja bitte den code von mir verändern.
Hier der code