Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 00:57

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

Advertisement



While Problem

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

Reply
 
Old   #1
 
Coromu's Avatar
 
elite*gold: 340
Join Date: Nov 2007
Posts: 259
Received Thanks: 17
While Problem

Hey,

ich habe mir GUI Erstellt. Darin befindet sich eine Fläche mit Anzahl. Das heißt die Zahl die darein geschrieben wird, soll das Programm wiederholen.

z.B

Code:
#include <GUIConstantsEx.au3>

GUICreate("***", 300, 100)

GUICtrlCreateLabel("yyyy", 8, 10)
$XXXX1 = GUICtrlCreateInput("", 50, 8, 120)
GUICtrlCreateLabel("cccc", 8, 44)
$Anzahl1 = GUICtrlCreateInput("", 50, 40, 120)

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

GUISetState(@SW_SHOW)

While $Anzahl <= 10	Auf was muss ich das ändern?
	
WEnd
Coromu is offline  
Old 11/05/2013, 16:21   #2
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Was genau willst du denn erreichen? Mach mal Screenshots und poste sie hier.
Wenn du eine Folge 10. wiederholen willst kannst du z.B. das benutzen
Code:
For $i = 0 To 10
	;...
Next
alpines is offline  
Old 11/05/2013, 16:31   #3
 
Coromu's Avatar
 
elite*gold: 340
Join Date: Nov 2007
Posts: 259
Received Thanks: 17
Danke erstmal für die Antwort. Ne so nicht, hier das Bild.



Die Anzahl soll die Anzahl der vorgänge sein
Coromu is offline  
Old 11/05/2013, 16:36   #4
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Dann machst du das am besten mit einer For Schleife wie ich sie schon gepostet hab
Code:
$iAnzahl = GUICtrlRead($Anzahl1)

For $i = 0 To $iAnzahl
	;Hier die Account-Create Sequenz
Next
Mann kann sie auch mittels anderen Schleifen lösen aber ForNext ist hier die beste Variante.
alpines is offline  
Thanks
1 User
Old 11/05/2013, 16:40   #5
 
Coromu's Avatar
 
elite*gold: 340
Join Date: Nov 2007
Posts: 259
Received Thanks: 17
Und zwischen For und Next schreibe ich rein was er machen soll?

Code:
While 1
   
   $msg = GUIGetMsg()
	
	Select
		
		Case $msg = $startbutton
				
				$send1 = GUICtrlRead($Twitter1)
				$sleep1 = GUICtrlRead($Anzahl1)
				
			While 1	
				Send($send1)
				Sleep($sleep1)
			WEnd
			
		Case $msg = $GUI_EVENT_CLOSE
			GUIDelete()
			ExitLoop
			
		 EndSelect
		 
	sleep(1)
	
For $i = 0 To $iAnzahl
	
	MouseClick("left", 0, 500, 2)
	
Next
	
WEnd
Coromu is offline  
Old 11/05/2013, 16:42   #6
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Richtig, da würde er halt $iAnzahl * 2 oft auf 0 / 500 klicken.
Bitte verwende kein MouseClick wenn du Twitter Accounts erstellen willst oder sonst was dann nimm TCP / WinHttp oder zur Not auch IE.au3
alpines is offline  
Thanks
1 User
Old 11/05/2013, 16:47   #7
 
Coromu's Avatar
 
elite*gold: 340
Join Date: Nov 2007
Posts: 259
Received Thanks: 17
Ok, dann werde ich es damit machen. Nur habe ich das Problem, wenn ich es öffne Startet er direkt. Ohne das ich eine Anzahl eingegeben oder Start gedrückt habe.
Coromu is offline  
Old 11/05/2013, 16:50   #8
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Natürlich wird er das tun wenn du das in die While Schleife setzt, du musst das in die SwitchCase packen. Beispiel:
Code:
While 1
	$nMsg = GUIGetMsg()

	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit

		Case $startbutton
			$iAnzahl = GUICtrlRead($Anzahl1)

			For $i = 0 To $iAnzahl
				;...
			Next
	EndSwitch
WEnd
Habs jetzt aus dem Kopf getippt, wird wahrscheinlich nicht funktionieren.
alpines is offline  
Old 11/05/2013, 17:41   #9
 
Coromu's Avatar
 
elite*gold: 340
Join Date: Nov 2007
Posts: 259
Received Thanks: 17
For $i = 0 To $iAnzahl
For $i = 0 To ^ERROR

Error: Variable used without being declared

Das sagt er

Habs behoben alles ok. War irritiert, weil du ja keine 1 dahinter gesetzt hast.
Coromu is offline  
Old 11/05/2013, 17:48   #10
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
$iAnzahl ist nicht $Anzahl1!

$Anzahl1 ist in deinem Fall das Handle vom Control. $iAnzahl soll das Control auslesen mit GUICtrlRead!
alpines is offline  
Thanks
1 User
Old 11/05/2013, 18:26   #11
 
Coromu's Avatar
 
elite*gold: 340
Join Date: Nov 2007
Posts: 259
Received Thanks: 17
Ok passt hat geklappt danke. Noch eine frage...ich habe das Feld Twitter und was ich da rein schreibe soll er in ein Feld wieder rein schreiben. Bis zum feld komme ich, nur wie schreibt er das darein?
Coromu is offline  
Old 11/05/2013, 18:44   #12
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Es stehen dir viele Möglichkeiten offen
- ControlSend
- TCP
- WinHttp
- IE.au3

Aber das was du brauchst wenn du schon mit MouseClick arbeitest ist
Code:
$sText = GUICtrlRead(...)

Send($sText)
alpines is offline  
Reply




All times are GMT +2. The time now is 00:57.


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