Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Сумма чисел в ячейках StringGrid


Автор: ABUTAEV 25.9.2010, 18:58
Здравствуйте Все! Подскажите если можно сделать что-то здесь вот Код
Код

procedure TT1Form.BitBtn1Click(Sender: TObject);
var
a:array[3..33] of real;
i:integer;
j:integer;
SumRab:real;
Rasts:real;
StoimRab:real;
 begin

  for i:=1 to T1Form.T1StringGrid.RowCount-2 do
  begin
    SumRab:=0;
 for j := 3 to T1Form.T1StringGrid.ColCount - 3 do
     begin
  if Length (T1Form.T1StringGrid.Cells[j,i])<>0 then
  a[j] := StrToFloat(T1Form.T1StringGrid.Cells[j,i]) else a[j] := 0;
  SumRab:=SumRab+a[j];
  Rasts:=StrToFloat(T1Form.T1StringGrid.Cells[2,i]);
  StoimRab:=SumRab*Rasts;
   T1Form.T1StringGrid.Cells[34,i]:=FloatToStr(SumRab);
   T1Form.T1StringGrid.Cells[35,i]:=FloatToStr(StoimRab);
end;
 end;
 end;



Если в ячейках цифры, то они складываются. Если ячейки пустые, то считается что там « 0». А можно сделать так, чтобы если введены буквы, то тоже считались = 0.  Для того чтобы  все эти цифры в ячейках сложить и буквы не мешали подсчету результата,  или может по-другому,   как-то можно  все сделать? 

Автор: Amphiluke 25.9.2010, 19:14
Для любого содержимого ячеек (в т.ч. для отсутствия содержимого) smile
Код

a[j] := StrToFloatDef(T1Form.T1StringGrid.Cells[j, i], 0);

Автор: ABUTAEV 25.9.2010, 19:30
Выводит ошибку [Error] T1Unit.pas(126): There is no overloaded version of 'StrToFloat' that can be called with these arguments

[Error] T1Unit.pas(126): Нет перегруженной версии 'StrToFloat, которая может быть названа этими аргументами.

Автор: Amphiluke 25.9.2010, 19:35
Я же вам предлагаю функцию StrToFloatDef вместо StrToFloat.

Добавлено через 1 минуту и 14 секунд
Посмотрите внимательнее на строчку кода, которую я привел выше.

Автор: ABUTAEV 25.9.2010, 19:44
 Простите меня, я был не внимателен. Все работает чотко, просто прелесть! Огромное спасибо! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)