Выполнение в цикле пока

Ответить
rusincor
Рядовой
Сообщения: 31
Зарегистрирован: 01 сен 2019, 21:28
Имя: Руслан

Выполнение в цикле пока

Сообщение rusincor »

Всем привет !
Столкнулся с такой проблемой, не работает функция "выполнять в цикле пока".
Подскажите может я что-то делаю не так.
Вот пример платы
Выполнять в цикле пока.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

Выполнение в цикле пока

Сообщение edyapd »

[ref]rusincor[/ref], всё прекрасно работает. Просто вы не совсем понимаете, как это должно применяться.
Создайте ещё одну плату до и одну после. На обоих платах выведите что-нибудь в сом-порт. И вы заметите, что сперва вывелось с первой платы. Потом будет ожидаться, пока вы не нажмёте на кнопку и переменная не примет значение 10. И лишь затем сработает следующая плата.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Выполнение в цикле пока

Сообщение rw6cm »

rusincor писал(а): 11 май 2021, 13:44 Подскажите может я что-то делаю не так.
Кнопка внутри цикла ни к чему.
При включении условие цикла сразу его запускает.
Снаружи доступа внутрь рабочего цикла нет. Кнопку не нажать, условие =10 никогда не настанет.
Вот вам бесконечный цикл.))
Не знаю что вы хотели, но кнопку надо вынести.
выполнять в цикле.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

Выполнение в цикле пока

Сообщение edyapd »

[ref=#ff8000]rw6cm[/ref], может я чего не понимаю. Но как раз если вынести кнопку из цикла, то её будет не нажать. И тогда как раз условие =10 никогда не настанет. Если же кнопка в цикле, то она будет постоянно опрашиваться.
Разницу в вашем примере и примере ТС это как раз видно. У ТС можно запустить отправку в сом-порт и остановить с помощью кнопки. Но после того, как дойдёт до 10, то кнопка (впрочем как и цикл) запускаться уже не будут.
В вашем примере кнопкой можно запустить цикл, но невозможно его остановить. После того, как переменная достигнет 10, повторно цикл не запустится, так как нет обнуления условия.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Выполнение в цикле пока

Сообщение rw6cm »

[ref]edyapd[/ref],
Цикл (в данном случае While) выполняется только по условию, в данном случае (пер.123) !=(10).
Если в условии о кнопке ни чего не сказано, ставьте их хоть сколько, пользоваться ими из цикла вы не сможете.
Доступа внутрь цикла из вне нет.
Выйти из него можно только, если предусмотрен в коде "break" (его нет в флп),
или условие цикла не выполнимо.
Win10-64, FLProg (portable)
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Выполнение в цикле пока

Сообщение Sancho »

Вход будет отрабатываться в цикле только в том случае, если НЕ установлен режим "защита от дребезга".
Отключите его - всё заработает.
Поставьте кондёр, если нужно.
Посмотрите два варианта кода.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

Выполнение в цикле пока

Сообщение edyapd »

[ref=#ff8000]rw6cm[/ref], увидел в чём я заблуждался. Почему-то мне казалось, что опрос кнопки идёт в функции (и как по мне это было бы более правильно), а оказывается, что она опрашивается в начале каждого цикла.
[spoiler]
изображение_2021-05-11_215232.png
[/spoiler]

И тогда да, если есть защита от дребезга, то кнопка опрашиваться не будет, так как зайдя в цикл программа там и останется.
Тут замечание [ref=#ff8000]Sancho[/ref] очень верное.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
rusincor
Рядовой
Сообщения: 31
Зарегистрирован: 01 сен 2019, 21:28
Имя: Руслан

Выполнение в цикле пока

Сообщение rusincor »

Спасибо за советы.
Сейчас не за компом, завтра как доберусь буду ковырять. По результатам отпишусь.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Выполнение в цикле пока

Сообщение rw6cm »

Sancho писал(а): 11 май 2021, 17:51 Вход будет отрабатываться в цикле только в том случае, если НЕ установлен режим "защита от дребезга".
Снимаю шляпу... [ref=#ff8000]Sancho[/ref], как всегда прав :)
(Как то мне надо было загнать кнопку в цикл, ни чего хорошего из этого не вышло.)
Беру часть своих слов обратно ))
п/с думаю и с кондюками будет еще та песня...

Отправлено спустя 3 часа 56 минут 46 секунд:
rusincor писал(а): 11 май 2021, 18:04 завтра как доберусь буду ковырять
если нужды останавливать на ходу цикл нет, можно кнопку вынести.
так будет проще.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
rusincor
Рядовой
Сообщения: 31
Зарегистрирован: 01 сен 2019, 21:28
Имя: Руслан

Выполнение в цикле пока

Сообщение rusincor »

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

:smile152: :smile152: :smile152:
Ответить

Вернуться в «Помогите, а то я "нимагу"»

Кто сейчас на конференции

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