While Problem

11/05/2013 16:13 Coromu#1
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("xxx", 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
11/05/2013 16:21 alpines#2
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
11/05/2013 16:31 Coromu#3
Danke erstmal für die Antwort. Ne so nicht, hier das Bild.

[Only registered and activated users can see links. Click Here To Register...]

Die Anzahl soll die Anzahl der vorgänge sein
11/05/2013 16:36 alpines#4
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.
11/05/2013 16:40 Coromu#5
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
11/05/2013 16:42 alpines#6
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
11/05/2013 16:47 Coromu#7
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.
11/05/2013 16:50 alpines#8
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.
11/05/2013 17:41 Coromu#9
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.
11/05/2013 17:48 alpines#10
$iAnzahl ist nicht $Anzahl1!

$Anzahl1 ist in deinem Fall das Handle vom Control. $iAnzahl soll das Control auslesen mit GUICtrlRead!
11/05/2013 18:26 Coromu#11
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?
11/05/2013 18:44 alpines#12
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)