|
You last visited: Today at 20:49
Advertisement
Tratsch rund um Autoit / Autoit Talk | kleinere Fragen
Discussion on Tratsch rund um Autoit / Autoit Talk | kleinere Fragen within the AutoIt forum part of the Coders Den category.
07/12/2012, 10:03
|
#316
|
elite*gold: 464
Join Date: Dec 2010
Posts: 3,998
Received Thanks: 3,909
|
Hehe danke schon mal
Könntest du es vielleicht berichtigen?
|
|
|
07/12/2012, 10:07
|
#317
|
elite*gold: 0
Join Date: Jul 2012
Posts: 63
Received Thanks: 20
|
wie kann man eine variable aus einer funktion z.B:
Code:
$oIE = _IECreate($sUrl, 0, 1, 1)
als globale variable festlegen, sodass ich sie auch auserhalb der funktion noch nutzen kann?
|
|
|
07/12/2012, 10:08
|
#318
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
Füg einfach in der GUI Switch dein $Case button1 ein. Und was ausgeführt werden soll is eben Msgbox(0, GuictrlRead($input1), GuictrlRead($input2))
Nichts gegen dich, aber du solltest dir unbedingt nochmal die absoluten Grundlagen anschauen.
Code:
MsgBox ( 0, " $input1 ", " $input2")
Hätte einfach eine Msgbox aufgerufen, die $input1 als Titel und $input2 als Content hätte
@Dark
Code:
Global $oIE = _IECreate($sUrl, 0, 1, 1)
|
|
|
07/12/2012, 10:13
|
#319
|
elite*gold: 464
Join Date: Dec 2010
Posts: 3,998
Received Thanks: 3,909
|
Und dank dir noch mal
Das heißt mein Code war im Endeffekt komplett unnötig geschrieben 
Ich dachte ich hätte diese verstanden aber dann werd ich mir die Grundlagen mal wieder anschauen
|
|
|
07/12/2012, 10:18
|
#320
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
Schau dir am besten nochmal die Schleifen an 
While = während, If = wenn...
Ist eig. ziemlich einfach zu verstehen.
|
|
|
07/12/2012, 10:20
|
#321
|
elite*gold: 464
Join Date: Dec 2010
Posts: 3,998
Received Thanks: 3,909
|
Hehe werd ich machen
Den Teil hab ich dann bestimmt nur überflogen
|
|
|
07/12/2012, 10:32
|
#322
|
elite*gold: 0
Join Date: Jul 2012
Posts: 63
Received Thanks: 20
|
danke nochmal Lawliet! dank dieser jetzt "globalen" Variable läuft mein Loginskript fehlerfrei und im Hintergrund
2 kleine Fragen rund ums Thema Pixelsearch:
1. Kann man bei PixelSearch die Position einer Flashdatei im Browser verwenden wo er dann losgeht und alles sucht?
2. Kann man es hinbekommen das AutoIt um einen bewegenden und gefundenen Pixel im PixelSearch einen Kreis zieht (z.B. Paint)?
|
|
|
07/13/2012, 10:22
|
#323
|
elite*gold: 5
Join Date: Apr 2011
Posts: 1,960
Received Thanks: 1,483
|
Sleep(3000)
ControlSend("METIN2", "", "", "{SPACE}")
Kann mir jemand sagen warum das Spiel diesen Code nicht annimmt? Mit Send gehts auch nicht :/
|
|
|
07/13/2012, 12:49
|
#324
|
elite*gold: 0
Join Date: Mar 2011
Posts: 8,645
Received Thanks: 3,454
|
Metin2 blockiert das normale ControlSend
|
|
|
07/14/2012, 01:13
|
#325
|
elite*gold: 464
Join Date: Dec 2010
Posts: 3,998
Received Thanks: 3,909
|
Nabend
Also ich wollte einen kleinen "Saver" schreiben 
Mein Problem ist jetzt das er die Datei dann jetzt nicht öffnen will... Er gibt aber auch keinen Error aus
Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 516, 276, 192, 124)
$Label1 = GUICtrlCreateLabel("Toni's Saver", 152, 16, 212, 48)
GUICtrlSetFont(-1, 27, 400, 0, "Small Fonts")
GUICtrlSetColor(-1, 0xFF0000)
$Save = GUICtrlCreateInput("Type in what you want to save!", 112, 104, 281, 21)
$Button1 = GUICtrlCreateButton("Save", 56, 208, 123, 57)
$Open = GUICtrlCreateButton("Open", 312, 208, 123, 57)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Save
Case $Button1
Case $Open
EndSwitch
WEnd
If $Button1 Then FileWrite ("TonisSaver", " $Save ")
If $Open Then FileOpen ("TonisSaver")
Ich hoffe ihr könnt mir helfen
|
|
|
07/14/2012, 01:23
|
#326
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
Code:
If $Button1 Then FileWrite ("TonisSaver", " $Save ")
If $Open Then FileOpen ("TonisSaver")
FileWrite erwartet als ersten Parameter den Pfad, wo gespeichert werden soll (e.g. "C:\Downloads\test.txt", @desktopdir & "\test123\ka.txt").
Als zweiten erwartet FileWrite das was er schreiben soll. Wie bekannt sein sollte, musst du auch einen Input mit GuiCtrlRead($save) auslesen, da $save an sich nur die ControlID beinhaltet (Guictrlcreateinput gibt eine ControlID zurück).
Würden die Leute mal ihre GUIs selbst erstellen, wäre das auch nicht einer der häufigesten Fehler
Keine Ahnung was du mit FileOpen erreichen willst  FileOpen wird nur benötigt, wenn du schnell arbeiten willst, oder FileRead auf eine bestimmte weise lesen soll (Binary, Unicode x).
Benutz bitte einfach die Hilfe, welche bei Autoit dabei ist. Dort hättest du das auch lesen können
|
|
|
07/14/2012, 01:24
|
#327
|
elite*gold: 464
Join Date: Dec 2010
Posts: 3,998
Received Thanks: 3,909
|
Hehe okay dank dir
€: Die Datei wird aber nicht im Download Ordner erstellt und kann somit auch nicht geöffnet werden :/
Code:
If $Button1 Then
FileWrite ("C:\Downloads\", @desktopdir & $Save)
EndIf
If $Open Then
FileRead ("TonisSaver")
EndIf
hab es jetzt so :/
|
|
|
07/14/2012, 10:49
|
#328
|
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
|
1. Sofern die zu lesende/schreibende Datei im selben Ordner wie das Script ist, bin ich mir ziemlich sicher, dass der Name ausreicht und kein Pfad nötig ist. Allerdings muss der Name eine Dateiendung beinhalten (z.B. .txt).
2. Was soll
sein? Zum einen wird diese Stelle des Codes nie erreicht, da eine Endlosschleife davor steht und zum anderen müsste es wenn dann heißen:
Code:
If GUIGetMsg() = $Button1 Then
Sinnvoller wäre aber, einfach die gewünschten Befehle hinter (mit Absatz) in den Switch zu schreiben.
3. Was hast du mit FileOpen vor? Wenn du die Datei öffnen willst, um das Handle zu kriegen, solltest du den Befehl einfach vor FileWrite in denselben Case packen. Dann müsstest du allerdings auch das zurückgegebene Handle als Variable speichern und in FileWrite verwenden. Zwingend nötig ist das nicht, FileRead öffnet die Datei sonst auch selbst.
Oder hast du vor, dir die geschriebene Datei anzuzeigen? In dem Fall ist das auch nicht der richtige Befehl, da das Öffnen im Hintergrund passiert. Möglich wäre ShellExecute dafür zu nehmen, sodass die Datei automatisch im Editor oder sonstigem Programm geöffnet und angezeigt wird.
4. $Save muss ausgelesen werden, damit du an den eingegebenen String kommst. Das hat Lawliet doch bereits geschrieben aber auch in deiner neuen Version kommt kein GUICtrlRead vor.
Edit: Hier mal ne funktionierende Version. Ich bin davon ausgegangen, dass die Datei eine .txt ist und im selben Verzeichnis wie dein Script. Beides könnte gegebenenfalls geändert werden.
Im FileWrite habe ich noch einen Absatz eingefügt, sodass jeder String in eine neue Zeile geschrieben wird.
Außerdem bin ich davon ausgegangen, dass Open die datei anzeigen soll und habe das mit ShellExecute gelöst. Falls du etwas anderes meintest, kannst du den Befehl natürlich durch einen anderen ersetzen.
Die MsgBoxen können entfernt werden, sie zeigen bloß an, dass die entsprechenden Buttons gedrückt wurden.
Code:
;~ #include <ButtonConstants.au3>
;~ #include <EditConstants.au3>
#include <GUIConstantsEx.au3>
;~ #include <StaticConstants.au3>
;~ #include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 516, 276, 192, 124)
$Label1 = GUICtrlCreateLabel("Toni's Saver", 152, 16, 212, 48)
GUICtrlSetFont(-1, 27, 400, 0, "Small Fonts")
GUICtrlSetColor(-1, 0xFF0000)
$Save = GUICtrlCreateInput("Type in what you want to save!", 112, 104, 281, 21)
$Button1 = GUICtrlCreateButton("Save", 56, 208, 123, 57)
$Open = GUICtrlCreateButton("Open", 312, 208, 123, 57)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
MsgBox(0,"","$Button1 (Save) gedrückt!") ; unnötig.
FileWrite("TonisSaver.txt", @CRLF & GUICtrlRead($Save)) ; 1. Parameter muss Pfad enthalten falls nicht selbes Verzeichnis wie das Script
Case $Open
MsgBox(0,"","$Open gedrückt!") ; unnötig.
ShellExecute("TonisSaver.txt", "", "", "edit") ; 3. Parameter muss Pfad sein falls nicht selbes Verzeichnis wie das Script
EndSwitch
WEnd
PS: Vier der fünf Includes sind für dieses Script unnötig, da nichts darin enthaltenes vorkommt. Habe sie einfach mal auskommentiert, da das unnötig Speicher frisst.
|
|
|
07/14/2012, 12:34
|
#329
|
ベトナム警察
elite*gold: 0
Join Date: Jan 2012
Posts: 16,497
Received Thanks: 3,524
|
Außerdem kommen Variablen immer außerhalb der Ausführung strichen..("...")
|
|
|
07/14/2012, 22:28
|
#330
|
elite*gold: 0
Join Date: Mar 2010
Posts: 306
Received Thanks: 73
|
Hey
Ich hab auch mal ne kleine Frage.. Und zwar.. Ich hab ne kleine Gui mit 3 Inputfeldern, und daneben 3 Buttons..
Kann man das irgendwie schaffen, dass wenn man in Input1 Enter drückt, Button1 geklickt wird, Input 2 -> 2, Input3 -> 3?
und ob sich jemand mit Fiesta Online auskennt.. Hab da paar Probleme mit ControlSend...
|
|
|
Similar Threads
|
[Sammelthread]Fragen zu Autoit wie man Hacks herstellt(Autoit) + Antworten
11/16/2011 - Metin2 - 0 Replies
Hallo Liebe Community,
Ich habe diesen Thread aufgemacht weil manche leute mit Autoit nicht mehr weiterkommen wie man Hack herstellt ,ich habe mit schon ein Multihack mit Autoit herstellt das war einfach .Da viele User nicht weiterkommen werden habe ich mich entschieden ein Thread aufzumachen mit Fragen und ich den dann Antworten kann und helfen kann!
------------------------------------------------- ---------------------------
Mein Multihack:...
|
All times are GMT +1. The time now is 20:49.
|
|