![]()  | 
	
 
  | 
| 
	 | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 День добрый. Столкунлся с такой проблемой как посчитать сумму в стринггриде. Вообщем считать надо в 5 столбце, а количество строк может меняца. Каким методом это сделать? 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Код: 
	function TForm1.CalcSumm: Extended;
var
  I : Integer;
  E : Extended;
begin
  Result := 0;
  for I := 1 to StringGrid1.RowCount-1 do //c 1, если есть заголовок
    if TryStrToFloat(StringGrid1.Cells[4, I], E) then //индекс "4" - пятая колонка
      Result := Result + E;
end; | 
| 
		 
			 
			#3  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 СПАСИБО БОЛЬШОЕ SAN-46! работает! 
		
	
		
		
		
		
		
	
		
		
	
	
	есть еще вопрос: у меня в ячейку можно вводить данные, так как мне сделать чтобы он не ругался когда я ему вместо "," ввожу "."?? т.е. можно сделать чтобы и так и так было правильно? это наверное свойство определенной ячейки надо менять?  | 
| 
		 
			 
			#4  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Код: 
	function TForm1.CalcSumm: Extended;
var
  I, K : Integer;
  E : Extended;
  FS : TFormatSettings;
  S : String;
begin
  Result := 0;
  GetLocaleFormatSettings(0, FS);
  FS.DecimalSeparator := '.';
  for I := 1 to StringGrid1.RowCount-1 do begin
    S := StringGrid1.Cells[4, I];
    K := Pos(',', S);  
    if K > 0 then S[K] := '.';
    if TryStrToFloat(S, E, FS) then
      Result := Result + E;
  end;
end; | 
| 
		 
			 
			#5  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Цитата: 
	
 Я сделал на создание формы разделитель. А как сделать так, чтобы еще и при операциях с числами у которых разделитель '.' не вылазила ошибка?  | 
| 
		 
			 
			#6  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 А  что за "операции с числами"? 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	В Delphi в числовых константных выражениях целая и дробная части должны разделяться точкой (это когда в тексте программы число указывается в явном виде). А так же при преобразовании числа в строку и наоборот. Больше нигде при операциях с числами Delphp не оперирует разделителями, ни точками, ни запятыми. Надо уточнить вопрос.  |