![]()  | 
	
 
  | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Вот цикл подсчета суммы в ячейках StringGrid-a: 
		
	
		
		
		
		
		
	
		
		
	
	
	Код: 
	var 
  i: integer;
  summ: array[1..25] of  real;
begin
  for i:=1 to 25 do
       begin
         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);
       end;
end; | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Код: 
	var 
  i: integer;
  summ: array[1..25] of  real;
begin
  for i:=1 to 25 do
       begin
         If (SG2.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
         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);
       End;
       end;
end; | 
| 
		 
			 
			#3  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Спасибо тебе, Imikle!) Я щас попробую сделать) 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#4  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Код работает). Теперь у меня еще вот какой вопрос: как написать процедуру (или цикл), который бы удалял нули из таблицы? Если можете, то может его можно встроить в код, который я дал в начале страницы темы). А как еще избавииться от того, чтобы не появлялось сообещение типа: " ' ' is not a valid floating point value"?) 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#5  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 1. что значит "удалял"? Менял на пустую строку? 
		
	
		
		
		
		
		
	
		
		
	
	
	2. Использовать, например, конструкцию Try...Except...End. Под отладчиком все-равно будут возникать, но при работе - нет.  | 
| 
		 
			 
			#6  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Цитата: 
	
  | 
| 
		 
			 
			#7  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 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; | 
| 
		 
			 
			#8  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Спасибо, уважаемый коллега!) Я попробую сделать) 
		
	
		
		
		
		
		
	
		
		
	
	
	 |