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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2012, 00:11   #11
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

downto - всегда о нем забываю.

Но есть подозрение, что он долго вертеться будет.
А при работе со списком в N сотен строк... проблематично.

Депустим
Код:
for i:=fDirList.count -1 downto 0 do
...
fDirList.Delete(i);
...
После удаления элемента из списка, downto снова пойдет от начала fDirList.Count -1, таким образом он будет начинать каждый раз сначала, когда происходит изменение счетчика fDirList.Count.

А что если:
Код:
for i:=0 to fDirList.Count -1 do
begin
...
fDirList.Delete(i);
i:=i-1;
end;
По поводу while - не понял. Можно показать как его, в этом случае, применить?

Последний раз редактировалось Человек_Борща; 15.03.2012 в 00:15.
Человек_Борща вне форума Ответить с цитированием
Старый 15.03.2012, 00:21   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
снова пойдет от начала fDirList.Count -1
Какого фига? То что в FOR, вычисляется один раз и не более того
Цитата:
i:=i-1;
Человек_Борща, что с вами? Это вообще кошмар

add

метод удаления по условию в цикле for более эффективней аналогичного в цикле while. См. ссылку в #4
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 15.03.2012 в 00:51.
Аватар вне форума Ответить с цитированием
Старый 15.03.2012, 01:00   #13
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

цикл не будет идти сначала.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.03.2012, 01:26   #14
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Человек_Борща, что с вами? Это вообще кошмар
Самому бы знать В понедекльник, не с той ноги и не туда(Стенной хук слева...), встал с кровати...

Цитата:
цикл не будет идти сначала.
Почему?

Последний раз редактировалось Человек_Борща; 15.03.2012 в 01:35.
Человек_Борща вне форума Ответить с цитированием
Старый 15.03.2012, 01:38   #15
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а в честь чего он должен перезапуститься сначала?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
алгоритмы нахождения эйлерова цикла и гамильтонова цикла в графе. Necare Помощь студентам 0 15.11.2011 18:26
Несен момент в коде Kapitann JavaScript, Ajax 4 16.08.2010 18:20
Корелляционный момент PONKA Microsoft Office Excel 2 09.12.2009 20:29
Переход от цикла к циклу не выходя из цикла (без multithreading) Qousio Общие вопросы C/C++ 2 16.05.2009 09:27
Оператор цикла с предусловием While. Оператор цикла с пост условием Repeat McMilin Помощь студентам 7 11.11.2007 14:10