Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2007, 20:44   #1
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию Приостановка выполнения цикла

Господа С++ники, очень прошу помочь мне. Как можно приостановить выполнение бесконечного цикла, скажем, до нажатия кнопки мышки? Нет ли какой-нибудь стандартной функции?
Код:
while(true)
{
    cout<<"Hello!!!"<<endl;
    ... //вот тут должно быть ожидание нажатия кнопки (getch и getchar не предлагать)
    if (SgIsKeyPressed(VK_LBUTTON))
    {
          cout<<"Mouse Click"<<endl;
    }
}
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 01.12.2007, 21:45   #2
silversab
Пользователь
 
Регистрация: 26.11.2007
Сообщений: 12
По умолчанию

Код:
while (!SgIsKeyPressed(VK_LBUTTON))
{
       Sleep(time);
}
где time время задержки в миллисекундах

И правила оформления сообщений прочти

Последний раз редактировалось merax; 01.12.2007 в 21:57.
silversab вне форума Ответить с цитированием
Старый 01.12.2007, 21:54   #3
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
По умолчанию

Цитата:
Сообщение от silversab Посмотреть сообщение
while (!SgIsKeyPressed(VK_LBUTTON))
{
Sleep(time);
}

где time время задержки в миллисекундах

Ха ха а если нажатие кнопки будет происходить через неделю ??? Будешь время в милисекундах считать ??? Думай, что советуешь !!!

Код:
{
	
   cout << "Hello!!!" << endl;
   cout << "Mouse Click" << endl;
   do
   {
	 continue;
   {
   while (!SgIsKeyPressed(VK_LBUTTON))
   }	
return 0;
Не проверял, но чувствую, что можно и без "continue" !!!
merax вне форума Ответить с цитированием
Старый 01.12.2007, 22:09   #4
silversab
Пользователь
 
Регистрация: 26.11.2007
Сообщений: 12
По умолчанию

Вообще то с любым временем работать будет, а ваш вариант то же яйцо только в профиль
silversab вне форума Ответить с цитированием
Старый 01.12.2007, 22:15   #5
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
По умолчанию

Где "тоже" то ? У меня цикл будет работать пока не произойдет событие - нажатие кнопки !!! А у тебя когда закончиться время то выполниться следующий за sleep оператор не зависимо от того, что ты хочешь! Логично?

Последний раз редактировалось merax; 01.12.2007 в 22:46.
merax вне форума Ответить с цитированием
Старый 01.12.2007, 22:43   #6
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

TO merax: спасибо тебе, конечно, но все равно где-то один раз из 20 пропускается нажатие на мышку. Эхх...
TO silversab: я же не телепат, откуда я могу знать, когда пользователь кликнет мышкой?
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 01.12.2007, 22:46   #7
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
По умолчанию

Всегда пожалуйста, ну для более точного "отлова" нажатия можно реализовать ловушку! Если очень уж надо.
merax вне форума Ответить с цитированием
Старый 01.12.2007, 23:00   #8
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Очень надо, просто дело жизни и смерти. Только я не знаю, как организовывать ловушку, при условии, что пользуюсь я только С++, без всяких там MFC, и других наворотов.
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 01.12.2007, 23:05   #9
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
По умолчанию

Срок? Я счас не дома и ноут садится !!!

P.S. Посмотри личку!!!
merax вне форума Ответить с цитированием
Старый 01.12.2007, 23:33   #10
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Срок до 14 декабря
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
приостановка выполнения процедуры BESS Общие вопросы Delphi 5 15.09.2008 00:53
Приостановка цикла для выполнения внешней программы Uomo Общие вопросы Delphi 3 04.04.2008 11:48
Оператор цикла с предусловием While. Оператор цикла с пост условием Repeat McMilin Помощь студентам 7 11.11.2007 14:10
Как замерить время выполнения программы Gracel Общие вопросы Delphi 5 12.06.2007 22:16
Приостановка программы Hintman Общие вопросы Delphi 6 14.04.2007 23:38