hallo
bin noch net so lange an auto it
eigentlich erst 2tage
naja also ich habe mir eine art macro erstellt
am anfang kommt ein kleines menu wo mann benutzer daten
eingeben soll
diese angaben soll das script späder übernehmen
wie mache ich das??
wie lautet der befehl
auf wunsch lade ich gerne die source hoch
mfg langi890
Input Frage
-
- [ offen ]
-
langi890 -
27. November 2008 um 16:07 -
Geschlossen -
Erledigt
-
-
Du kannst die eingegeben Daten mit
GuiCtrlRead($INPUT) rauslesen, alternativ auch mit ControlGetText() und in eine Variable speichern.
Wenn man den Quellcode vor sich hat, kann man genauere Tipps geben
Schau in der Hilfe nach beiden Befehlen, die Beispiele erläutern die Funktionsweise eigentlich recht gut.
Gruß
Prajoss
-
Hi, und willkommen im Forum
auf wunsch lade ich gerne die source hoch
Das wäre vielleicht ganz sinnvoll ^^. 1. mal weis man dann, du hast dich wenigstens bemüht selber etwas zu machen und wir wissen auch dann erst was du meinst.
Also lade den Quelltext hoch und erkläre anhand des Quelltextes was du machen willst. Einen wirklichen Befehl dazu gibt es denke ich mal nicht, außer du meinst Variablen :D. -
Moin,
ohne Code-Beispiel lässt sich nur schwerlich etwas dazu sagen.
LG
Greenhorn -
danke
für die schnelle antwort
hetz habe ich noch ne frage wie kann ich
machen das er die input daten dann nochmal schreibt
so die art (ich weis es stimmt nicht aber es beschreibt es sehr gut )Send ("$input")
[autoit]#include <GUIConstantsEx.au3>
[/autoit][autoit][/autoit][autoit]
#include <Process.au3>
Opt('MustDeclareVars', 1)_Main()
[/autoit][autoit][/autoit][autoit]Func _Main()
[/autoit][autoit][/autoit][autoit]
Local $filemenu, $fileitem, $recentfilesmenu, $separator1
Local $exititem, $helpmenu, $aboutitem, $okbutton, $cancelbutton
Local $msg, $file, $Name, $Passwort
#forceref $separator1GUICreate("GUI menu", 300, 200)
[/autoit][autoit][/autoit][autoit]
$filemenu = GUICtrlCreateMenu("File")
$fileitem = GUICtrlCreateMenuItem("Open...", $filemenu)
$recentfilesmenu = GUICtrlCreateMenu("Recent Files", $filemenu)
$separator1 = GUICtrlCreateMenuItem("", $filemenu)
$exititem = GUICtrlCreateMenuItem("Exit", $filemenu)
$helpmenu = GUICtrlCreateMenu("?")
$aboutitem = GUICtrlCreateMenuItem("About", $helpmenu)
$Passwort = GUICtrlCreateInput( "Passwort", 170, 80, 90, 20)
$Name = GUICtrlCreateInput("ID", 170, 60, 90, 20)
$okbutton = GUICtrlCreateButton("AUTOLOGIN", 50, 50, 90, 40)$cancelbutton = GUICtrlCreateButton("Cancel", 90, 100, 40, 20)
[/autoit][autoit][/autoit][autoit]GUISetState()
[/autoit][autoit][/autoit][autoit]While 1
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
$msg = GUIGetMsg()Select
[/autoit][autoit][/autoit][autoit]
Case $msg = $GUI_EVENT_CLOSE Or $msg = $cancelbutton
ExitLoopCase $msg = $fileitem
[/autoit][autoit][/autoit][autoit]
$file = FileOpenDialog("Choose file...", @TempDir, "All (*.*)")
If @error <> 1 Then GUICtrlCreateMenuItem($file, $recentfilesmenu)Case $msg = $exititem
[/autoit][autoit][/autoit][autoit]
ExitLoopCase $msg = $okbutton
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]
Run ("SRO_AUTO")
Sleep (3000)
MouseClick ("left" , 473,177 )
Run ("silkroad.exe")
Sleep (2500)
MouseClick ( "left" , 879,539 )
Sleep (12000)
MouseClick ("left")ExitLoop
[/autoit][autoit][/autoit][autoit]Case $msg = $aboutitem
[/autoit][autoit][/autoit][autoit]
MsgBox(0, "About", "GUI Menu Test")
EndSelect
WEndGUIDelete()
[/autoit][autoit][/autoit][autoit]Exit
[/autoit]
EndFunc ;==>_Mainhier mein source nach dem letzen "mouseclick ("left") soll er die daten eingeben
mfg langi -
was soll er wohin schreiben??
wenn du die Inputs auslesen willst geht es über GUICtrlRead($INPUT), in deinem Beispiel:
$auslesen = GUICtrlRead($NAme)
MsgBox(0, "Test", $auslesen)oder gleich
MsgBox(0, "Test", GUICtrlRead($auslesen))
und wenn du sie in ein Programm eintippen lassen willst, benötigst du dann entweder
Send($auslesen) oder ControlSendText("Programmname", "", ID, $auslesen)
Gruß
Prajoss
-
Meinst Du so ? allerdings würde ich zumindest den Teil mit mit den Mousclick Befehlen ersetzen gegen ControlClick...
[autoit]#include <GUIConstantsEx.au3>
[/autoit][autoit][/autoit][autoit]
#include <Process.au3>
Opt('MustDeclareVars', 1)_Main()
[/autoit][autoit][/autoit][autoit]Func _Main()
[/autoit][autoit][/autoit][autoit]
Local $filemenu, $fileitem, $recentfilesmenu, $separator1
Local $exititem, $helpmenu, $aboutitem, $okbutton, $cancelbutton
Local $msg, $file, $Name, $Passwort
#forceref $separator1GUICreate("GUI menu", 300, 200)
[/autoit][autoit][/autoit][autoit]
$filemenu = GUICtrlCreateMenu("File")
$fileitem = GUICtrlCreateMenuItem("Open...", $filemenu)
$recentfilesmenu = GUICtrlCreateMenu("Recent Files", $filemenu)
$separator1 = GUICtrlCreateMenuItem("", $filemenu)
$exititem = GUICtrlCreateMenuItem("Exit", $filemenu)
$helpmenu = GUICtrlCreateMenu("?")
$aboutitem = GUICtrlCreateMenuItem("About", $helpmenu)
$Passwort = GUICtrlCreateInput( "Passwort", 170, 80, 90, 20)
$Name = GUICtrlCreateInput("ID", 170, 60, 90, 20)
$okbutton = GUICtrlCreateButton("AUTOLOGIN", 50, 50, 90, 40)$cancelbutton = GUICtrlCreateButton("Cancel", 90, 100, 40, 20)
[/autoit][autoit][/autoit][autoit]GUISetState()
[/autoit][autoit][/autoit][autoit]While 1
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
$msg = GUIGetMsg()Select
[/autoit][autoit][/autoit][autoit]
Case $msg = $GUI_EVENT_CLOSE Or $msg = $cancelbutton
ExitLoopCase $msg = $fileitem
[/autoit][autoit][/autoit][autoit]
$file = FileOpenDialog("Choose file...", @TempDir, "All (*.*)")
If @error <> 1 Then GUICtrlCreateMenuItem($file, $recentfilesmenu)Case $msg = $exititem
[/autoit][autoit][/autoit][autoit]
ExitLoopCase $msg = $okbutton
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
$pwd = GUICtrlRead($Passwort)
$name = GUICtrlRead($Name)
;sehr unegschickt
Run ("SRO_AUTO")
Sleep (3000)
MouseClick ("left" , 473,177 )
Run ("silkroad.exe")
Sleep (2500)
MouseClick ( "left" , 879,539 )
Sleep (12000)
MouseClick ("left")
;-------
Send($pwd)
Send("{TAB}")
Send($name)ExitLoop
[/autoit][autoit][/autoit][autoit]Case $msg = $aboutitem
[/autoit][autoit][/autoit][autoit]
MsgBox(0, "About", "GUI Menu Test")
EndSelect
WEndGUIDelete()
[/autoit][autoit][/autoit][autoit]Exit
[/autoit]
EndFunc ;==>_Main -
Bei dir bringt er
bei zeile 50und 51 nen error
variable has used without declaredsry das ich so fragen stell....
is mein erstes AutoIT projekt -
Dieser Fehler besagt, dass du eine Variable verwendest, die noch nicht deklariert ist..
In diesem Fall sind es: $pwd und $name..
Du musst sie noch bei deinen deklarierten Variablen dazuschreiben:
Local $pwd, $name
Gruß
Prajoss
-
oder du änderst das hier:
[autoit]Opt('MustDeclareVars', 1)
[/autoit]
[autoit]
inOpt('MustDeclareVars', 0)
[/autoit]
oder nimmst die Zeile ganz raus...Zitat
MustDeclareVars Wenn diese Option genutzt wird müssen alle Variablen deklariert werden mit Dim, Local oder Global bevor sie verwendet werden können - beseitigt die Möglichkeit von Bugs durch Schreibfehler in Variablen.
1 = Variable muß deklariert werden
0 = Variable muß nicht deklariert werden (Standard)übrigens wäre statt den Sleep befehlen
[autoit]WinWait ( "title" [, "text" [, timeout]] )
[/autoit]geschickter.