Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 06.11.2010, 10:19   #1
Des
Форумчанин
 
Регистрация: 12.11.2008
Сообщений: 124
Радость Необходимо в теле FOR изменить значение i

Код:
for i:=0 to StringGrid1.RowCount - 1 do
    begin
    if (StringGrid1.Cells[0,i] = '') and (StringGrid1.RowCount >=  i) then begin
      RowDel(i);
      i:=i-1;
      end;
    end;
Собственно волнует строка i:=i-1;
Смысл такой.
Имеется StringGrid, из него нужно вычислить пустую строку и удалить (RowDel(i)) и соответственно что бы не шагать дальше нам нужно снова прверять с той позиции на которой мы остановились при удалени.
P.S.: удаление строки происходит со смещением вверх. т.е. если 9 и 10 строка пустые, и мы удаляем 9, то 10 встает на место 9, но цикл продолжает проверять уже не 9 (пустую) а 10, которая в свою очередь стала 11.

Как то так
Des вне форума
Старый 06.11.2010, 10:25   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Необходимо в теле FOR изменить значение i
Невозможно. Замени его на WHILE
Или напиши классический фокус
Код:
for i:=StringGrid1.RowCount - 1 downto 0...
I'm learning to live...
Stilet вне форума
Старый 06.11.2010, 10:51   #3
Des
Форумчанин
 
Регистрация: 12.11.2008
Сообщений: 124
Хорошо

Цитата:
Сообщение от Stilet Посмотреть сообщение
Или напиши классический фокус
Код:
for i:=StringGrid1.RowCount - 1 downto 0...
Восхитительно Спасибо! downto 0 спасет мир
Des вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реестр - Необходимо изменить действие по умолчанию для .reg файлов(«Изменить» вместо «Объединить»). ACE Valery Windows 7 30.11.2010 23:33
Как изменить значение value в поле? erwerwe JavaScript, Ajax 8 04.08.2010 18:20
Необходимо изменить вид отчета alex0173 Microsoft Office Excel 7 22.03.2010 11:40
Необходимо вытыщить значение переменной из Ява скрипта формируемого в Делфи Ekushenko Помощь студентам 2 12.03.2010 04:32
Необходимо определить максимальное значение, хранимое в 2-х массивах и указать сумму элементов массива Игорь777 Помощь студентам 1 29.03.2009 21:14