|
You last visited: Today at 02:11
Advertisement
Autoit Spezielle Variable
Discussion on Autoit Spezielle Variable within the AutoIt forum part of the Coders Den category.
02/06/2010, 14:43
|
#1
|
elite*gold: 0
Join Date: Feb 2010
Posts: 8
Received Thanks: 0
|
Autoit Spezielle Variable
hihi
ich habe eine frage:
kann mir jmd sagen, wie ich in auto it eine variable erstelle, welche
ein wort als inhalt zugewiesen bekommt, wobei da wort zufällig auf einer internetseite generiert wird ??
ich habe mir gedacht, dass ich das wort markieren und kopieren lasse
und dann das "kopierte" der variable als wert zuweise .... wäre nett, wenn mit jmd helfen könnte
|
|
|
02/06/2010, 18:54
|
#2
|
elite*gold: 0
Join Date: Feb 2010
Posts: 8
Received Thanks: 0
|
ansatz
naja da mir bisher keine geantwortet hat habe ich mir einiges überlegt:
ichh ba e mir gedacht, dass ich ja theoretisch einfach eine inputbox erstellen könnte und dann mit dem programm einfach kopieren und einfügen lassen kann ....
also mein ansatz sieht so aus:
Code:
#include <GUIConstantsEx.au3>
GUICreate("Bot", 335, 100)
GUICtrlCreateLabel("ele", 8, 10)
$ele = GUICtrlCreateInput("", 60, 8, 120)
$startbutton = GUICtrlCreateButton("Start", 190, 8, 60)
GUISetState(@SW_SHOW)
$start = 0
$H = "Hilfe"
$H2 = "H"
While $start=0
$msg = GUIGetMsg()
Select
Case $msg = $startbutton
$start=$start+1
Case $msg = $GUI_EVENT_CLOSE
GUIDelete()
ExitLoop
EndSelect
WEnd
$zehn = 0
MouseClick ("left", 375, 368)
while $zehn<10
if $ele==$H then
send ($H2)
sleep (100)
send ("{Enter}")
sleep (250)
Else
send ($H)
sleep (100)
send ("{Enter}")
sleep (250)
EndIf
EndIf
$zehn=$zehn+1
Wend
--> es öffnet sich ein fenster mit einem textfeld und dem Start-button
(mehr oder weniger aus dem touturial übernommen... )
aber was mich nervt ist, dass
1. sich die Inputbox (nicht in diesem beispiel aber allg.) schliest nachdem etwas eingegeben wurde
2. dass ich auch wenn ich etwas eingebe die variable ele nicht besetzt wird ...
ich dachte eig. dass die Variable den wert übergeben bekommt, der in dem textfeld steht, sobald man start drückt ... aber dies ist nicht der fall -.-
vlt kennt ja jmd von euch eine bessere
(elegantere) Lösung
|
|
|
02/06/2010, 19:12
|
#3
|
elite*gold: 20
Join Date: Feb 2007
Posts: 3,080
Received Thanks: 4,294
|
verstehe ehrlich gesagt garnicht was du möchtest, drück dich mal klipp und klatr in einem satz aus
|
|
|
02/06/2010, 19:48
|
#4
|
elite*gold: 0
Join Date: Feb 2010
Posts: 8
Received Thanks: 0
|
hmm schwierig zu formulieren ....
aber ich habe das problem jetzt mehr oder weniger umgangen ....
was jetzt dazu gekommen ist:
Programm startet
--> es öffnet sich ein fenster mit einem Textfeld
Code:
#include <GUIConstantsEx.au3>
GUICreate("PSE-Bot", 335, 100)
GUICtrlCreateLabel("Element", 8, 10)
$ele = GUICtrlCreateInput("", 60, 8, 120)
GUISetState(@SW_SHOW)
mein problem ist jetzt:
ich will, dass die variable $ele durch den inhalt des textfeldes deklariert wird
--> ich gebe was in das feld ein und drücke enter --> varaible $ele hat jetzt meine eingabe als wert übergeben bekommen.
das ganz ewil ich dann auch noch in eine while-schleife packen aber das kommt erst später ....
jetzt ist primär mein problem, um es in einem satz zu formulieren
Die übergabe des Textinhaltes eines zuvor generierten textfelds an eine variable
[und das ganze in einer schleife ]
|
|
|
02/06/2010, 19:59
|
#5
|
elite*gold: 20
Join Date: Feb 2007
Posts: 3,080
Received Thanks: 4,294
|
du willst nichts deklarieren. du willst einfach den inhalt des inputs auslesen nehm ich an?
$ergebnis=guictrlread($ele)
Code:
#include <GUIConstantsEx.au3>
GUICreate("Bot", 335, 100)
GUICtrlCreateLabel("ele", 8, 10)
$ele = GUICtrlCreateInput("", 60, 8, 120)
$startbutton = GUICtrlCreateButton("Start", 190, 8, 60)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $startbutton
MsgBox(0,"",GUICtrlRead($ele))
EndSwitch
WEnd
|
|
|
02/06/2010, 20:32
|
#6
|
elite*gold: 0
Join Date: Feb 2010
Posts: 8
Received Thanks: 0
|
hmm ok
dann eben input auslesen
also so was wie in java der bufferd reader machen würde
danke für die antwort ich probiers gleich mal aus
aber:
geht es auch, ohne den start-button ?
(also z.B. mit enter bestätigen ?)
[habs noch nit ausprobiert aber ich denke mal so was in der art: ]
Code:
#include <GUIConstantsEx.au3>
GUICreate("Bot", 335, 100)
GUICtrlCreateLabel("ele", 8, 10)
$ele = GUICtrlCreateInput("", 60, 8, 120)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case [COLOR="Red"]{Enter}[/COLOR] ; funktioniert so wahrscheinlich nicht ... aber da muss ich erst mal ein bischen rumprobieren :D
MsgBox(0,"",GUICtrlRead($ele))
EndSwitch
WEnd
und 2.
was wenn ich die variable $ele öfters neu beschreiben will
also so, dass das fenster geöffnet bleibt
--> ich gebe einen text ein; lese den inhalt des inputs aus, nachdem ich enter [start] gedrück habe --> es passiert je nach text etwas (des ist eig kein problem..) --> ich gebe einen neuen text in das noch geöffnete fenster ein und belege die variable neu ....
ich hoffe das ist so verständlich xD
vielen dank schon mal
|
|
|
02/07/2010, 00:09
|
#7
|
elite*gold: 20
Join Date: Feb 2007
Posts: 3,080
Received Thanks: 4,294
|
klar das ist kein problem. jedesmal wenn du enter drückst wird der inhalt des inputfeldes neu eingelesen.
Code:
#include <GUIConstantsEx.au3>
#include <Misc.au3>
GUICreate("Bot", 335, 100)
GUICtrlCreateLabel("ele", 8, 10)
$ele = GUICtrlCreateInput("", 60, 8, 120)
GUISetState(@SW_SHOW)
$dll = DllOpen("user32.dll")
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
if _IsPressed("0D", $dll) then
MsgBox(0,"",GUICtrlRead($ele))
EndIf
WEnd
|
|
|
02/07/2010, 10:16
|
#8
|
elite*gold: 0
Join Date: Feb 2010
Posts: 8
Received Thanks: 0
|
hey vielen dank ich denke so sollte ich es jetzt ganz gut realisieren können
|
|
|
02/07/2010, 10:26
|
#9
|
elite*gold: 0
Join Date: Feb 2010
Posts: 8
Received Thanks: 0
|
ok ich habe das jetzt mal ausprobiert... .
sobald ich jetzt etwas in das textfeld eingebe öffnet sich ein neues fenster und meine eingabe wird wieder ausgegeben ...
was ich aber gerne hätte wäre, dass je nach eingabe dann etwas bestimmtes passiert.
Aber so, dass jedes mal wenn ich etwas eingebe genau einmal die aktion ausgeführt wird, bis ich wieder etwas eingeben ...
Code:
#include <GUIConstantsEx.au3>
#include <Misc.au3>
GUICreate("Bot", 335, 100)
GUICtrlCreateLabel("ele", 8, 10)
$ele = GUICtrlCreateInput("", 60, 8, 120)
GUISetState(@SW_SHOW)
$dll = DllOpen("user32.dll")
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
if _IsPressed("0D", $dll) then
MsgBox(0,"",GUICtrlRead($ele)) ;das text feld soll auch ausgewertet werden
EndIf
WEnd
$H = "Test"
While True
If $ele==$H Then
MouseClick ("left", 220, 220)
sleep (100)
MouseClick ("left", 220, 220)
EndIf
WEnd
das ist jetzt die etwas gekürzte fassung,... ich habe in wirklichkeit ca. 15 verschiedene aktionen, die gemacht werden sollen aber $H soll hier zum testen verwendet werden....
also wenn ich ich das feld test eingebe soll 2 mal mit der maus auf eine bestimmte stelle geklickt werden
wenn ich nocheinmal test eingeben soll das gleiche wieder passieren
aber immer nur dann wenn ich etwas neues eingegeben habe und dann wieder enter gedrückt habe
ich weiss ich bin nervig aber ich bekomme es leider nicht hin .. habe erst vor 3 tagen mit autoit angefangen
-- mir fehlt der doch recht hilfreiche goto befehl aus bat ^^ --
|
|
|
02/07/2010, 13:58
|
#10
|
elite*gold: 20
Join Date: Feb 2007
Posts: 3,080
Received Thanks: 4,294
|
Code:
#include <GUIConstantsEx.au3>
#include <Misc.au3>
GUICreate("Bot", 335, 100)
GUICtrlCreateLabel("ele", 8, 10)
$ele = GUICtrlCreateInput("", 60, 8, 120)
GUISetState(@SW_SHOW)
$dll = DllOpen("user32.dll")
gui()
func gui()
local $H = "Test"
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
if _IsPressed("0D", $dll) then
if guictrlread($ele) == $h then
return machwas()
elseif guictrlread($ele) == "anderes wort" then
return machwas1()
EndIf
EndIf
WEnd
endfunc
func machwas()
MouseClick ("left", 220, 220)
sleep (100)
MouseClick ("left", 220, 220)
return gui()
EndFunc
func machwas1()
;irgendwas anderes
EndFunc
|
|
|
02/07/2010, 19:36
|
#11
|
elite*gold: 0
Join Date: Feb 2010
Posts: 8
Received Thanks: 0
|
hey danke jetzt funktioniert alles so wie ich es mir vorgestellt habe
den func befehl kannte ich bisher noch nicht ^^ aber er erinnert mich etwas an die unterprogramme in Java
hmm so wie es aussieht hat autoit eher den "aufbau" (ich nenn das jetzt einfach mal so) einer Programmiersprache als einer skriptsprache ^^
also danke nochmal
|
|
|
|
Similar Threads
|
Spezielle Tasten bei Autoit
05/27/2010 - Main - 5 Replies
Hallo leute ich bräucht mal hilfe also kann mir irgendjemand sagen was ich eingeben muss für spezielle tasten z.B. die Tabulator Taste (die über caps)
weil ich würde gern was coden aber mir fehlen immer die befehle für die tasten und ich find die auch nirgens hab jeze schon ni halbe stunde gesucht :(
|
[AutoIT]Variable Conversion
10/30/2009 - AutoIt - 2 Replies
Is there any way to convert a variable into a certain other type?
For example:
Variable $A should be a float set to 5.01382
however when I bring it into AutoIT, it converts it to an Unsigned Long giving me a different value of something like 1099238427
So basically I just want to know if there is a command, or any way to code a function that can convert Variables set to Unsigned Long into Float/Double/Unsigned Short
|
AutoIt Variable Question
03/08/2008 - Conquer Online 2 - 10 Replies
Another stupid AutoIt Question...
Ok So... I have lets say I have an inputbox called $input and it works fine. So lets say the input box says What is your name?
And so the user types
Bob
I am wondering how to have a message box come up and say
Hello Bob!
If possible I need whole code. Whoever answers my question gets thanks :D
|
All times are GMT +2. The time now is 02:11.
|
|