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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.08.2010, 17:34   #1
Konung21
Пользователь
 
Регистрация: 07.05.2010
Сообщений: 14
Смущение Обработчик события "ничегонеделание"

Здраствуйте. Подскажите, пожелуйста, как лучше правильно сформировать обработчик события, которое возникает если пользователь в течении заданного промежутка времени не производил никаких дийствий, а программа не получала никаких сообщений. Мне нужно выводить программу в ждущий режим, если, к примеру, за минуту ничего не произошло.
Konung21 вне форума Ответить с цитированием
Старый 05.08.2010, 18:48   #2
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Сообщения постоянно приходят... Что значить "за минуту ничего не произошло" - кнопок не нажимали? Мышью не двигали?
Может просто следить за запуском скринсейвера например?
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 05.08.2010, 19:52   #3
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 16.04.2007
Сообщений: 471
По умолчанию

Application.OnIdle ? Или я не туда?
r9m вне форума Ответить с цитированием
Старый 05.08.2010, 20:03   #4
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

На чем? На API или на простой форме? Если на API, то в обработчики клавиатуры и мыши поставьте установку флага. Если в таймеере проверили, и флага нет - идет простой.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 06.08.2010, 21:41   #5
Konung21
Пользователь
 
Регистрация: 07.05.2010
Сообщений: 14
По умолчанию

Ну да, вы правы, следовало уточнить - если не было нажатий клавиш и не трогали мыши. Для окна.
Konung21 вне форума Ответить с цитированием
Старый 07.08.2010, 01:12   #6
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Хм... "Для окна"... А на окне много компонентов (кнопок, панелек и.т.п.)?

Можно создать таймер и в нём увеличивать какую-нибудь глобальную переменную, а если она больше заданного значения - вызывать процедуру "ждущий режим"...
При нажатиях и mousemove сбрасывать её на ноль...


Цитата:
Application.OnIdle ? Или я не туда?
Нет...) Это скорее для обратной задачи...))
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 07.08.2010, 14:11   #7
Konung21
Пользователь
 
Регистрация: 07.05.2010
Сообщений: 14
По умолчанию

хм=) Спасибо=) Я тоже думал поступить примерно тем же способом, да только думал для этого есть что то вроде специальной функции или чтонибуть подобное. Спасибо.
Konung21 вне форума Ответить с цитированием
Старый 07.08.2010, 17:58   #8
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Берете таймер, скажем, с интервалом 1 сек. и в нем задаем Inc(cnt), где cnt - глобальная. По условию если cnt = 120 (прошло 2 мин.) включаете "спящий режим". В процедурах MouseMove для мыши OnClick и KeyPress для формы обнуляйте cnt:= 0. Получите так называемый WatchDog (Сторожевая собака) - компонент присутствующий во всех микроконтроллерах.
Хотя насчет Собаки это я погорячился. Там другое назначение - контроль времени цикла программы, а для "спящего" режима используется функция Sleep.
И не сомневайся даже ... отдых - кайф, работа - лажа!

Последний раз редактировалось DeKot; 07.08.2010 в 18:19.
DeKot вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
"ОКРВВЕРХ", "ОКР", "ЕСЛИ". Как бы их связать. Каравай Microsoft Office Excel 13 17.02.2010 09:53
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
блок "cont" с права не принимает значение "margin: 10px;" которое описано в body tabikA HTML и CSS 5 24.02.2009 21:50