Witam
Mam oto kodzik, który usuwa mi wiersze ze StringGrid, niespełniające jakiegoś kryterium:
procedure DeleteRow(Grid: TStringGrid; ARow: Integer);
var
i: Integer;
begin
for i := ARow to Grid.RowCount - 2 do
Grid.Rows[i].Assign(Grid.Rows[i + 1]);
Grid.RowCount := Grid.RowCount - 1;
end;
procedure TForm1.Button8Click(Sender: TObject);
var
i:integer;
begin
for i := 1 to jvStringGrid4.RowCount - 1 do
if JvStringGrid4.Cells[3,i] <> DateToStr(Now) then
DeleteRow(jvStringGrid4, i);
end;
Kod spełnia swoją rolę, lecz nie do końca. Ma usuwać wszystkie wiersze, w których nie ma dzisiejszej daty w kolumnie DATA.
Jednak zostawia na samej górze (row 1, nie licząc komórek tytułowych) wiersz z inna datą i muszę jeszcze raz kliknąć na Button8, aby się poprawiło.
Jak to można poprawić, aby usuwał poprawnie niechciane wiersze za pierwszym razem? Dziękuję.