Hilfe bei input

12/05/2008 14:02 FreeStylaa#1
Hi,
bin grad an etwas kleinem drann wo anfangs ein fenster mit inputbox erscheint(geht auch).
Nun möchte ich, dass die zahl wo man in die inputbox eingibt die wiederholungszahl einer zugewiesenen Funktion angibt..

Input:
Code:
$input = GUICtrlCreateInput("Die Zahl", 216, 56, 81, 21)
Hier soll die zahl aus der inputbox hin:
Code:
for $i = 1 to $input
Problem:
Wenn ich das Programm starte, meine Zahl eingebe und dann meinen Hotkey drücke zum beginnen, wiederholt es meine Funktion unendlich!
Aber ich möchte ja, dass es die Funktion nur so oft wie aus der inputbox entnommen wiederholt^^
12/05/2008 14:04 i4mSoH34Vy#2
$var = GuiCtrlread($input)
for $i = 1 to $var
12/05/2008 14:23 kknb#3
oder halt direkt

for $i = 1 to guictrlread($input)
12/05/2008 14:26 FreeStylaa#4
Hmm geht i-wie nur so oft wie ich es in den source bei input reinschreibe...

Code:
#include <GUIConstantsEx.au3>
$GUI = GUICreate("Perma-Schattenform", 324, 182, 218, 135)
GUICtrlCreateGroup("Wichtig!", 8, 8, 305, 161)
GUICtrlCreateLabel("Fertigkeitenanordnung:", 24, 32, 113, 17)
GUICtrlCreateLabel("[1] - Glyphe der Schnelligkeit", 24, 56, 139, 17)
GUICtrlCreateLabel("[2] - Tödliches Paradoxon", 24, 80, 125, 17)
GUICtrlCreateLabel("[3] - Schattenform", 24, 104, 88, 17)
GUICtrlCreateLabel("Wiederholungen:", 216, 32, 85, 17)
$input = GUICtrlCreateInput("", 216, 56, 81, 21)
$Close = GUICtrlCreateButton("OK", 96, 128, 121, 25, 0)
$var = GuiCtrlread($input)
GUISetState(@SW_SHOW)
HotKeySet("{F8}", "sf")
HotKeySet ("{ESC}" , "Terminate")
TrayTip("Dauer-Schattenform Aktiv!","Beenden mit ESC",5000)

$hwnd = "Guild Wars"

While true 
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
case $Close
GUIDelete($GUI)
EndSwitch
WEnd

func sf()
for $i = 1 to $var
Sleep(100)
ControlSend($hwnd,"","","{1}")
Sleep(1000)
ControlSend($hwnd,"","","{2}")
Sleep(100)
ControlSend($hwnd,"","","{3}")
Sleep(30800)
next
EndFunc

Func Terminate() 
Exit 
EndFunc
Wenn ich garnichts reinschreibe gehts auch nich....
12/05/2008 14:52 kknb#5
du hast es auch direkt in den guiaufbau geschrieben, ist klar das dort nicht passiert, weil zu dem zeitpunkt noch keiner was reingeschrieben hat.

Code:
#include <GUIConstantsEx.au3>
$GUI = GUICreate("Perma-Schattenform", 324, 182, 218, 135)
GUICtrlCreateGroup("Wichtig!", 8, 8, 305, 161)
GUICtrlCreateLabel("Fertigkeitenanordnung:", 24, 32, 113, 17)
GUICtrlCreateLabel("[1] - Glyphe der Schnelligkeit", 24, 56, 139, 17)
GUICtrlCreateLabel("[2] - Tödliches Paradoxon", 24, 80, 125, 17)
GUICtrlCreateLabel("[3] - Schattenform", 24, 104, 88, 17)
GUICtrlCreateLabel("Wiederholungen:", 216, 32, 85, 17)
$input = GUICtrlCreateInput("", 216, 56, 81, 21)
$Close = GUICtrlCreateButton("OK", 96, 128, 121, 25, 0)
GUISetState(@SW_SHOW)
HotKeySet("{F8}", "sf")
HotKeySet ("{ESC}" , "Terminate")
TrayTip("Dauer-Schattenform Aktiv!","Beenden mit ESC",5000)

$hwnd = "Guild Wars"

While true 
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
case $Close
GUIDelete($GUI)
EndSwitch
WEnd

func sf()
$var = GuiCtrlread($input)
MsgBox(16,"wiederholungen", "es wird " & $var & " mal wiederholt!")
for $i = 1 to $var
Sleep(100)
ControlSend($hwnd,"","","{1}")
Sleep(1000)
ControlSend($hwnd,"","","{2}")
Sleep(100)
ControlSend($hwnd,"","","{3}")
Sleep(30800)
next
EndFunc

