... nun habe ich verstanden was du machen willst
, manchmal sagen bilder mehr als tausend worte
... so sollte es funktionieren!...
- für die gesamtsumme brauchst du noch eine variable, da sum ja bei jedem zeilendurchlauf gelöscht wird!
Delphi-Quellcode:
procedure TForm1.Button7Click(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
if STringGrid1.Cells[i, y] <> '' then
begin
nr := StringGrid1.Cells[i, y];
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;
gesamtsum:= gesamtsum + sum;
end;
end;
end;
stringgrid1.Cells[13, 23] := FloatToStr(gesamtsum);
end;