Я отряхиваю c++ с классом колледжа, и я столкнулся со странной проблемой, с которой у меня проблемы с диагностикой.
Код компилируется и работает нормально с желаемым результатом, но после получения правильной записи программа, кажется, зависает [ENTER] прежде чем продолжить
Программа получает данные, которые она использует для создания файла под этим именем.
Как можно избежать зависания программы в ожидании [ENTER] ?
- Решение
- Другие решения
- Отмечен как дубликат участниками rdorn, Pavel Mayorov c# Участники со знаками c# могут единолично закрывать вопросы с меткой c# как дубликаты, а также повторно открывать их при необходимости. 14 фев ’18 в 13:34 .
- 1 ответ 1
- Sevenup
- arhip1985
- Valiksim
- Dimionix
- Sevenup
- Sevenup
- Dimionix
- Valiksim
- Sevenup
- Dimionix
- Sevenup
Решение
Твоё отступление от твоего отступления. validateUserName на самом деле должен выглядеть так:
И то, на чем мы действительно хотим сосредоточиться — это часть цикла do while
Теперь вы можете видеть, что если у вас нет ошибок в вводе, вы по-прежнему запрашиваете ввод как getline(cin, name); не внутри, если. Мы можем легко это исправить, добавив фигурные скобки, такие как
Другие решения
Вы должны поместить свою проверку в блок с областью видимости:
На данный вопрос уже ответили:
Если использовать в цикле паузу System.Threading.Thread.Sleep(1000), то на паузу ставится вся программа. Мне нужно, чтобы во время паузы в цикле я мог нажимать на кнопки Windows Forms.
Отмечен как дубликат участниками rdorn, Pavel Mayorov c# Участники со знаками c# могут единолично закрывать вопросы с меткой c# как дубликаты, а также повторно открывать их при необходимости. 14 фев ’18 в 13:34 .
Подобный вопрос задавали ранее и на него уже получен ответ. Если представленные ответы не являются исчерпывающими, пожалуйста, задайте новый вопрос.
1 ответ 1
Простой пример запуска таймера потом его использования. Первой кнопкой запускаем таймер, который увеличивает i. Второй кнопкой помещаем i в поле. Таким способом можно решить Вашу проблему. Программа не будет зависать.
UPD В вашем случае цикла не будет, а будет вызываться нужный код в самом таймере (например там будет вызов функции, которая ранее была у Вас в цикле)
Для остановки цикла можно использовать timer1.Enabled = false; , который вызывать при нажатии кнопки
Sevenup
Client
Такая вот дилемма: например на странице есть JS и много флеша. При использовании стандартного кубика «пауза» или C# кода System.Threading.Thread.Sleep(10 * 1000); получаю паузу 10с, но все процессы на странице замирают. Например видеоплеер остановит воспроизведение и т.д.
Существуют ли еще способы отсрочить закрытие окна(инстанса) в ZP, некий другой способ паузы либо как вариант мне подойдет проверка активности сети, т.е. перестал ли инстанс слать аяксы и вообще что-то отправлять или получать.
всем заранее спасибо за ответ.
![]()
arhip1985
Client
300 — это пауза в миллисекундах, можно больше ставить, кубик завершится если всплывшее окно закроете
этот метод в последних версиях был добавлен, не помню уже в какой
![]()
Valiksim
Client
![]()
Dimionix
Moderator
Sevenup
Client
300 — это пауза в миллисекундах, можно больше ставить, кубик завершится если всплывшее окно закроете
этот метод в последних версиях был добавлен, не помню уже в какой
спасибо! данный метод вроде работает. Значение указывается в секундах.
Дальше буду копать как определить активность в табе, продолжаются ли сетевые соединения и т.д.
Sevenup
Client
Костыль, но сработал. Цикл, выход после действия нажатия? Не вариант.
![]()
Dimionix
Moderator
А если попробовать поиграться с этими чекбоксами?

![]()
Valiksim
Client
Sevenup
Client
А если попробовать поиграться с этими чекбоксами?
ну это аналог:
instance.IgnoreAjaxRequests = true;
instance.IgnoreAdditionalRequests = false;
instance.IgnoreFrameRequests = false;
instance.IgnoreFlashRequests = true;
т.е. просто включение или отключение игнорирование Ajax и прочих зпросов, а я как раз хочу дождаться, пока они все выполнятся, а инстанс закрывается раньше, почему не понимаю. В принципе вариантом instance.WaitForUserAction(10); принудительно жду 10с, пока хоть так 
![]()
Dimionix
Moderator
Sevenup
Client
дык точно такой код у меня в самом начале проекта, так как например без instance.IgnoreFlashRequests = false; в флеше не загружался контент. Но фишка в том, что видимо происходит какая-то пауза внутри флеша между запросами, а инстанс закрывается, когда доходит до последнего кубика.
как вариант пробую сейчас (эксперементирую) делать так:
Tab tab = instance.ActiveTab;
if (tab.IsBusy) tab.WaitDownloading();
потом пауза и снова проверка if (tab.IsBusy)
так в цикле несколько раз. что бы словить последующие запросы флеша и уже если через например 10 циклов tab.IsBusy=false тогда уж переход дальше по цепочке кубиков и закрытие инстанса.
возможно это глюк какой в зенно, суть темы была в том, что при стандартной паузе останавливались события внутри флеша, например проигрывание видео.