Выполнение в цикле пока
Выполнение в цикле пока
Всем привет !
Столкнулся с такой проблемой, не работает функция "выполнять в цикле пока".
Подскажите может я что-то делаю не так.
Вот пример платы
Столкнулся с такой проблемой, не работает функция "выполнять в цикле пока".
Подскажите может я что-то делаю не так.
Вот пример платы
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Выполнение в цикле пока
[ref]rusincor[/ref], всё прекрасно работает. Просто вы не совсем понимаете, как это должно применяться.
Создайте ещё одну плату до и одну после. На обоих платах выведите что-нибудь в сом-порт. И вы заметите, что сперва вывелось с первой платы. Потом будет ожидаться, пока вы не нажмёте на кнопку и переменная не примет значение 10. И лишь затем сработает следующая плата.
Создайте ещё одну плату до и одну после. На обоих платах выведите что-нибудь в сом-порт. И вы заметите, что сперва вывелось с первой платы. Потом будет ожидаться, пока вы не нажмёте на кнопку и переменная не примет значение 10. И лишь затем сработает следующая плата.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
Выполнение в цикле пока
Кнопка внутри цикла ни к чему.
При включении условие цикла сразу его запускает.
Снаружи доступа внутрь рабочего цикла нет. Кнопку не нажать, условие =10 никогда не настанет.
Вот вам бесконечный цикл.))
Не знаю что вы хотели, но кнопку надо вынести.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
Выполнение в цикле пока
[ref=#ff8000]rw6cm[/ref], может я чего не понимаю. Но как раз если вынести кнопку из цикла, то её будет не нажать. И тогда как раз условие =10 никогда не настанет. Если же кнопка в цикле, то она будет постоянно опрашиваться.
Разницу в вашем примере и примере ТС это как раз видно. У ТС можно запустить отправку в сом-порт и остановить с помощью кнопки. Но после того, как дойдёт до 10, то кнопка (впрочем как и цикл) запускаться уже не будут.
В вашем примере кнопкой можно запустить цикл, но невозможно его остановить. После того, как переменная достигнет 10, повторно цикл не запустится, так как нет обнуления условия.
Разницу в вашем примере и примере ТС это как раз видно. У ТС можно запустить отправку в сом-порт и остановить с помощью кнопки. Но после того, как дойдёт до 10, то кнопка (впрочем как и цикл) запускаться уже не будут.
В вашем примере кнопкой можно запустить цикл, но невозможно его остановить. После того, как переменная достигнет 10, повторно цикл не запустится, так как нет обнуления условия.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
Выполнение в цикле пока
[ref]edyapd[/ref],
Цикл (в данном случае While) выполняется только по условию, в данном случае (пер.123) !=(10).
Если в условии о кнопке ни чего не сказано, ставьте их хоть сколько, пользоваться ими из цикла вы не сможете.
Доступа внутрь цикла из вне нет. Выйти из него можно только, если предусмотрен в коде "break" (его нет в флп),
или условие цикла не выполнимо.
Цикл (в данном случае While) выполняется только по условию, в данном случае (пер.123) !=(10).
Если в условии о кнопке ни чего не сказано, ставьте их хоть сколько, пользоваться ими из цикла вы не сможете.
Доступа внутрь цикла из вне нет. Выйти из него можно только, если предусмотрен в коде "break" (его нет в флп),
или условие цикла не выполнимо.
Win10-64, FLProg (portable)
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Выполнение в цикле пока
Вход будет отрабатываться в цикле только в том случае, если НЕ установлен режим "защита от дребезга".
Отключите его - всё заработает.
Поставьте кондёр, если нужно.
Посмотрите два варианта кода.
Отключите его - всё заработает.
Поставьте кондёр, если нужно.
Посмотрите два варианта кода.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Выполнение в цикле пока
[ref=#ff8000]rw6cm[/ref], увидел в чём я заблуждался. Почему-то мне казалось, что опрос кнопки идёт в функции (и как по мне это было бы более правильно), а оказывается, что она опрашивается в начале каждого цикла.
[spoiler] [/spoiler]
И тогда да, если есть защита от дребезга, то кнопка опрашиваться не будет, так как зайдя в цикл программа там и останется.
Тут замечание [ref=#ff8000]Sancho[/ref] очень верное.
[spoiler] [/spoiler]
И тогда да, если есть защита от дребезга, то кнопка опрашиваться не будет, так как зайдя в цикл программа там и останется.
Тут замечание [ref=#ff8000]Sancho[/ref] очень верное.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Выполнение в цикле пока
Спасибо за советы.
Сейчас не за компом, завтра как доберусь буду ковырять. По результатам отпишусь.
Сейчас не за компом, завтра как доберусь буду ковырять. По результатам отпишусь.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
Выполнение в цикле пока
Снимаю шляпу... [ref=#ff8000]Sancho[/ref], как всегда правSancho писал(а): 11 май 2021, 17:51 Вход будет отрабатываться в цикле только в том случае, если НЕ установлен режим "защита от дребезга".

(Как то мне надо было загнать кнопку в цикл, ни чего хорошего из этого не вышло.)
Беру часть своих слов обратно ))
п/с думаю и с кондюками будет еще та песня...
Отправлено спустя 3 часа 56 минут 46 секунд:
если нужды останавливать на ходу цикл нет, можно кнопку вынести.
так будет проще.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
Выполнение в цикле пока
Привет народ всем спасибо проблема решилась.
Все дело было именно в защите от дребезга --- мать ее так
Только убрал все заработало

Все дело было именно в защите от дребезга --- мать ее так
Только убрал все заработало



Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость