Ich habe jetzt das Problem, das AutoIT die Gui bereits Liest, wenn ich mit der Maus aufs eingabefeld klicken und mir folglich keinen Wert zurückgibt.
Wie kriege ich es hin, dass AutoIT die Gui erst dann liest, wenn ich die Entertaste drücke
Danke
Read Input wenn Enter
-
- [ offen ]
-
Leupy -
23. Juni 2008 um 16:44 -
Geschlossen -
Erledigt
-
-
ähm für die zukunft : SCRIPT DAZU POSTEN
-
Gib mal den Code...
Hast du denn in der GUI-Schleife die dauerhafte Abfrage (GUICtrlRead) drin? Oder evtl. ein OnClick-Event auf die InputBox?
Enter-Bestätigung ist eigentlich ganz einfach. In der GUI-Schleife einfach mal _IsPressed einbauen.
-
Ohne code kann man da nicht viel sage.
Aber ich denke du benutzt den voreingestelleten oneventmode von koda, oder?
Du musst das dann mit _ispressed machen.
Post mal das Script, und man kann dir viel besser helfen . -
Es soll eigentlich nicht viel können, nur die IP einer URL anzeigen, da hab ich mir dann eine schöne GUI gebastelt(Mit KODA), jetzt bin ich aber auf das Problem mit dem dauernden Einlesen gestolpert, man muss das Programm über den taskmanager beenden.
[autoit]#include <GUIConstants.au3>
[/autoit][autoit][/autoit][autoit]#Region ### START Koda GUI section ### Form=D:\Eigene Dateien D\Programme\IPinger.kxf
[/autoit][autoit][/autoit][autoit]
$IPinger = GUICreate("IPinger", 603, 450, 193, 125)
GUISetBkColor(0xFFFFFF)
$IPinger = GUICtrlCreateLabel("IPinger", 224, 24, 160, 66)
GUICtrlSetFont(-1, 36, 800, 0, "Sylfaen")
$Schriftzug = GUICtrlCreateLabel ( "Das Tor zur Welt der IPs - Das Internet zeigt seine Namen", 160, 120, 283, 17)
$Input1 = GUICtrlCreateInput("Geben sie hier die URL ein", 136, 208, 329, 21)
GUICtrlSetFont(-1, 10, 400, 0, "Lucida Console")
GUICtrlSetCursor (-1, 5)
$GO_IP = GUICtrlCreateButton("FIND IP", 256, 248, 75, 65, 0)
GUICtrlSetFont(-1, 12, 800, 2, "Sylfaen")
$Copyright = GUICtrlCreateLabel("(c) 2008 by Roman Leuprecht; Picture from NASA", 152, 416, 280, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Tahoma")
$Made_with_AutoIT = GUICtrlCreateLabel("Made with AutoIT(http://www.autoit.de)", 192, 432, 195, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Tahoma")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit][autoit][/autoit][autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $nMsg = $Input1
TCPStartup()
MsgBox(1+64, "IP",TCPNameToIP("$Input1"))
Case $GUI_EVENT_CLOSE
ExitCase $Copyright
[/autoit]
EndSwitch
WEnd -
so führt er die funktion beim klick auf den button aus aber deine funktion scheint nicht zu funktionieren
wenn ich eingebe : https://autoit.de dann erscheint nur eine llere msg boxSpoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=D:\Eigene Dateien D\Programme\IPinger.kxf
[/autoit] [autoit][/autoit] [autoit]
$IPinger = GUICreate("IPinger", 603, 450, 193, 125)
GUISetBkColor(0xFFFFFF)
$IPinger = GUICtrlCreateLabel("IPinger", 224, 24, 160, 66)
GUICtrlSetFont(-1, 36, 800, 0, "Sylfaen")
$Schriftzug = GUICtrlCreateLabel ( "Das Tor zur Welt der IPs - Das Internet zeigt seine Namen", 160, 120, 283, 17)
$Input1 = GUICtrlCreateInput("Geben sie hier die URL ein", 136, 208, 329, 21)
GUICtrlSetFont(-1, 10, 400, 0, "Lucida Console")
GUICtrlSetCursor (-1, 5)
$GO_IP = GUICtrlCreateButton("FIND IP", 256, 248, 75, 65, 0)
GUICtrlSetFont(-1, 12, 800, 2, "Sylfaen")
$Copyright = GUICtrlCreateLabel("(c) 2008 by Roman Leuprecht; Picture from NASA", 152, 416, 280, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Tahoma")
$Made_with_AutoIT = GUICtrlCreateLabel("Made with AutoIT(http://www.autoit.de)", 192, 432, 195, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Tahoma")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GO_IP
_1()
Case $GUI_EVENT_CLOSE
ExitCase $Copyright
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
EndSwitch
WEndFunc _1()
[/autoit]
TCPStartup()
MsgBox(1+64, "IP",TCPNameToIP($Input1))
EndFunc -
Hi,
so reagiert er jetzt auf ENTER und auf den Knopfdruck alledings stimmt irgendwas mit deinen Befehlen nicht, weil die Msgbox leerbleibt.
/Edit: Verbessert, das $Input1 darf nicht in "" stehn, hab ich übersehen, so gehts:Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <misc.au3>#Region ### START Koda GUI section ### Form=D:\Eigene Dateien D\Programme\IPinger.kxf
[/autoit] [autoit][/autoit] [autoit]
$IPinger = GUICreate("IPinger", 603, 450, 193, 125)
GUISetBkColor(0xFFFFFF)
$IPinger = GUICtrlCreateLabel("IPinger", 224, 24, 160, 66)
GUICtrlSetFont(-1, 36, 800, 0, "Sylfaen")
$Schriftzug = GUICtrlCreateLabel ( "Das Tor zur Welt der IPs - Das Internet zeigt seine Namen", 160, 120, 283, 17)
$Input1 = GUICtrlCreateInput("Geben sie hier die URL ein", 136, 208, 329, 21)
GUICtrlSetFont(-1, 10, 400, 0, "Lucida Console")
GUICtrlSetCursor (-1, 5)
$GO_IP = GUICtrlCreateButton("FIND IP", 256, 248, 75, 65, 0)
GUICtrlSetFont(-1, 12, 800, 2, "Sylfaen")
$Copyright = GUICtrlCreateLabel("(c) 2008 by Roman Leuprecht; Picture from NASA", 152, 416, 280, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Tahoma")
$Made_with_AutoIT = GUICtrlCreateLabel("Made with AutoIT(http://www.autoit.de)", 192, 432, 195, 17)
GUICtrlSetFont(-1, 8, 800, 0, "Tahoma")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $GO_IP
TCPStartup()
MsgBox(1+64, "IP",TCPNameToIP(GUICtrlRead($Input1)))
Case $Copyright
EndSwitch
if _IsPressed("0D") Then
TCPStartup()
MsgBox(1+64, "IP",TCPNameToIP(GUICtrlRead($Input1)))
endif
WEnd -
Danke, das Forum ist echt klasse, 2 Probleme Gehabt, alle in 24 Stunden behoben :),
-
das mit den "" hatte ich bei mir auch angepasst und es geht immer noch nicht
Edit// LoL geht doch,man darf nur kein "http://" davor setzen
-
GUICtrlReadist auch noch wichtig, das hatte Leupy auch noch vergessen gehabt. Man kann nämlich sehr wohl "http://" davor setzen.
-
Wie schaffe ich es denn, das es auch mit einem Klick auf IP Finden geht ?
Nur die Funktion nennen, einbauen möchte ich sie selbst
Danke -
Das is in meinem Script schon gemacht, hab ich doch geschrieben :).
Du musst halt noch ein neues case machen, in dem der Name des Button geschrieben wird.
Also wie bei deinem ersten Beispiel mit dem input, nur, dass statt dem Namen des Inputs der Buttonname steht. -
nachdem ich auf den FIND IP button gedrückt habe, kann ich nichts mehr im INPUT-feld eintragen,
wie muss ich es schreiben, dass ich wieder etwas eintragen kann ?Danke
-
Du musst die msgbox wegdrücken
-
hatte das feld aus versehen im hintergrund, nur noch eine Frage:
GUI schließen, wie heißt der Befehl ? -
Schliessen oder löschen?
Schliessen wäre exit, dann ist aber das Progrmam komplett aus.
Mit GUIDelete löscht man nur die GUI und kann dann ohne GUI weiterarbeiten. -
Danke