Read Input wenn Enter

  • 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

  • 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
    $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 ###

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $nMsg = $Input1
    TCPStartup()
    MsgBox(1+64, "IP",TCPNameToIP("$Input1"))


    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit][autoit][/autoit][autoit]

    Case $Copyright
    EndSwitch
    WEnd

    [/autoit]
  • 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 box


    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=D:\Eigene Dateien D\Programme\IPinger.kxf
    $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 ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GO_IP
    _1()
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Case $Copyright
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _1()
    TCPStartup()
    MsgBox(1+64, "IP",TCPNameToIP($Input1))
    EndFunc

    [/autoit]
  • 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>
    #include <misc.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=D:\Eigene Dateien D\Programme\IPinger.kxf
    $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 ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $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

    [/autoit]

    4 Mal editiert, zuletzt von anno2008 (23. Juni 2008 um 17:08)

  • Danke, das Forum ist echt klasse, 2 Probleme Gehabt, alle in 24 Stunden behoben :),

    2 Mal editiert, zuletzt von Leupy (23. Juni 2008 um 17:38)

  • 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

  • hatte das feld aus versehen im hintergrund, nur noch eine Frage:
    GUI schließen, wie heißt der Befehl ?