AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi ListBoxeinträge nach einem bestimmten Wort durchsuchen
Thema durchsuchen
Ansicht
Themen-Optionen

ListBoxeinträge nach einem bestimmten Wort durchsuchen

Ein Thema von St.Pauli · begonnen am 20. Feb 2005 · letzter Beitrag vom 22. Feb 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von St.Pauli
St.Pauli

Registriert seit: 26. Dez 2004
351 Beiträge
 
Delphi 7 Personal
 
#1

ListBoxeinträge nach einem bestimmten Wort durchsuchen

  Alt 20. Feb 2005, 15:30
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!!
Gruß St.Pauli
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: ListBoxeinträge nach einem bestimmten Wort durchsuchen

  Alt 20. Feb 2005, 15:34
Hai St.Pauli,

Du hast dir ja die Antwort schon gegeben. Mit For Listbox.Count -1 downto 0 durch die Listbox laufen.
Dann mit Delphi-Referenz durchsuchenPos prüfen ob das Wort in dem Eintrag vorhanden ist.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: ListBoxeinträge nach einem bestimmten Wort durchsuchen

  Alt 20. Feb 2005, 15:37
Hallo St.Pauli,

Delphi-Quellcode:
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;
Sollte selbsterklaerend sein. Als Rueckgabewert gibts die Anzahl der geloeschten Eintraege.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: ListBoxeinträge nach einem bestimmten Wort durchsuchen

  Alt 20. Feb 2005, 16:36
Moin!

Alcaeus Code mit Fehlerbehebung:

Delphi-Quellcode:
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;
- bei Pos die Ergebnisabfrage vergessen
- 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
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#5

Re: ListBoxeinträge nach einem bestimmten Wort durchsuchen

  Alt 20. Feb 2005, 16:38
Moin Muetze,

danke fuer die Korrekturen, das kommt davon wenn man IE-Programmierer ist

Diesen hier:
Zitat:
Inc() beim Result inkrement
Haettest du dir sparen koennen, nachdem der finale Code sowieso gleich aussieht Ich habe mir einfach angewoehnt, var := var+1 zu verwenden, da ich oft programmiersprachen wechsle, und so gewisse Patterns (in meinem Kopf) immer gleich sind

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
quakergod

Registriert seit: 20. Mär 2003
Ort: NRW
129 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: ListBoxeinträge nach einem bestimmten Wort durchsuchen

  Alt 21. Feb 2005, 20:19
hi, ich hab den code getestet jedoch werden die einträge die das wort enthalten gelöscht, und nicht die die es nicht enthalten..?
I love Delphi-Praxis !
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#7

Re: ListBoxeinträge nach einem bestimmten Wort durchsuchen

  Alt 21. Feb 2005, 20:21
Zitat von St.Pauli:
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!!
Ich habs so verstanden dass er alle Eintraege loeschen will, die das Wort enthalten.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: ListBoxeinträge nach einem bestimmten Wort durchsuchen

  Alt 21. Feb 2005, 20:25
@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
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#9

Re: ListBoxeinträge nach einem bestimmten Wort durchsuchen

  Alt 21. Feb 2005, 20:27
Zitat von quakergod:
hi, ich hab den code getestet jedoch werden die einträge die das wort enthalten gelöscht, und nicht die die es nicht enthalten..?
Pos (blubb...) > 0 heißt : das wort ist da drin. Pos = 0 heißt : es ist NICHT da.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: ListBoxeinträge nach einem bestimmten Wort durchsuchen

  Alt 21. Feb 2005, 20:38
@Hansa:
Das gleiche steht doch schon einen Beitrag weiter oben.
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 06:34 Uhr.
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