GUI Inputbox auslesen Variable speichern

  • Hi,
    Wie kann ich von dieser GUI:

    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Google ", 533, 26, 186, 179)
    $Suche = GUICtrlCreateInput("Suche", 0, 0, 457, 21)
    $Button1 = GUICtrlCreateButton("Suchen", 456, 0, 75, 25, $WS_GROUP)
    $inhalt = GUICtrlRead($Suche)
    GUISetState(@SW_SHOW)
    Dim $Form1_AccelTable[1][2] = [["+{F12}", $Button1]]
    GUISetAccelerators($Form1_AccelTable)
    #EndRegion ### END Koda GUI section ###

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

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

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

    Case $Button1
    $IE = _IECreate("http://www.google.de")
    $Coll = _IEFormElementGetCollection($IE,0)
    $Obj = _IEFormElementGetObjByName($Coll,"q")
    _IEAction($Obj,"focus")
    send($inhalt)
    $Obj = _IEFormElementGetObjByName($Coll,"btnG")
    _IEAction($Obj,"focus")
    send( "{ENTER}" )
    EndSwitch
    WEnd

    [/autoit]

    Diese Inputbox:

    [autoit]

    $Suche = GUICtrlCreateInput("Suche", 0, 0, 457, 21)

    [/autoit]


    auslesen und als variable Speichern

  • das habe ich schon Probiert so:

    [autoit]

    $inhalt = GUICtrlRead($Suche)

    [/autoit]


    und dann halt unten so aufgelöst

    [autoit]

    send($inhalt)

    [/autoit]

    ist daran etwas falsch weil es klapt net

  • Ich kapiere kein Wort was meinst du damit
    kanst du das Script net pls für mich "koriegiren"?

  • Das hier meinte Oscar:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Google ", 533, 26, 186, 179)
    $Suche = GUICtrlCreateInput("Suche", 0, 0, 457, 21)
    $Button1 = GUICtrlCreateButton("Suchen", 456, 0, 75, 25, $WS_GROUP)
    ;~ $inhalt = GUICtrlRead($Suche) <===================================== Von hier
    GUISetState(@SW_SHOW)
    Dim $Form1_AccelTable[1][2] = [["+{F12}", $Button1]]
    GUISetAccelerators($Form1_AccelTable)
    #EndRegion ### END Koda GUI section ###

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

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

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

    Case $Button1
    $IE = _IECreate("http://www.google.de")
    $Coll = _IEFormElementGetCollection($IE,0)
    $Obj = _IEFormElementGetObjByName($Coll,"q")
    _IEAction($Obj,"focus")
    ;~ send($inhalt)
    $inhalt = GUICtrlRead($Suche) ; <========================= Nach hier!
    $Obj = _IEFormElementGetObjByName($Coll,"btnG")
    _IEAction($Obj,"focus")
    send( "{ENTER}" )
    EndSwitch
    WEnd

    [/autoit]

    Übrigens solltest du dir mal

    [autoit]

    _IEFormElementSetValue

    [/autoit]


    zu Gemüte führen.

  • 1.Was bringt das?


    Dann brauchst du kein Send. Das Script braucht also keinen absoluten Fokus, und du kannst es im Hintergrund laufen lassen. Send ist so unsicher und ungenau.

    Bsp:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Google ", 533, 26, 186, 179)
    $Suche = GUICtrlCreateInput("Suche", 0, 0, 457, 21)
    $Button1 = GUICtrlCreateButton("Suchen", 456, 0, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    Dim $Form1_AccelTable[1][2] = [["+{F12}", $Button1]]
    GUISetAccelerators($Form1_AccelTable)
    #EndRegion ### END Koda GUI section ###

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

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

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

    Case $Button1
    $oIE = _IECreate("http://www.google.de")
    $oForm = _IEFormGetCollection($oIE,0) ; Formular-Objekt holen
    $oSuchfeld = _IEFormElementGetObjByName($oForm,"q") ; Suchfeld-Objekt holen
    _IEFormElementSetValue($oSuchfeld,GUICtrlRead($Suche)) ; Text in Suchfeld setzen
    _IEFormSubmit($oForm) ; Formular abschicken
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • DANKE DANKE DANKE genau das ist perfekt wieder was dazu gelernt guter trik