Здесь всё прикольнее, чем может показаться, ТСу просто нужно из мемо распарсить строки в таблицу, в
соседней теме он это довольно подробно объяснил. Предложенный код меня не вдохновил, поэтому, всё равно, всё по своему сделал, не смог от такого удержаться:
На форме должны быть кнопка, мемо и стрингрид (вкладка палитры компонентов Additional -> StringGrid)
Код:
procedure TForm1.Button1Click(Sender: TObject);
function nu(ds: string): string;
begin
Result:= Copy(ds, 1, pos(',', ds)-1);
end;
var
i, b, b5, b6: integer;
sl, sv, su: TStrings;
flg: boolean;
begin
su:= TStringList.Create;
sv:= TStringList.Create;
sl:= TStringList.Create;
for i := 0 to Memo1.Lines.Count-1 do
begin
flg:=true;
for b := 0 to su.Count-1 do
if nu(Memo1.Lines.Strings[i]) = su.Strings[b] then flg:= false;
if flg then su.Add(nu(Memo1.Lines.Strings[i]));
end;
StringGrid1.RowCount:=su.Count+1;
for b := 0 to su.Count-1 do
begin
sv.Clear;
for i := 0 to Memo1.Lines.Count-1 do
if nu(Memo1.Lines.Strings[i]) = su.Strings[b] then
sv.Add(Memo1.Lines.Strings[i]);
b5:= 0;
b6:= 0;
for i := 0 to sv.Count-1 do
begin
sl.Text:= StringReplace(sv.Strings[i],',',#10,[rfReplaceAll]);
inc(b5, StrToInt(sl.Strings[4]));
inc(b6, StrToInt(sl.Strings[5]));
end;
StringGrid1.Cells[1, b+1]:= su.Strings[b];
StringGrid1.Cells[2, b+1]:= IntToStr(b5);
StringGrid1.Cells[3, b+1]:= IntToStr(b6);
end;
sl.Free;
sv.Free;
su.Free;
end;
Оно работает, проверено электроникой
