Suchfunktion einbauen????

  • Hi alle zusammen,

    ich arbeite momentan an einem "Informations-Tool" für mich
    und zwar habe ich eine Editbox & buttons. Wenn ich einen Button drücke erscheint in der Editbox jeweils ein anderer Text.
    Jetzt wollte ich noch eine Suchfunktion einbauen die mir in der Editbox dann das gesuchte Wort Makiert und in die Zeile springt.

    Ist das möglich? Bitte um Hilfe :D

  • Ja abrt wie baue ich das ganze mit ner Inputbox ein?

    bin noch ein relativer Anfänger habe AutoIt vor 2Tagen angefangen :)

  • Also ich erkläre das nochmal ausführlich :D

    Das was ich suchem möchte will ich in eine Inputbox schreiben die den Text in der Editbox duchsuchen soll & mir das gesuchte wort dann makiert.

    Hoffe das ist jetzt verständlicher :)

    • Offizieller Beitrag

    Poste mal dein Script.

  • Vllt so z.B.?

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #Include <GuiEdit.au3>
    #include <WindowsConstants.au3>

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

    GUICreate("", 700, 450)
    $cButton = GUICtrlCreateButton("Suchen", 10, 420, 100, 25)
    $cEdit = GUICtrlCreateEdit("", 10, 10, 680, 400, BitOR($ES_AUTOVSCROLL, $WS_VSCROLL, $ES_MULTILINE, $WS_HSCROLL, $ES_NOHIDESEL))
    GUICtrlSetData(-1, 'Suchfunktion einbauen????Hi alle zusammen,' & @CRLF & _
    'ich arbeite momentan an einem "Informations-Tool" für mich' & @CRLF & _
    'und zwar habe ich eine Editbox & buttons. Wenn ich einen Button drücke erscheint in der Editbox jeweils ein anderer Text.' & @CRLF & _
    'Jetzt wollte ich noch eine Suchfunktion einbauen die mir in der Editbox dann das gesuchte Wort Makiert und in die Zeile springt.' & @CRLF & _
    'Ist das möglich? Bitte um Hilfe "')
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $cButton
    _GUICtrlEdit_Find($cEdit, False)
    EndSwitch
    WEnd

    [/autoit]
  • Spoiler anzeigen
    [autoit]

    include <GUIConstants.au3>
    #include <GuiEdit.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #Include <ScrollBarConstants.au3>

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

    #Region ### START Koda GUI section ###
    $Form1_1 = GUICreate("Informations-Tool", 1082, 720, 183, 230)
    GUISetBkColor(0x000000)
    $Edit1 = GUICtrlCreateEdit("", 168, 16, 865, 633)
    GUICtrlSetBkColor($Edit1, 0x800000)
    $Button1 = GUICtrlCreateButton("Text1", 8, 16, 121, 36, 0)
    $Button2 = GUICtrlCreateButton("Text2", 8, 56, 123, 33, 0)
    $Input1 = GUICtrlCreateInput("", 8, 576, 123, 33)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ####

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1 ;in Editbox ersten Text anzeigen lassen
    _GUICtrlEdit_SetText ($Edit1, "")
    GUICtrlSetData($Edit1, "ABC" & @CRLF, 1)
    GUICtrlSetData($Edit1, "" & @CRLF, 1)
    GUICtrlSetData($Edit1, "DEF......" & @CRLF, 1)
    GUICtrlSetData($Edit1, "EFG......" & @CRLF, 1)
    Case $Button2 ;in Editbox 2ten Text anzeigen lassen
    _GUICtrlEdit_SetText ($Edit1, "")
    GUICtrlSetData($Edit1, "Hallo " & @CRLF, 1)
    GUICtrlSetData($Edit1, "" & @CRLF, 1)
    GUICtrlSetData($Edit1, "dies ist ein beispiel" & @CRLF, 1)
    GUICtrlSetData($Edit1, "das da andere script zu lang war :)" & @CRLF, 1)

    EndSwitch
    WEnd

    [/autoit]

    So ungefair sieht das script aus bloß das orginale hat halt um einige mehr buttons

    & dort in der inputbox will ich ein wort eingeben, das dann in der Editbox makiert wird.

  • Hier mal ein einfaches Beispiel.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <GUIEdit.au3>

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

    $hWnd = GUICreate("Search Example", 300, 350)
    $cEdit_Text = _GUICtrlEdit_Create($hWnd, "", 5, 5, 290, 290, BitOR(0x0040, 0x0100, 0x0004, 0x00200000))
    $cInput_Searchstring = GUICtrlCreateInput("Suchwort", 5, 300, 235, 25)
    $cButton_Search = GUICtrlCreateButton("Suchen", 245, 300, 50, 25)
    GUISetState()

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    _GUICtrlEdit_Destroy($cEdit_Text)
    Exit
    Case $cButton_Search
    $aSearch = _SearchString(_GUICtrlEdit_GetText($cEdit_Text), GUICtrlRead($cInput_Searchstring))
    Switch @error
    Case 0
    _GUICtrlEdit_SetSel($cEdit_Text, $aSearch[0] - 1, $aSearch[1] - 1)
    ControlFocus($hWnd, "", $cEdit_Text)
    Case 1
    MsgBox(16, "Fehler", "String wurde nicht gefunden.")
    Case 2
    MsgBox(16, "Fehler", "Kein Suchwort eingegeben oder Textfeld leer.")
    EndSwitch
    EndSwitch
    WEnd

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

    Func _SearchString($sText_Search, $sSearchString)
    If StringReplace($sText_Search, " ", "") = "" Or StringReplace($sSearchString, " ", "") = "" Then Return SetError(2, 0, 0)

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

    $iStringInStr = StringInStr($sText_Search, $sSearchString)
    If Not $iStringInStr Then Return SetError(1, 0, 0)

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

    Local $aReturn[2] = [$iStringInStr, $iStringInStr + StringLen($sSearchString)]
    Return $aReturn
    EndFunc

    [/autoit]
  • Hallo traax,

    schön, dann ist dein Problem ja gelöst, schön wäre es allerdings auch wenn du den Thread auf gelöst setzt. Einfach 1. Beitrag bearbeiten, Präfix (nähe Überschrift) ändern und speichern (absenden)

    mfg autoBert