![]() |
ListBoxeinträge nach einem bestimmten Wort durchsuchen
Hi, wie kann man eine ListBox nach einem bestimten Wort durchsuchen?
Hier ein kleines Beispiel Wort das gesucht werden soll: Hallo ListBoxeinträge: usdshdhsduudhs dsdiiHallosmdsdk <- soll gefunden werden Hallo <- soll gefunden werden oskodosodkak Am besten wäre, wenn man alle ListBox-Einträge mit for runtergeht, da ich die alle Ergebnisse eh aus der ListBox löschen will. Jetzt schon mal danke für jede Antwort!! |
Re: ListBoxeinträge nach einem bestimmten Wort durchsuchen
Hai St.Pauli,
Du hast dir ja die Antwort schon gegeben. Mit For Listbox.Count -1 downto 0 durch die Listbox laufen. Dann mit ![]() |
Re: ListBoxeinträge nach einem bestimmten Wort durchsuchen
Hallo St.Pauli,
Delphi-Quellcode:
Sollte selbsterklaerend sein. Als Rueckgabewert gibts die Anzahl der geloeschten Eintraege.
function DeleteStrings(ListBox: TListBox; Pattern: String; CaseSensitive: Boolean=True): Integer;
var DeleteEntry: Boolean; begin Result := 0; for i := ListBox.Count-1 downto 0 do begin if CaseSensitive then DeleteEntry := Pos(Pattern, ListBox.Items[i]) else DeleteEntry := Pos(LowerCase(Pattern), LowerCase(ListBox.Items[i])) if DeleteEntry then begin ListBox.Items.Delete(i); Result := Result+1; end; end; Greetz alcaeus |
Re: ListBoxeinträge nach einem bestimmten Wort durchsuchen
Moin!
Alcaeus Code mit Fehlerbehebung:
Delphi-Quellcode:
- bei Pos die Ergebnisabfrage vergessen
function DeleteStrings(Items: TStrings; Pattern: String; CaseSensitive: Boolean=True): Integer;
var DeleteEntry: Boolean; begin Result := 0; for i := Items.Count-1 downto 0 do begin if CaseSensitive then DeleteEntry := (Pos(Pattern, Items[i]) > 0) else DeleteEntry := (Pos(LowerCase(Pattern), LowerCase(Items[i])) > 0 ); if DeleteEntry then begin Items.Delete(i); Inc(Result); end; end; - ListBox.Items.Count anstatt ListBox.Count - Inc() beim Result inkrement - ListBox Abhängigkeit entfernt und auf TStrings umgestellt, somit auch für ComboBoxen, etc MfG Muetze1 |
Re: ListBoxeinträge nach einem bestimmten Wort durchsuchen
Moin Muetze,
danke fuer die Korrekturen, das kommt davon wenn man IE-Programmierer ist ;) Diesen hier: Zitat:
Greetz alcaeus |
Re: ListBoxeinträge nach einem bestimmten Wort durchsuchen
hi, ich hab den code getestet jedoch werden die einträge die das wort enthalten gelöscht, und nicht die die es nicht enthalten..?
|
Re: ListBoxeinträge nach einem bestimmten Wort durchsuchen
Zitat:
Greetz alcaeus |
Re: ListBoxeinträge nach einem bestimmten Wort durchsuchen
@quakergod
Dann ändere in den Codezeilen mit pos das >0 in =0 und schon werden die Einträge gelöscht, die das Pattern nicht enthalten. MfG Binärbaum |
Re: ListBoxeinträge nach einem bestimmten Wort durchsuchen
Zitat:
|
Re: ListBoxeinträge nach einem bestimmten Wort durchsuchen
@Hansa:
Das gleiche steht doch schon einen Beitrag weiter oben. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 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