...
type
TStringGrid = class(Grids.TStringGrid);
TForm1 = class(TForm)
StringGrid1: TStringGrid;
...
end;
...
implementation
procedure AgruparGrid(StrGrd: TStringGrid);
var
i,j: Integer;
v1,v2: Double;
begin
i:= StrGrd.FixedRows;
while i < StrGrd.RowCount do
begin
j:= i+1;
while j < StrGrd.RowCount do
begin
if (StrGrd.Cells[0,i]=StrGrd.Cells[0,j]) and TryStrToFloat(StrGrd.Cells[2,i],v1) and TryStrToFloat(StrGrd.Cells[2,j],v2) then
begin
StrGrd.Cells[2,i]:= FloatToStr(v1+v2);
StrGrd.DeleteRow(j);
end
else
Inc(j);
end;
Inc(i);
end;
end;
procedure TForm1.btnAgruparClick(Sender: TObject);
begin
AgruparGrid(StringGrid1);
end;