![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 11.09.2013
Сообщений: 56
|
![]()
Всем привет. У меня какая-то странная проблема. Не буду скидывать код, он громоздкий и непонятный, и он не важен. Суть в самом цикле, в технологии цикла. Аномалия какая-то.. Существует цикл, в теле которого 8 условий. При выполнении одного из условий выполняется код, заключенный в тело условия. Проблема вся в том, что цикл на каком-то шаге (113 например), выполнив условие №8, продолжает идти дальше до конца, но больше не "читает" никакое из условий.
Давайте я напишу код все-таки, иначе не понятно объясняю проблему. Существует таблица с одной колонкой, в ней допустим 255 рядов, в каждой ячейке число от 1 до 8, рандомно, неважно.. Существует цикл for i:= 0 to 255 do, в теле которого 8 условий: если ячейка = 1 то, если ячейка = 2 то и так далее. Представьте, что цикл, на 113 шаге из 255 дает некий сбой. Он находит условие 8, но тело условия не выполняет, и далее, не выполняет ни одно из условий.. но и не обрывается, а "шагает" до 255, до конца. Чем это может быть вызвано? Цикл выполняется в процедуре, "повешанную" на таймер с интервалом 0,250 сек. Изменение интервала таймера на проблему никак не влияет. Заранее спасибо. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 21.05.2008
Сообщений: 495
|
![]()
Код встудию
![]() |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Код в студию, телепаты в бессрочном отпуске.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 30.05.2011
Сообщений: 651
|
![]()
Скорее всего у ТС условия (или часть условий) выглядят так :
Код:
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ. Список услуг и портфолио на сайте www.andreygrom.ru |
![]() |
![]() |
![]() |
#5 |
Программист и
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,265
|
![]()
Первое что сразу могу сказать из прочитанного, это то что если в таймере есть цикл, то надо до выполнения цикла таймер останавливать а после выполнения запускать иначе бред получиться. Второе что увидел, у вас наверное в теле условия 8, происходит изменения каких-то данных, которые влияют на исход других условий, скорей всего в этом причина.
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 30.05.2011
Сообщений: 651
|
![]()
Да чё, давайте лучше кофейную гущу возьмём, или карты разложим.
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ. Список услуг и портфолио на сайте www.andreygrom.ru |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 11.09.2013
Сообщений: 56
|
![]()
Всем спасибо большое за ответы, извините что долго не отвечал. Я скидываю код куска этой процедуры, он конечно мало его скажет, но тем не менее:
Код:
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 11.09.2013
Сообщений: 56
|
![]()
продолжение:
Код:
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 11.09.2013
Сообщений: 56
|
![]() Код:
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 11.09.2013
Сообщений: 56
|
![]() Код:
я закомментил рисования по канве, на время, для себя. В условии, помеченном как "8" код не выполняется. Точнее он выполняется один раз, а на второй уже нет, и все последующие шаги цикла не проверяют ни одно из условий (в то время, как они должны происходить на 101%). При других данных совершенно другая картина, при третьих - третья. Весь косяк в самом цикле и таймере - я только к такому выводу пришел. Все условия вылизаны и идеальны, все должно работать. Буду рад любой помощи, спасибо! |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Шаг цикла | LLIALLIJIbIK | Общие вопросы Delphi | 4 | 14.04.2013 15:45 |
Нужно сделать шаг вперед и шаг назад в сортировке расческой | DeadGod | Помощь студентам | 0 | 29.11.2012 16:11 |
сколько раз выполняется тело цикла? | adm2010 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 23.12.2010 16:46 |
В самой проге не выполняется цикл. | Repac123456 | Помощь студентам | 5 | 15.11.2010 22:10 |
Не выполняется весь цикл | alexeevich | PHP | 3 | 30.08.2010 11:52 |