AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

IntraWeb Suche

Ein Thema von egentur · begonnen am 24. Feb 2014 · letzter Beitrag vom 25. Feb 2014
Antwort Antwort
egentur

Registriert seit: 27. Sep 2006
Ort: Freising
60 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

IntraWeb Suche

  Alt 24. Feb 2014, 16:34
Hallo
Frage an die Profis

Ich hab ne Intraweb Anwendung und muss ne Suche implementieren
Ein Eingabefeld IWEdit, darunter ne IWListbox.
Wenn ich im Editfeld nen Suchbegriff eingebe, wird anhand dessen ein Sql abgesetzt und das Ergebnis in die Listbox geschrieben und
diese angezeigt. so weit so gut, dsa funktioniert auch alles.

Ich wollte nun die Suche auf OnAsyncKeyDown starten. Geht auch, aber ich möchte aber verhindern, das die Suche nach jedem Zeichen startet, sondern erste wenn ich eine Zeitlang (300 ms)nichts mehr getippt habe (IWTimer). Stehe gerade irgendwie neben mir.
Bin für jeden Tipp dankbar !!!
  Mit Zitat antworten Zitat
lowmax_5

Registriert seit: 9. Mai 2003
Ort: Münster, NRW
258 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: IntraWeb Suche

  Alt 24. Feb 2014, 16:41
Hi,

ein TIwTimer löst diese Aufgabe elegant.

Einfach nach Aufruf den Timer mit

Timer.Enabled:=True

starten und im Event selbst folgenden Code hinzufügen.
Die Timerzeit auf einen Wert vom 250 bis 1000ms einstellen.

Timer.Enabled:=False;
StarteDBAbfrage();
  Mit Zitat antworten Zitat
egentur

Registriert seit: 27. Sep 2006
Ort: Freising
60 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: IntraWeb Suche

  Alt 24. Feb 2014, 17:14
Hi lowmax_5
Das ist aber mein Problem,
habe z.B. einen Suchbegriff "actions"
wenn ich nach Eingabe von "a" bei OnAsyncKeyDown bereits der Timer starte,
möchte den Timer aber bei Eingabe eines weiteren Zeichens wieder stoppen und erst nach dem letzten Zeichen starten.

Das timer.enabled := false bei einem bereits gestarteten Timer funktioniert irgendwie nicht
  Mit Zitat antworten Zitat
lowmax_5

Registriert seit: 9. Mai 2003
Ort: Münster, NRW
258 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: IntraWeb Suche

  Alt 25. Feb 2014, 10:00
Hi,

normalweise verwende ich immer das Event 'OnKeyPress'.

Wenn ein Wort eingegeben wird und es wird die eingestellte Timerzeit zwischen den Eingaben gewartet, startet der Suchvorgang.
Gibt man die Eingabe schnell ein, startet der Suchvorgang daher erst bei dem letzen Buchstaben. Das wäre dann eine inkrementelle suche.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz