Показать сообщение отдельно
  #4  
Старый 08.04.2014, 16:41
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Zanuda
Логично. Спасибо. Но теперь программа зависает... Буду дальше разбираться.
Зависает, потому что вычитание от переменной "c" нужно вынести за условие. Т.е. переменная "c" должна уменьшаться всегда, а не только для чётных строк, иначе первая же нечётная строка вызовет бесконечный цикл в связи с неуменьшением этой переменной:
Код:
var
  c, r: Integer;
begin
  for r := 2 to StringGrid1.RowCount - 1 do
  begin
    c := StringGrid1.ColCount - 3;
    while c >= 1 do
    begin
      if not Odd(r) then
      begin
.....
      end;
      Dec(c, 2);
    end;
  end;
end;
Ответить с цитированием