0 / 0 / 1
Регистрация: 12.01.2017
Сообщений: 104
1
GraphABC

Как сделать так, чтобы обработка нажатия происходила только в одной определённой процедуре?

09.07.2017, 20:16. Показов 1226. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как сделать так, чтобы обработка нажатия не происходила в определённой процедуре? Допустим чтобы везде работало
onkeydown:=kd;
А в этой процедуре было onkeydown:=gijoiojrg; или чтобы вообще не обрабатывалось бы. Или чтобы обработка была только во время выполнения некоторой одной процедуры.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.07.2017, 20:16
Ответы с готовыми решениями:

Как сделать так, чтобы кнопка появлялась только после нажатия на другую кнопку
Всем привет. Возник вопрос. У меня есть сайт обмен визитами. И я хотел бы добавить такую функцию....

Как сделать так, чтобы при малейшем касании автомобилей происходила авария?
Есть такой вопрос. На форме размещено 2 PictureBox. 1 из них движется другому на встречу. При...

Как сделать так чтобы при нажатии на кнопку происходила отправка данных?
У меня есть файл *срр.В нём код iSent = send(Socket, sendbuf, (int) strlen(sendbuf), 0); Добавляю...

Как сделать так, чтобы при каждом клике происходила одна итерация цикла?
Надо, чтобы при каждом нажатии на лейбл происходила итерация цикла: public void...

3
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32878 / 21210 / 8154
Регистрация: 22.10.2011
Сообщений: 36,469
Записей в блоге: 8
09.07.2017, 21:01 2
Лучший ответ Сообщение было отмечено Kujivunia как решение

Решение

А добавить глобальный флажок, который будет показывать, нужно ли обрабатывать нажатия, и перед вызовом "этой" процедуры сбрасывать его в False, а после окончания - взводить назад в True - это уже слишком сложно?

Ну, или без флажка:
Pascal
1
2
3
4
5
6
procedure p;
begin
  OnKeyDown := nil; // отключаем реакцию на нажатия
  // ...
  OnKeyDown := kp; // опять включаем
end;
0
0 / 0 / 1
Регистрация: 12.01.2017
Сообщений: 104
09.07.2017, 21:04  [ТС] 3
И как это сделать? Что ещё за глобальный флажок?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32878 / 21210 / 8154
Регистрация: 22.10.2011
Сообщений: 36,469
Записей в блоге: 8
09.07.2017, 21:15 4
Лучший ответ Сообщение было отмечено Kujivunia как решение

Решение

Цитата Сообщение от Kujivunia Посмотреть сообщение
И как это сделать? Что ещё за глобальный флажок?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var flag := true;
 
procedure kp(ch : integer);
begin
  if flag then
  begin
    // тут вся обработка нажатий
  end;
end;
 
procedure p;
begin
  flag := false;
  // тут собственно тело процедуры. Обработка нажатия клавиш осуществляться не будет
  flag := true; // снова включаем обработку
end;
 
// ...
Если сделать наоборот (flag := false изначально), а в процедуре на время включать - то будет вариант
Цитата Сообщение от Kujivunia Посмотреть сообщение
чтобы обработка была только во время выполнения некоторой одной процедуры
1
09.07.2017, 21:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.07.2017, 21:15
Помогаю со студенческими работами здесь

Сделать две очереди, так, чтобы в одной остались только символы, в другой — только числа
Помогите,пожалуйста,решить задачку. Даны 2 очереди, заполненные символами латинского алфавита и...

Как организовать поиск, чтобы он запускался только после нажатия определённой кнопки?
Привет всем! Помогите советом! Как организовать поиск, чтобы он запускался только после нажатия...

Сделать так, чтобы кнопка появлялась на сайте только в определенное время и исчезала после нажатия на неё
помогите с решением то кой проблемы на сайте есть кнопка при помощь которой пользователи могут...

Можно ли в Lazarus в DBGrid сделать так, чтобы кликая по колонке происходила сортировка ASC, затем DESC?
Я видела на http://www.sql.ru/forum/450003/sortirovka-dbgrid-po-nazhatiu-na-naz-stolbca решение...

Как сделать так чтобы ножка микроконтроллера дрыгала с определенной частотой?
Как сделать определенную частоту на ножке МК Attiny2313? Объяснить можете?

Как сделать так, чтобы при нажатии определённой кнопки производилось действие?
Как сделать так, чтобы при нажатии определённой кнопки производилось действие? Нужно сделать,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru