Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

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

Re: Suchen in einer Liste

  Alt 12. Okt 2004, 11:42
Hi Alex,

wenn du z.B. eine ListView hast, dann könnte der Code so aussehen:

Delphi-Quellcode:
procedure FindStringInListView(Str: String; var a: array of Integer);
var
  bFound: Boolean;
  i, iFound, j: Integer;
begin
  iFound := 0;
  SetLength(a, ListView1.Items.Count);
  for i := 0 to ListView1.Items.Count-1 do
  begin
    bFound := Pos(Str, ListView1.Items[i].Caption) > 0;
    j := 0;
    while (j < ListView1.Items[i].Subitems.Count) and not bFound do
    begin
      bFound := Pos(Str, ListView1.Items[i].Subitems[j]) > 0;
      Inc(j);
    end;
    if bFound then
    begin
      Inc(iFound);
      a[iFound-1] := i;
    end;
  end;
  SetLength(a, iFound);
end;
Im array "a" befinden sich anschließend die Indizes aller Elemente, auf die die Suchkriterien zutreffen. Gesucht wird in der Caption und in den einzelnen SubItems.

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