|
You last visited: Today at 00:57
Advertisement
While Problem
Discussion on While Problem within the AutoIt forum part of the Coders Den category.
11/05/2013, 16:13
|
#1
|
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
|
|
|
11/05/2013, 16:21
|
#2
|
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
|
|
|
11/05/2013, 16:31
|
#3
|
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
|
|
|
11/05/2013, 16:36
|
#4
|
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.
|
|
|
11/05/2013, 16:40
|
#5
|
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
|
|
|
11/05/2013, 16:42
|
#6
|
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
|
|
|
11/05/2013, 16:47
|
#7
|
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.
|
|
|
11/05/2013, 16:50
|
#8
|
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.
|
|
|
11/05/2013, 17:41
|
#9
|
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.
|
|
|
11/05/2013, 17:48
|
#10
|
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!
|
|
|
11/05/2013, 18:26
|
#11
|
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?
|
|
|
11/05/2013, 18:44
|
#12
|
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)
|
|
|
All times are GMT +2. The time now is 00:57.
|
|