Thema: Delphi stringgrid addieren

Einzelnen Beitrag anzeigen

Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#11

Re: stringgrid addieren

  Alt 20. Dez 2004, 10:18
ok habs mal ausprobiert und ein wenig verbessert... nun klappts
... das problem war, dass er jede zelle der zeile pro schleigendurchlauf von i dazugezählt hat..

Delphi-Quellcode:
procedure TForm1.BitBtn7Click(Sender: TObject);
var
  i, y, x: integer;
  sum, m1, m2, gesamtsum: real;
  nr, s, sMyExpression: string;
begin
  gesamtsum:=0;
  for y := 1 to 22 do
  begin
    sum := 0;
    for i := 1 to 12 do
    begin
      nr := StringGrid1.Cells[i, y];
      if nr = 'then
        continue;

      x := pos('*', nr);
      if x > 0 then
      begin
        m1 := strtofloat(copy(nr, 1, x - 1));
        m2 := strtofloat(copy(nr, x + 1, length(nr) - x));
        sum := sum + (m1 * m2);
      end
      else
      begin
        x := pos('+', nr);
        if x > 0 then
        begin
          m1 := strtofloat(copy(nr, 1, x - 1));
          m2 := strtofloat(copy(nr, x + 1, length(nr) - x));
          sum := sum + m1 + m2;
        end
        else
          sum := sum + strtofloat(nr);
      end;
      sMyExpression := FloatToStr(sum);
      stringgrid1.Cells[13, y] := sMyExpression;
    end; // for i
    gesamtsum:= gesamtsum + sum; // <- das muss hier hin und nicht in die i-schleife!!!
  end; // for y
  stringgrid1.Cells[13, 23] := FloatToStr(gesamtsum);
end;
  Mit Zitat antworten Zitat