Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Listboxeinträge mit Objekten löschen

  Alt 22. Aug 2009, 14:52
Was meinst du mit original Collection? Die Collection mit allen Datensätzen wird nicht verändert. Sie wird nur durchsucht und passende Datensätze werden in der Listbox angezeigt:
Delphi-Quellcode:
for i := 0 to ContactCollection.Count - 1 do
        begin
          if ((pos(LowerCase(edtFind.Text), LowerCase(ContactCollection.Items[i].Name)) > 0) or
            (pos(Lowercase(edtFind.Text), LowerCase(ContactCollection.Items[i].Vorname)) > 0)) then
            lbContacts.AddItem('', ContactCollection.Items[i]);
        end;
Die Reihenfolge der Datesätze in der Collection bleibt unverändert.

Zitat von mirage228:
Oder du speicherst beim Filtern im Objekt des Listeintrages nur den Original-Index ab, damit könntest Du das auch lösen.
Das könnte ich natürlich auch machen, anstatt alle Daten zu speichern nur den Index, wo die dfaten in der Collection stehen. Würde allerdings bedeuten, dass ich den bestehenden Code an mehereren Stellen ändern müsste und davor schrecke ich noch etwas zurück, da es eine ziemliche Arbeit wäre.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat