|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.10.2013, 12:48 | #1 |
Пользователь
Регистрация: 11.09.2013
Сообщений: 56
|
цикл for to do, шаг цикла не выполняется
Всем привет. У меня какая-то странная проблема. Не буду скидывать код, он громоздкий и непонятный, и он не важен. Суть в самом цикле, в технологии цикла. Аномалия какая-то.. Существует цикл, в теле которого 8 условий. При выполнении одного из условий выполняется код, заключенный в тело условия. Проблема вся в том, что цикл на каком-то шаге (113 например), выполнив условие №8, продолжает идти дальше до конца, но больше не "читает" никакое из условий.
Давайте я напишу код все-таки, иначе не понятно объясняю проблему. Существует таблица с одной колонкой, в ней допустим 255 рядов, в каждой ячейке число от 1 до 8, рандомно, неважно.. Существует цикл for i:= 0 to 255 do, в теле которого 8 условий: если ячейка = 1 то, если ячейка = 2 то и так далее. Представьте, что цикл, на 113 шаге из 255 дает некий сбой. Он находит условие 8, но тело условия не выполняет, и далее, не выполняет ни одно из условий.. но и не обрывается, а "шагает" до 255, до конца. Чем это может быть вызвано? Цикл выполняется в процедуре, "повешанную" на таймер с интервалом 0,250 сек. Изменение интервала таймера на проблему никак не влияет. Заранее спасибо. |
21.10.2013, 12:55 | #2 |
Форумчанин
Регистрация: 21.05.2008
Сообщений: 495
|
Код встудию Так очень трудно что то сказать, скорее всег оесли у вас вложеность условий то просто на первом же идёт по ветки елсе и всё...
|
21.10.2013, 13:06 | #3 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Код в студию, телепаты в бессрочном отпуске.
|
21.10.2013, 13:06 | #4 |
Форумчанин
Регистрация: 30.05.2011
Сообщений: 651
|
Скорее всего у ТС условия (или часть условий) выглядят так :
Код:
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ. Список услуг и портфолио на сайте www.andreygrom.ru |
21.10.2013, 14:00 | #5 |
Программист и
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,265
|
Первое что сразу могу сказать из прочитанного, это то что если в таймере есть цикл, то надо до выполнения цикла таймер останавливать а после выполнения запускать иначе бред получиться. Второе что увидел, у вас наверное в теле условия 8, происходит изменения каких-то данных, которые влияют на исход других условий, скорей всего в этом причина.
|
21.10.2013, 14:06 | #6 |
Форумчанин
Регистрация: 30.05.2011
Сообщений: 651
|
Да чё, давайте лучше кофейную гущу возьмём, или карты разложим.
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ. Список услуг и портфолио на сайте www.andreygrom.ru |
21.10.2013, 14:48 | #7 |
Пользователь
Регистрация: 11.09.2013
Сообщений: 56
|
Всем спасибо большое за ответы, извините что долго не отвечал. Я скидываю код куска этой процедуры, он конечно мало его скажет, но тем не менее:
Код:
|
21.10.2013, 14:49 | #8 |
Пользователь
Регистрация: 11.09.2013
Сообщений: 56
|
продолжение:
Код:
|
21.10.2013, 14:50 | #9 |
Пользователь
Регистрация: 11.09.2013
Сообщений: 56
|
Код:
|
21.10.2013, 14:51 | #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 |