Datenbankabfrage im Hintergrund während Texteingabe

  • Hi,

    ich möchte in meinem Scirpt gerne folgendes verwirklichen:
    Es gibt eine Suchmaske mit der man eine SQLite-Datenbank durchsuchen kann.
    Nun möchte ich, dass ähnlich wie bei Wikipedia, bereits ab der Eingabe des ersten Buchstabens im Hintergrund eine Datenbankabfrage stattfindet und Suchtreffer eingeblendet werden. Bei PHP & Co. macht man sowas ja über AJAX.
    Ist sowas auch mit Autoit möglich? Wenn ja, kann mir irgendjemand ein einfaches Beispiel nennen?

    Viele Grüße

    Daniel

  • Das müsste man ja dann in einer Endlosschleife laufen lassen.
    Das wird aber ganz schön auf die CPU gehen.
    Ich würde es über einen Knopf machen und das abfragen was in der Inputbox steht.

    Meine Meinung.

    MfG
    Der_Doc

  • Hi,
    meinst du sowas ?

    Spoiler anzeigen
    [autoit]

    Dim $aDaten[4] = ["Müller", "Meier", "Schulze", "Schmidt"]
    GUICreate("", 405, 307, 420, 261)
    $Input = GUICtrlCreateInput("", 96, 24, 145, 21)
    $List = GUICtrlCreateList("", 96, 48, 145, 97)
    GUISetState(@SW_SHOW)

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

    AdlibRegister("Update",750)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case -3
    Exit

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

    EndSwitch
    WEnd

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

    Func Update()
    $sData = GUICtrlRead($Input)
    If StringStripWS($sData, 8) = "" Then Return
    GUICtrlSetData($List, "")

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

    For $x = 0 To UBound($aDaten) - 1
    If StringRegExp($aDaten[$x], "(?i)" & $sData) Then GUICtrlSetData($List, $aDaten[$x] & "|", 1)
    Next
    EndFunc ;==>Update

    [/autoit]
  • Hi Sprenger,

    ja, sowas in der Art.
    ich denk mit ein paar Anpassungen für meinen Fall (Datenbankquery anstatt Array, wie in deinem Beispiel) kann ich das Script verwenden.
    Also n sakrisches Dankeschön schon mal dafür!

    Viele Grüße

    Daniel