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

Тема в разделе "Delphi - FAQ", создана пользователем Guest11, 5 июн 2009.

  1. Guest11

    Guest11 Гость

    Есть таблица 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;
     
  2. Vadik(R)

    Vadik(R) Well-Known Member

    Регистрация:
    12 дек 2007
    Сообщения:
    483
    Симпатии:
    0
    Попробуй так:
    Код (Text):
    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;
     
  3. Guest11

    Guest11 Гость

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

Поделиться этой страницей