Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 23:12

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Hilfe im Code

Discussion on Hilfe im Code within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Aug 2010
Posts: 4
Received Thanks: 0
Hilfe im Code

Hi Leute !

Ich hab ein kleines Problem:
Ich hab mal in AutoIT ein bischen mit GUI gespielt;funzt aber nicht

Hier mal der Code

Eigendlich sollte es alle "eingestellte Zeit" einmal auf den linken Maus-Button klicken,tuts aber leider nicht ! ?


Vielen Dank schonmal im Vorraus,
Philipp
159+ is offline  
Old 10/09/2011, 20:44   #2
 
BlackHybrid's Avatar
 
elite*gold: 52
The Black Market: 101/0/0
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
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.
BlackHybrid is offline  
Thanks
1 User
Old 10/09/2011, 23:33   #3
 
elite*gold: 0
Join Date: Oct 2010
Posts: 51
Received Thanks: 12
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
klavier22 is offline  
Thanks
1 User
Old 10/10/2011, 06:00   #4
 
BlackHybrid's Avatar
 
elite*gold: 52
The Black Market: 101/0/0
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
Deswegen hab ich ja gesagt, dass er sich erstmal ankuggen soll, was Koda ausspuckt :P
BlackHybrid is offline  
Old 10/10/2011, 15:05   #5
 
elite*gold: 0
Join Date: Aug 2010
Posts: 4
Received Thanks: 0
Hi,

Danke Leute für eure Hilfe!
Hab mir mal Koda angeschaut und den Code überarbeitet:



Aber die eigendliche Funktion geht immer noch nicht



viele Grüße und Danke
Philipp
159+ is offline  
Old 10/10/2011, 15:49   #6
 
omer36's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
PHP Code:
#include <GUIConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form2 GUICreate("Dialog"240100349252)
GUISetIcon("D:\003.ico")
$Button1 GUICtrlCreateButton("&Start"14375250)
$Button2 GUICtrlCreateButton("&Stop"1624375250)
$Button3 GUICtrlCreateButton("beenden"804875330)
$Time GUICtrlCreateInput("Time in sec."641612121)
GUICtrlSetCursor (-12)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

Global $start False

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
omer36 is offline  
Reply


Similar Threads Similar Threads
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



All times are GMT +1. The time now is 23:12.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.