Тема: цикл
Показать сообщение отдельно
  #7  
Старый 08.08.2008, 19:13
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. по всем ячейкам меняем 0 на пустую строку:
Код:
var
 I, J : Integer;
begin
  For I := 0 To SG3.ColCount Do
    For J := 0 To SG3.RowCount Do
      If SG3.Cells[I,J[ = '0' Then SG3.Cells[I,J[ := '';
end;

2. Если не удалось конвертировать хоть одно число, то ставит в ячейку 0:
Код:
var 
  i: integer;
  summ: array[1..25] of  real;
begin
  for i:=1 to 25 do
       begin
         If (SG3.Cells[2,i] = '') Or (SG3.Cells[8,i] = '') Or (SG3.Cells[14,i] = '') Or (SG3.Cells[20,i] = '') Then  SG3.Cells[26,i]:= '0' Else
       begin
         Try
         summ:=(StrToFloat(SG3.Cells[2,i])+ StrToFloat(SG3.Cells[8,i])+                     
                       StrToFloat(SG3.Cells[14,i])+ StrToFloat(SG3.Cells[20,i])/4;
         SG3.Cells[26,i]:=FloatToStr(summ,ffFixed,1,1);
         Except
            SG3.Cells[26,i]:= '0';
         End;
       End;
       end;
end;
Ответить с цитированием