Register for your free account! | Forgot your password?

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

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

Advertisement



Problem mit AutoIt UDF

Discussion on Problem mit AutoIt UDF within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jun 2010
Posts: 65
Received Thanks: 0
Problem mit AutoIt UDF

Hey Leute,
ich beschäftige mich in letzter Zeit mit Autoit, da ich einen Bot programmieren will (hab nur Erfahrung mit c++).

Ich wollte meinen Quelltext auch durchstrukturieren, indem ich UDF's verwenden wollte. Das Problem ist, wenn ich das Programm starte und die Funktion aufrufe, kommt nie die Variable raus die es sein sollte, sondern immer nur "9".

Code:
	Func _Bot($CD_sk2)

		MsgBox(524320, "Testprogramm", "Variable:" & @CRLF & $CD_sk2)

	EndFunc
Ich weiß, dass hier noch was fehlt...

Zuvor habe ich die Variable so den User definieren lassen:

Code:
        $CD_sk2 = GUICtrlCreateInput("0", 160, 50, 40)
Was hab ich falsch gemacht?
Vielen Dank für Eure Hilfe

Derrod
derrod is offline  
Old 10/11/2012, 19:43   #2
 
Ludder231's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
Du musst, wenn du ein GUI Element untersuchen/auslesen willst, immer GuiCtrlRead($CD_sk2) machen
Also GuiCtrlRead($variable vom Input).

MfG Ludder231
Ludder231 is offline  
Thanks
1 User
Old 10/11/2012, 19:58   #3
 
elite*gold: 0
Join Date: Jun 2010
Posts: 65
Received Thanks: 0
Danke! so gehts!

Sorry! auf den ersten Blick schien es, als würde es gehen, es geht aber doch nicht :/ ich hab jetzt folgendes:

Code:
      $CD_sk2_I = GUICtrlCreateInput("0", 160, 50, 40)
      $CD_sk2 = GuiCtrlRead($CD_sk2_I)
     _Bot($CD_sk2)
Und in der Funktion noch das Gleiche:

Code:
	Func _Bot($CD_sk2)

		MsgBox(524320, "Testprogramm", "Variable:" & @CRLF & $CD_sk2)

	EndFunc
Der Unterschied zu oben: jetzt kommt als Zahl immer das raus, was ich bei GUICtrlCreateInput als ersten Parameter genommen habe!

Nochmals Danke für die Hilfe!
derrod is offline  
Old 10/11/2012, 21:02   #4
 
V8II's Avatar
 
elite*gold: 0
Join Date: Jul 2010
Posts: 475
Received Thanks: 130
Ich denke was du suchst ist Inputbox, nicht GuiCtrlCreateInput ?
V8II is offline  
Thanks
1 User
Old 10/11/2012, 21:10   #5
 
elite*gold: 0
Join Date: Jun 2010
Posts: 65
Received Thanks: 0
Wo ist da der Unterschied?
derrod is offline  
Old 10/11/2012, 21:33   #6
 
H@CT0R's Avatar
 
elite*gold: 0
Join Date: Apr 2012
Posts: 1,214
Received Thanks: 153
Quote:
Originally Posted by derrod View Post
Danke! so gehts!

Sorry! auf den ersten Blick schien es, als würde es gehen, es geht aber doch nicht :/ ich hab jetzt folgendes:

Code:
      $CD_sk2_I = GUICtrlCreateInput("0", 160, 50, 40)
      $CD_sk2 = GuiCtrlRead($CD_sk2_I)
     _Bot($CD_sk2)
Und in der Funktion noch das Gleiche:

Code:
	Func _Bot($CD_sk2)

		MsgBox(524320, "Testprogramm", "Variable:" & @CRLF & $CD_sk2)

	EndFunc
Der Unterschied zu oben: jetzt kommt als Zahl immer das raus, was ich bei GUICtrlCreateInput als ersten Parameter genommen habe!

Nochmals Danke für die Hilfe!
der erste paramater ist bei guictrlcreateinput der wert, der in der inputbox steht, wenn der user nichts daran geändert hat (der also von anfang an schon drinnen steht)
trägst du also keinen wert in die inputbox ein, wird dieser wert benutzt
H@CT0R is offline  
Thanks
1 User
Old 10/11/2012, 21:39   #7
 
elite*gold: 0
Join Date: Jun 2010
Posts: 65
Received Thanks: 0
okay, aber wenn ich einen Eintrage, kommt trotzdem dieser Wert! Igrendetwas läuft schief! ich hab keine ahnung was :/

hier (aus dem TuT von Forsaken) funktioniert das alles auch:

Code:
#include <GUIConstantsEx.au3>

GUICreate("Forsaken's Bot", 335, 100)

GUISetState(@SW_SHOW)

GUICtrlCreateLabel("Key", 8, 10)
$key1 = GUICtrlCreateInput("", 35, 8, 120)
GUICtrlCreateLabel("Time", 8, 44)
$time1 = GUICtrlCreateInput("", 35, 40, 120)

$startbutton = GUICtrlCreateButton("Start", 190, 8, 60)

While 1
	$msg = GUIGetMsg()
	
	Select
		
		Case $msg = $startbutton
				$send1 = GUICtrlRead($key1)
				$sleep1 = GUICtrlRead($time1)
			While 1	
				Send($send1)
				Sleep($sleep1)
			WEnd
				
		Case $msg = $GUI_EVENT_CLOSE
			GUIDelete()
			ExitLoop
			
	EndSelect
		
WEnd
Asche auf mein Haupt... ich habe den Fehler entdeckt! ich habe die Variablen sofort zugewiesen, ohne dass der Nutzer die Möglichkeit hatte etwas daran zu ändern....

Wenn man den ganzen Tag an einem Quelltext sitzt übersieht man sowas... Mist!

Ich danke Euch allen sehr herzlich!
derrod is offline  
Reply




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


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.