Показать сообщение отдельно
  #4  
Старый 11.11.2012, 18:21
Diplomate Diplomate вне форума
Прохожий
 
Регистрация: 10.11.2012
Сообщения: 15
Репутация: 10
По умолчанию

Большое спасибо.
У меня тут еще один вопрос. Нужно создать программу, состоящую из двух таблиц(5x5 и 1x5) и кнопки "Расчет". Суть задания в том, чтобы все числа в строке первой таблицы складывались и их сумма отображалась в соответствующей строке второй таблицы. Я составил код, но после заполнения первой таблицы и нажатия кнопки "Расчет" во второй таблице ничего не пишется! Вот код(Tab1 и Tab2 соответственно первая и вторая таблицы):
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i,j,n:integer;
c:real;
b:boolean;
begin
b:=true; //b-логическая переменная, которой присваивается значение false, если найдена пустая ячейка(проверка, что все ячейки строки 
//заполнены)
c:=0; //c-переменная. в которой хранится сумма
for i:=0 to Tab1.RowCount do
 begin
  for j:=0 to Tab1.ColCount do
    if Tab1.Cells[i,j]='' then //если ячейка пустая, то b:=0
     b:=false;
  if b=true then //если b=true, то все ячейки заполнены, в этом случае мы подсчитываем сумму
   begin
    for n:=0 to Tab1.ColCount do
     c:=c+StrToFloat(Tab1.Cells[i,n]);
    Tab2.Cells[i,0]:=FloatToStr(c);
   end;
 end;
end; 
Насколько я понял программа в цикле, где идет проверка на то, что все ячейки строки заполнены, где-то присваивает переменной b значение false, поэтому подсчет и вывод значения c во вторую таблицу не происходит. Прошу найти ошибку в коде.
Ответить с цитированием