Wie in meinem anderen Thema beschrieben, habe ich eine verzögerte Suche für eine VirtualStringTree umgesetzt.
https://www.delphipraxis.net/200296-...ml#post1429750
Bei Eingabe in ein Editfeld, wird die Suchfunktionn aufgerufen und filtert alle Knoten entsprechend der Sucheinstellungen und des Suchbegriffs.
Sofortige Suche:
+ der Filter wird bei jedem Tastendruck / EditChange aufgerufen
+ das gefilterte Ergebnis ist sofort nach jedem Tastendruck sichtbar
+ schnell implementiert
- bei sehr langsamen Laptops kann es zu Problemen kommen, da mehr Rechenleistung benötigt wird (beispielsweise Acer Laptops des unteren Preissegments wo das Laden des IE / Edge / Chrome / FF schon 2 Minuten dauert)
Verzögerte Suche:
zu Grunde liegt hier ein TTimer mit 500ms Intervall. Beim EditChange und EditKeyPress wird der Timer aus- und wieder eingeschaltet.
Im Timerevent selber wird der Timer an erster Stelle ausgeschaltet und anschließend die Filterfunktion aufgerufen.
Tippt man mit moderater Geschwindigkeit, wird die Suche solange nicht ausgeführt, bis die Eingabe vollendet ist.
+ weniger Rechenleistung benötigt, auch für langsame Computer geeignet
- das Ergebnis ist erst nach Ende der Eingabe sichtbar bzw. nach einer Eingabepause, die länger dauert als das Timer-Intervall
- ein wenig mehr Aufwand für den Entwickler
Was bevorzugt ihr als Entwickler oder Endanweder einer Software?
Ich bitte um eine sachliche Diskussion in Anbetracht dessen, dass es tatsächlich noch Nutzer von alten und oder sehr langsamen Geräten gibt, die nicht einmal für das Surfen richtig geeignet sind.