Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

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

Re: Suchen in einer Liste

  Alt 12. Okt 2004, 12:44
Hi Alex,

so sieht der Code für eine ListBox aus. Ich habe ihn auch dahingehend erweitert, dass nicht nur nach dem Vorkommen des Strings gesucht wird. Ist iFlag 0, so werden alle Datensätze zurückgeliefert, welche den String Str enthalten. Ist es jedoch ungleich 0, so werden nur Datensätze zurückgeliefert, welche mit Str beginnen.
Delphi-Quellcode:
procedure FindStringInListBox(Str: String; var a: array of Integer; iFlag: Integer);
var
  bFound: Boolean;
  i, iFound: Integer;
begin
  iFound := 0;
  SetLength(a, ListBox1.Count);
  for i := 0 to ListBox1.Count-1 do
  begin
    if iFlag = 0 then
      bFound := Pos(Str, ListBox1.Items[i]) > 0
    else
      bFound := Copy(ListBox1.Items[i], 1, Length(Str)) = Str;
    if bFound then
    begin
      Inc(iFound);
      a[iFound-1] := i;
    end;
  end;
  SetLength(a, iFound);
end;
Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat