AGB  ·  Datenschutz  ·  Impressum  







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

ListBox - AutoComplete und Sorted

Ein Thema von Christoph · begonnen am 12. Okt 2005 · letzter Beitrag vom 13. Okt 2005
 
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: ListBox - AutoComplete und Sorted

  Alt 12. Okt 2005, 22:32
So, ich hab mal das folgende Beispiel geschrieben -- also bei mir funktioniert es...



Delphi-Quellcode:
// Zuerst die betreffende Tabelle nach Deinen Wünschen sortieren
// Dann diese Methode einmalig bzw. bei Änderung der Einträge aufrufen

procedure TForm_Main.DoInitListBox;
begin
  ListBox1.Items.Clear;
  with DeineTabelle do
   while not EOF do
   begin
     ListBox1.Items.Add(FieldByName('Title').AsString); // Listbox mit Einträgen der Tabelle füllen
     Next;
   end;
end;

// KeyPress-Event der Listbox

procedure TForm_Main.ListBox1KeyPress(Sender: TObject; var Key: Char);
var
  Name: String;
begin
  If (Key = Chr(VK_Escape)) or (Key = Chr(VK_RETURN)) then Suchwort:= '';
  If (Key in ['A'..'Z']) or
     (Key in ['a'..'z']) or
     (Key in ['0'..'9']) or
     (Key = ' ') or
     (Key = '.') or      // bei Bedarf die erlaubten Zeichen hinzufügen
     (Key = Chr(vk_Back)) then
  begin
    If (Key = Chr(vk_Back)) then // Wenn Taste Backspace, dann letztes Zeichen löschen
      Suchwort:= copy(Suchwort, 0, length(Suchwort)-1) else
      Suchwort:= Suchwort + Key; // Suchwort um den getippten Buchstaben erweitern
    with DeineTabelle, Sender As TListBox do
     // Suche erstes Vorkommen des Suchwortes in Spalte "Title"
     if Locate('Title', Suchwort, [loCaseInsensitive, loPartialKey]) then
       ItemIndex:= RecNo-1 // Aktuellen Cursor (also der, der mit "Locate" gesetzt wurde) übergeben
     else
       ItemIndex:= -1; // Sonst nichts in der Listbox markieren
  end;
end;

Für "DeineTabelle" und "Title" natürlich deine Bezeichner einsetzen.
Hoffe, du kannst was draus verwenden


Gruß
Pfoto
Jürgen Höfs
  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 04:56 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