Наверное эта тема - есть продолжение другой :
http://www.delphisources.ru/forum/showthread.php?t=8841
Если так, то почему бы не считать строки одновременно в цикле где они анализируются
Например :
Код:
private
FLightedRowsCounter : integer;
.....
TForm1.FormCreate(sender:Tobject);
begin
FLightedRowsCounter := 0;
end;
...
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
var
i:integer;
begin
if Length(aa)>0 then
begin
i:=DBGrid1.DataSource.DataSet.RecNo;
if DBGrid1.DataSource.DataSet.RecNo = aa[i-1].zap3 then
begin
dbgrid1.Canvas.Brush.Color := cllime;
DBGrid1.Canvas.Font.Color := clRed;
dbGrid1.DefaultDrawDataCell(Rect,Field,State);
// Увеличиваем счетчик
inc(FLightedRowsCounter);
end;
end;
end;
...
А дальше используеш значение FLightedRowsCounter как тебе нужно.