Func Terminate() 
Exit 
EndFunc
12/05/2008 15:03 FreeStylaa#6
Egal was ich jetzt bei input eingebe, beim starten (mit F8) kommt: es wird 0 mal wiederholt... und passiert dann garnichts
12/05/2008 15:08 kknb#7
bei mir funktionierts einwandfrei, du benutzt auch den code den ich oben gepostet habe?
12/05/2008 15:19 FreeStylaa#8
Ja habe ich:

Code:
#include <GUIConstantsEx.au3>
$GUI = GUICreate("Perma-Schattenform", 324, 182, 218, 135)
GUICtrlCreateGroup("Wichtig!", 8, 8, 305, 161)
GUICtrlCreateLabel("Fertigkeitenanordnung:", 24, 32, 113, 17)
GUICtrlCreateLabel("[1] - Glyphe der Schnelligkeit", 24, 56, 139, 17)
GUICtrlCreateLabel("[2] - Tödliches Paradoxon", 24, 80, 125, 17)
GUICtrlCreateLabel("[3] - Schattenform", 24, 104, 88, 17)
GUICtrlCreateLabel("Wiederholungen:", 216, 32, 85, 17)
$input = GUICtrlCreateInput("", 216, 56, 81, 21)
$Close = GUICtrlCreateButton("OK", 96, 128, 121, 25, 0)
GUISetState(@SW_SHOW)
HotKeySet("{F8}", "sf")
HotKeySet ("{ESC}" , "Terminate")
TrayTip("Dauer-Schattenform Aktiv!","Beenden mit ESC",5000)

$hwnd = "Guild Wars"

While true 
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
case $Close
GUIDelete($GUI)
EndSwitch
WEnd

func sf()
$var = GuiCtrlread($input)
MsgBox(16,"wiederholungen", "es wird " & $var & " mal wiederholt!")
for $i = 1 to $var
Sleep(100)
ControlSend($hwnd,"","","{1}")
Sleep(1000)
ControlSend($hwnd,"","","{2}")
Sleep(100)
ControlSend($hwnd,"","","{3}")
Sleep(30800)
next
EndFunc

Func Terminate() 
Exit 
EndFunc
12/05/2008 16:01 Valvepro#9
Hi, machs mal lieber so ;)

PHP Code:
#include <GUIConstantsEx.au3>
$GUI GUICreate("Perma-Schattenform"324182218135)
GUICtrlCreateGroup("Wichtig!"88305161)
GUICtrlCreateLabel("Fertigkeitenanordnung:"243211317)
GUICtrlCreateLabel("[1] - Glyphe der Schnelligkeit"245613917)
GUICtrlCreateLabel("[2] - Tödliches Paradoxon"248012517)
GUICtrlCreateLabel("[3] - Schattenform"241048817)
GUICtrlCreateLabel("Wiederholungen:"216328517)
$input GUICtrlCreateInput(""216568121)
$Close GUICtrlCreateButton("OK"96128121250)
GUISetState(@SW_SHOW)
HotKeySet("{F8}""sf")
HotKeySet ("{ESC}" "Terminate")
TrayTip("Dauer-Schattenform Aktiv!","Beenden mit ESC",5000)

$hwnd "Guild Wars"

While true 
Switch GUIGetMsg()
Case 
$GUI_EVENT_CLOSE
Exit
case 
$Close
$var 
GuiCtrlread($input)
GUIDelete($GUI)
EndSwitch
WEnd

func sf
()
MsgBox(16,"wiederholungen""es wird " $var " mal wiederholt!")
for 
$i 1 to $var
Sleep
(100)
ControlSend($hwnd,"","","{1}")
Sleep(1000)
ControlSend($hwnd,"","","{2}")
Sleep(100)
ControlSend($hwnd,"","","{3}")
Sleep(30800)
next
EndFunc

Func Terminate
() 
Exit 
EndFunc 
12/05/2008 16:27 kknb#10
Quote:
Originally Posted by FreeStylaa View Post
Problem:
Wenn ich das Programm starte, meine Zahl eingebe und dann meinen Hotkey drücke zum beginnen, wiederholt es meine Funktion unendlich!
Aber ich möchte ja, dass es die Funktion nur so oft wie aus der inputbox entnommen wiederholt^^

öhm ich dachte das soll gleich kommen wenn man auf f8 drückt....hättest eventuell mal sagen sollen das der ok button vorher gedrückt werden soll...