Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Listbox suche (Live) Buchstabenfolge (https://www.delphipraxis.net/142678-listbox-suche-live-buchstabenfolge.html)

Detrox 1. Nov 2009 15:18


Listbox suche (Live) Buchstabenfolge
 
HuHu,

Ich melde mich wieder mal mit ner kleinen Frage..



Und zwar möchte ich in einer Listbox suchen, das stellt ja kein Problem dar, aber ich möchte nicht nach einem Eintarg suchen, sondern nach zusammenhängenden Buchstaben .

Ich habe ein Editfeld und einen Timer der soll die Buchstaben überprüfen die ich eingebe und in der Listbox alle anderen Einträge entfernen.

Ich hoffe ihr wisst wie ich das meine

LG
Detrox

mkinzler 1. Nov 2009 15:20

Re: Listbox suche (Live) Buchstabenfolge
 
Eventuell gibt es schon fertige ListBoxen die das unterstützen Ich würde hierbei aber nicht mit einem Timer arbeiten, sondern bei Eingabe reagieren

Detrox 1. Nov 2009 15:23

Re: Listbox suche (Live) Buchstabenfolge
 
Ja da hast du recht bei Eingabe ist wahrscheinlich Resourcenschonender, da stellt sich mir aber die Frage das zu realisieren, es gibt zwar ein Change Ereigniss, aber das wird ja nicht nach jedem Zeichen was ich schreibe ausgeführt oder?!

Zur Komponente, ich möchte das Programm so schlank wie möglich halten , wenn es gute Listboxenkomponenten gibt kannst du villeicht mal ein Beispiel nennen?

LG
Detrox

DeddyH 1. Nov 2009 15:25

Re: Listbox suche (Live) Buchstabenfolge
 
Wieso heißt das Ereignis wohl OnChange?

mkinzler 1. Nov 2009 15:30

Re: Listbox suche (Live) Buchstabenfolge
 
Ich dachte auch eher an den KeyPress-Event

Matze 1. Nov 2009 15:39

Re: Listbox suche (Live) Buchstabenfolge
 
Hast du die Suche bemüht?
Listbox mit einer Suchfunktion durchsuchen?

DeddyH 1. Nov 2009 15:44

Re: Listbox suche (Live) Buchstabenfolge
 
Ich wusste gar nicht mehr, dass ich das schon einmal geschrieben hatte :oops:. Bin ich wohl doch härter auf die Birne gefallen als ich dachte (oder es liegt am Alter ^^).

Detrox 1. Nov 2009 16:20

Re: Listbox suche (Live) Buchstabenfolge
 
Deddy , danke für den thread :)

Der Code leuchtet ein

Delphi-Quellcode:
uses StrUtils;

procedure FilterItems(const sl: TStrings; const substr: string);
var i: integer;
begin
  sl.BeginUpdate;
  try
    for i := Pred(sl.Count) downto 0 do
      if not StrUtils.AnsiContainsText(sl[i],substr) then
        sl.Delete(i);
  finally
    sl.EndUpdate;
  end;
end;

aber funktioniert halt nicht im onKeyPress, logich weil ich ja den nicht gelöschten Inhalt wieder in die Listbox einfügen muss.

Nur habe ich keine AHnung wie, villeicht ein kleiner Denkansatz , würde mich freuen :)

DeddyH 1. Nov 2009 16:28

Re: Listbox suche (Live) Buchstabenfolge
 
Zitat:

Zitat von Detrox
..., logich weil ich ja den nicht gelöschten Inhalt wieder in die Listbox einfügen muss.

Das versteh ich nicht. Die Routine löscht ja nur die nicht passenden Einträge heraus, alle anderen bleiben erhalten. Und je länger der Filterstring, desto restriktiver die Filterung.

Detrox 1. Nov 2009 16:33

Re: Listbox suche (Live) Buchstabenfolge
 
Ja ist richtig, aber ich lösche ja auch Buchstaben wenn ich mich Beispielsweise verschreibe, also muss ich irgendwie an die nicht gelöschten Items kommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:23 Uhr.
Seite 1 von 3  1 23      

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