Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBLookupComboBox und Tastatureingabe? (https://www.delphipraxis.net/77439-dblookupcombobox-und-tastatureingabe.html)

davar 19. Sep 2006 17:27

Datenbank: MySQL • Version: 4.x • Zugriff über: Zeos

DBLookupComboBox und Tastatureingabe?
 
Hallo Leute,

gibt es eigentlich eine Möglichkeit, bei einer DBLookupComboBox Tastatureingabe zu ermöglichen, um Datensätze schneller zu finden? Es soll dabei nicht nur der erste Buchstabe berücksichtigt werden sondern auch die danach eingegebenen.

MfG

davar

Karstadt 20. Sep 2006 08:21

Re: DBLookupComboBox und Tastatureingabe?
 
Muss das unbedingt DBLookupComboBox sein ?

marabu 20. Sep 2006 08:48

Re: DBLookupComboBox und Tastatureingabe?
 
Hallo davar,

du musst einfach nur schneller tippen.

PS: Die maximal 2 Sekunden zwischen den einzelnen Tasten sind leider fest verdrahtet.

Grüße vom marabu

davar 20. Sep 2006 11:33

Re: DBLookupComboBox und Tastatureingabe?
 
Zitat:

Zitat von marabu
Hallo davar,

du musst einfach nur schneller tippen.

PS: Die maximal 2 Sekunden zwischen den einzelnen Tasten sind leider fest verdrahtet.

Grüße vom marabu

:gruebel:

Bei mir geht es überhaupt nicht.. Nicht mal der erste Buchstabe..

@Karstadt:

Was wäre denn z.B. eine Alternative?

marabu 20. Sep 2006 12:33

Re: DBLookupComboBox und Tastatureingabe?
 
Entschuldige davar,

ich habe deine Delphi-Versionsangabe missachtet - vermutlich ist dieses feature in D3 noch nicht implementiert. Da du ja die VCL-Quellen hast, kannst du dich leicht davon überzeugen, indem du die Methode KeyPress() untersuchst.

Ich erinnere mich dunkel, dass ich dieses feature zu D123-Zeiten selbst nachgerüstet hatte. Ist nicht sonderlich schwer. Einfach eine Komponente ableiten, zusätzliche Eigenschaften FSearchText (String) und FSearchTicks (LargeInt) bereitstellen und in der Methode KeyPress() die Eingaben auswerten, eventuell sammeln und den Ticker aktualisieren.

marabu

Karstadt 20. Sep 2006 12:50

Re: DBLookupComboBox und Tastatureingabe?
 
TDBCOMBOX :)

davar 24. Sep 2006 11:13

Re: DBLookupComboBox und Tastatureingabe?
 
Zitat:

Zitat von marabu
Entschuldige davar,

ich habe deine Delphi-Versionsangabe missachtet - vermutlich ist dieses feature in D3 noch nicht implementiert. Da du ja die VCL-Quellen hast, kannst du dich leicht davon überzeugen, indem du die Methode KeyPress() untersuchst.

Ich erinnere mich dunkel, dass ich dieses feature zu D123-Zeiten selbst nachgerüstet hatte. Ist nicht sonderlich schwer. Einfach eine Komponente ableiten, zusätzliche Eigenschaften FSearchText (String) und FSearchTicks (LargeInt) bereitstellen und in der Methode KeyPress() die Eingaben auswerten, eventuell sammeln und den Ticker aktualisieren.

marabu

Also es scheint ja gar nicht mal so schwer zu sein, aber das mit dem Ticker habe ich nicht verstanden. Wie genau soll ich das machen?

marabu 24. Sep 2006 11:35

Re: DBLookupComboBox und Tastatureingabe?
 
Hi,

du kannst dir in der Variable FSearchTicks ( := GetTickCount) merken, wann der Benutzer zuletzt aktiv war (OnKeyPress). Du kannst dann über ein konfigurierbares SearchTimeOut: Integer (= 2000) die Millisekunden vorgeben, nach deren Ablauf ohne Benutzerinteraktion du den aktuellen Suchtext (FSearchText) verwirfst. Das geschieht zu Beginn deines event handlers für OnKeyPress():

Delphi-Quellcode:
begin
  if (GetTickCount - FSearchTicks) > SearchTimeOut then
    FSearchText := '';
Viel Erfolg

marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz