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