Hallo
mit dem code unten bekomme ich alle Suchergebnisse angezeigt, allerdings werden die viel zu oft angezeigt (ca 4-5x oder mehr), ich mach irgendetwas falsch.
Ich denke es hat was mit dem
StringGrid2.Rows
[i] := StringGrid1.Rows[res.y]; zu tun
nur weiß ich nicht wie ich das ändern muss.
Grüsse capo
Delphi-Quellcode:
res := StringGrid1.findfirst(finddlg.findtext.text, findparams);
if res.x >= 0 then
begin
with StringGrid1 do begin
for i := 1 to RowCount - 1 do // Alle Zeilen durchlaufen
begin
for j := 1 to ColCount - 1 do // Alle Spalten durchlaufen
res := StringGrid1.findnext;
if (res.x >= 0) and (res.y >= 0) then
begin
StringGrid1.Col := res.x;
StringGrid1.row := res.y;
Stringgrid2.RowCount := Stringgrid2.RowCount + 1;
StringGrid2.Row := Stringgrid2.RowCount - 1;
StringGrid2.Rows[i] := StringGrid1.Rows[res.y];
end;
end;
end;
end
else
MessageDlg('Text not found', mtinformation, [mbOK], 0);
end;
finally
FindDlg.free;
end;
end;