AGB  ·  Datenschutz  ·  Impressum  







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

Editbox mit Onlinesuche

Ein Thema von Smiley · begonnen am 22. Apr 2005 · letzter Beitrag vom 22. Apr 2005
 
Benutzerbild von Smiley
Smiley

Registriert seit: 9. Dez 2004
Ort: Gedern
210 Beiträge
 
Delphi 12 Athens
 
#1

Editbox mit Onlinesuche

  Alt 22. Apr 2005, 21:32
Ich hab wieder mal ein Problem.

Ich versuche eine sogenannte "Onlinesuche" aus einer EditBox heraus hinzubekommen.
Man gibt etwas in die Editbox ein und daraufhin soll z.B. in einer Listbox eine Liste aus einer Datenbank angezeigt werden, die mit diesen Werten beginnt. (Onlinesuche=pro eingegebenem Zeichen suchen nicht erst nach Enter)
Das ist im Prinzip noch nicht so schwer.
Über das keypress Ereignis die Taste abfragen und auswerten.

Mein erstes Problem ist:
Wenn ich mit der Rücktaste ein Zeichen lösche, dann geht das bis zum zweiten Zeichen gut, schreibe ich ein drittes Zeichen und drücke die Backspace-Taste, dann löscht er mir 2 Zeichen weg.
Irgendwo hab ich da einen Denkfehler, aber wo ?

Hier mal der Sourcecode der keypress-Routine

Delphi-Quellcode:
procedure TForm1.EdKontoKeyPress(Sender: TObject; var Key: Char);
begin
  DataKonto:=DataKonto+key;
  If key = chr(vk_delete) Then
    DataKonto:=''; // Wenn Del-Taste dann alles löschen
  If key = chr(vk_back) Then
    begin
      Delete(DataKonto,Length(DataKonto)-1,2); // Wenn Rück-Taste dann nach links löschen
      EdKonto.Text:=DataKonto;
    end;
  Form1.listbox1.Items.clear;
  Form1.QCD1.Close;
  Form1.QCD1.SQL.Clear;
  Form1.QCD1.SQL.Add('Select * From Konten Where KontoNr Like '+QuotedStr(DataKonto+'%'));
  Form1.QCD1.Open;
  While not Form1.QCD1.Eof do
    Begin
      Form1.ListBox1.Items.Add(form1.QCD1KontoNr.AsString + ' ' + form1.QCD1Beschriftung.AsString);
      Form1.QCD1.Next
    End;
end;
Mein zweites Problem ist:
Ich habe irgendwo mal gelesen, wie man sowas auch mit einem Timer macht, dass man die Suche und auflistung über ein Timerereignis

laufen lässt, damit die Eingabe zügiger abläuft. Das war ein tolles Beispiel, ich kann mich aber nicht mehr erinnern wo ich es gesehen

habe. Ich habe fast alle Bücher von Doberenz/Kowalski, möglich dass es in einem dieser Bücher drin war, ich kann es aber nicht mehr

finden. Vieleicht hat das jemand gesehen und kann mir sagen wo das war.

Fall jemand eine bessere Idee hat das Problem anzugehen, freue ich mich auch über andere Verfahrensweisen.
  Mit Zitat antworten Zitat
 


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 09:46 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-2025 by Thomas Breitkreuz