Люди, помогите разобраться

  • Автор темы Guest11
  • Дата начала
G

Guest11

Гость
#1
Есть таблица StringGrid 5*5 (1-ая строка - название колонок), в ней нужно перемножить 2-ой и 3-ий столбец, результат вывести в 4-ом. Затем необходимо проссумировать получившиеся значения в 4-ом столбце и вывести в Edit3. Написала код, но на этапе суммирования в поле Edit3 выводится значение последней ячейки 4-ого столбца...
Кто может, помогите пожалуйста исправить это :(


procedure TForm1.Button1Click(Sender: TObject);
var
a,b,sum:real;
i:byte;
begin
for i:=1 to StringGrid1.RowCount-1 do
begin
a:=StrToInt(StringGrid1.Cells[2,i])*StrToFloat(StringGrid1.Cells[3,i]);
StringGrid1.Cells[4,i]:=FloatToStr(a);
sum:=0;
sum:=sum+StrToFloat(StringGrid1.Cells[4,i]);
Edit3.Text:=FloatToStr(sum);
end;
end;
 

Vadik(R)

Well-Known Member
12.12.2007
469
0
25
Волгоград
#2
Попробуй так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
a,b,sum:real;
i:byte;
begin
sum:=0;
for i:=1 to StringGrid1.RowCount-1 do
begin
a:=StrToInt(StringGrid1.Cells[2,i])*StrToFloat(StringGrid1.Cells[3,i]);
StringGrid1.Cells[4,i]:=FloatToStr(a);
sum:=sum+StrToFloat(StringGrid1.Cells[4,i]);
Edit3.Text:=FloatToStr(sum);
end;
end;
 
G

Guest11

Гость
#3
Спасибо большое!!! :( работает, такая мелочь и такие ошибки получаются... ещё раз спасибо :)