Input mit Enter auslesen

  • Hi,

    ich möchte das bei dem Browser die URL aus dem Input mit dem Button "Send" und mit der EnterTaste geladen wird......!

    Script
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <ProgressConstants.au3>
    #include <IE.au3>
    #include <TreeViewConstants.au3>
    #include <File.au3>
    #include <FileConstants.au3>
    #include <GuiEdit.au3>
    #include <GuiConstantsEx.au3>
    #Include <Misc.au3>

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

    $IE = _IECreateEmbedded()

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

    #Region ### START Koda GUI section ### Form=c:\users\malte\desktop\autoit scripts\koda_2008-10-03\forms\browser.kxf
    $GUI_main = GUICreate("FreeBird", 1186, 889, 51, 44)
    $Adresszeile = GUICtrlCreateInput("http://www.google.de/", 96, 8, 425, 24)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label1 = GUICtrlCreateLabel("URL:", 16, 8, 34, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $GUI_Send = GUICtrlCreateButton("Send", 528, 8, 75, 25, 0)
    $GUI_Home = GUICtrlCreateButton("Home", 608, 8, 67, 25, 0)
    $GUI_menu_datei = GUICtrlCreateMenu("Datei")
    $GUI_menu_Einstellungen = GUICtrlCreateMenu("Einstellungen")
    $Gui_menu_e2 = GUICtrlCreateMenuItem("Einstellungen", $GUI_menu_Einstellungen)
    $Gui_menu_facebook = GUICtrlCreateMenu("Facebook")
    $Gui_facebook = GUICtrlCreateMenuItem("Facebook-Anmeldung", $Gui_menu_facebook)
    $GUI_menu_about = GUICtrlCreateMenu("About")
    $Gui_menu_a2 = GUICtrlCreateMenuItem("About", $GUI_menu_about)
    $browser = GUICtrlCreateObj($IE, 0, 40, 1164, 788)
    $GUI_Menu_Beenden = GUICtrlCreateMenuItem("Beenden", $GUI_menu_datei)
    $Enter_KEY = GUICtrlCreateDummy()
    Dim $Arr[1][2] = [["{ENTER}", $Enter_KEY]]

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    _IENavigate($IE, "http://www.google.de/")
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    GUIDelete($GUI_main)
    Exit
    Case $GUI_menu_datei
    Case $GUI_menu_Einstellungen
    Case $Gui_menu_e2
    _Einstellungen()
    Case $GUI_menu_about
    Case $Gui_menu_a2
    MsgBox(0, "About FreeBird", "FreeBird was written by MalteH2012 and Fabi!" & @CRLF & "It was not maden for commercials, just for private use!" & @CRLF & "Dont edit script!")
    Case $GUI_Menu_Beenden
    GUIDelete($GUI_main)
    Exit
    Case $GUI_Send
    _Send()
    Case $Enter_KEY
    _Send()
    Case $GUI_Home
    _IENavigate($IE, "http://www.google.de")
    Case $Gui_facebook
    _IENavigate($IE, "http://www.facebook.de")
    Sleep(3000)
    $FacebookName = InputBox("Name", "Please insert your facebook username: ")
    Sleep(200)
    Send($FacebookName)
    Sleep(3000)
    Send("{Tab}")
    Sleep(200)
    $Pass = InputBox("Passwort", "Please insert your facebook Password: ")
    Send($Pass)
    Sleep(1000)
    Send("{Enter}")
    EndSwitch
    WEnd

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

    Func _Send()
    $html = GUICtrlRead($Adresszeile)
    _IENavigate($IE, $html)
    EndFunc

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

    Func _Einstellungen()
    $gui = GuiCreate("Firebird Einstellungen",300,200)

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

    GUICtrlCreateLabel("Startseite:", 0,2)
    $readhp = IniRead(@ScriptDir & "\Einstellungen.ini","Internet","Startseite","http://www.google.de/")
    $hp = GUICtrlCreateInput("",55,2.5,220)
    GUICtrlSetData($hp,$readhp)
    $save = GUICtrlCreateButton("Speichern", 230, 175)
    $close = GUICtrlCreateButton("Abbrechen",150,175)

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

    GUISetState()

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

    While 1
    $fbeinstellungen = GUIGetMsg()

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

    Select
    Case $fbeinstellungen = $GUI_EVENT_CLOSE
    GUIDelete($gui)

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

    Case $fbeinstellungen = $save
    $sethp = GUICtrlRead($hp)
    IniWrite(@ScriptDir & "\Einstellungen.ini","Internet","Startseite","" & $sethp)
    GUIDelete($gui)
    Run("Free Bird.exe")
    Exit
    Case $fbeinstellungen = $close
    GUIDelete($gui)
    Run("Free Bird.exe")
    Exit

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

    EndSelect

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

    WEnd
    While GuiGetMsg() <> $GUI_EVENT_CLOSE
    WEnd
    EndFunc

    [/autoit]
  • Wie in der Shoutbox bereits gesagt sind hier die Befehle _IsPressed und GUICtrlRead nötig.

    [autoit]

    #include <Misc.au3>
    If _IsPressed(0x0D) And WinActive($GUI_main) And GUICtrlGetState($Adresszeile) = $GUI_FOCUS Then
    _IENavigate($IE, GUICtrlRead($Adresszeile)
    EndIf

    [/autoit]

    Ist zwar nur aus dem Kopf und ungetestet, müsste aber funktionieren. ;)

    MfG,
    Nestos.

    Zitat

    [Heute, 11:39] Raupi: Soll ich es dir machen?
    [Heute, 11:47] BugFix: "Soll ich es dir machen? " - also Raupi !! bitte nicht so öffentlich :rofl:

    Zitat

    [Heute, 11:51] BugFix: und ich werde es mir jetzt machen - das Mittagessen :P

    AMsg UDF v1.00.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%
    OwnStyle UDF Version 1.10.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%

  • Füg das ganze in der While-Schleife nach dem EndSwitch ein.

    Noch ein paar Tipps nebenbei:
    Schau dir den GUIOnEventMode an
    Am besten du erstellst die GUIs am Anfang vom Skript und versteckst sie dann mit GUISetState
    Eine While-Schleife in einer Funktion ist tötlich

    MfG,
    Nestos.

    Zitat

    [Heute, 11:39] Raupi: Soll ich es dir machen?
    [Heute, 11:47] BugFix: "Soll ich es dir machen? " - also Raupi !! bitte nicht so öffentlich :rofl:

    Zitat

    [Heute, 11:51] BugFix: und ich werde es mir jetzt machen - das Mittagessen :P

    AMsg UDF v1.00.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%
    OwnStyle UDF Version 1.10.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%

  • Wenn du den Fall des Enterdrückens in dem Inputcontrol bei leerem Input
    nicht brauchst / nicht drauf reagieren willst, dann sollte folgende Lösung
    genügen:

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Simple Input Example", 281, 96, 192, 124)
    $Label1 = GUICtrlCreateLabel("Press Enter if _not_Empty_ Inputcontrol has focus...", 10, 16, 253, 17)
    $Input1 = GUICtrlCreateInput("", 32, 40, 217, 21)
    $Label2 = GUICtrlCreateLabel("", 94, 74, 56, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Input1
    GUICtrlSetData($Label2,"Thank you!")
    Sleep(1000)
    For $i=255 To 0 Step -2
    WinSetTrans($Form1,"",$i)
    Sleep(1)
    Next
    Exit
    EndSwitch
    WEnd

    [/autoit]

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!