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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2013, 08:44   #1
Liite
позитиффф
Пользователь
 
Регистрация: 14.11.2008
Сообщений: 34
По умолчанию Блокировка при бездействии

Всем доброго дня. Такой вопрос, есть у делфей как ни будь общий EVENT вызываемый действиями пользователя? Просто нужно сделать блокировку формы при бездействии пользователя через определённое время. А писать на каждую кнопку сброс таймера не вариант. Пробовал повесить это дело на обработчик событий формы такие как KeyDown, Keyup, которые в свою очередь меняли значение глобальной переменой на True и False, если нажато то ложь если нет истина. Таймер должен был смотреть в эту переменную и если там истина то блочим, если ложь то сбрасыаем таймер. Но он игнорит это дело, то есть если убрать эту проверку то соответственно блочит форму в любом случае, а с проверкой ничего не делает.

вот куски кода, чтобы было понятней.
Код:
var
  Form2: TForm2;
  tm: Boolean;
implementation

procedure TForm2.chk6Click(Sender: TObject);
begin
if chk6.Checked = False then
   notuse.Enabled := false
   else
   begin
   notuse.Enabled := true;
   notuse.Interval := se1.Value*60000;
   tm := True;
   end
      end;

procedure TForm2.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
tm := True;
end;

procedure TForm2.FormKeyPress(Sender: TObject; var Key: Char);
begin
 tm := False;
end;

procedure TForm2.notuseTimer(Sender: TObject); 
begin
  if tm = True then 
   N4.Click;

end;
Liite вне форума Ответить с цитированием
Старый 14.11.2013, 09:20   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

application.OnIdle ??? запуск таймера бездействия

KeyPress MouseMove сброс таймера

------------------------
var lastaction: TDataTime; //здесь будем хранить время последнего действия пользователя

кеyPress, MosuseMove // здесь обновляем время

Ontimer OnIdle // проверяем время и останавливаем (если надо)
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 14.11.2013 в 09:29.
evg_m вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие главной формы приложения при бездействии пользователя Mixim C# (си шарп) 1 27.05.2013 11:44
Блокировка Excel файла при связывании с Access Kycaka Microsoft Office Access 1 29.08.2012 17:49
блокировка файлов при чтении и записи Arassir PHP 1 06.07.2011 00:00
Блокировка IP MaGiS Безопасность, Шифрование 0 08.07.2010 21:18
блокировка таблицы при одновременном доступе dalien БД в Delphi 3 12.08.2009 16:44