Выполнение действий при нажатии на клавишу

Образцы, куски исходников, вопросы. Обсуждаем программирование.
Ответить
Сообщение
Автор
Smile
Сообщения: 27
Зарегистрирован: Вт авг 08, 2006 1:06 pm

Выполнение действий при нажатии на клавишу

#1 Сообщение Smile » Вт авг 08, 2006 1:23 pm

При нажатии на клавишу CTRL (VK_CONTROL) выполняются функции записанные между begin и end чтобы действия прекратились, нужно повторное нажатие клавиши CTRL.
Дописать в Uses:

Uses
Windows;


в процедуре:

if GetKeyState(VK_CONTROL)=1 then
begin
…..
…..
…..
end;


Вопрос, возможно кто знает код если нужно выполнить действия при разовом нажатии клавиши?

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

Re: Выполнение действий при нажатии на клавишу

#2 Сообщение Terranin » Пн сен 04, 2006 7:03 pm

Smile писал(а):При нажатии на клавишу CTRL (VK_CONTROL) выполняются функции записанные между begin и end чтобы действия прекратились, нужно повторное нажатие клавиши CTRL.
Дописать в Uses:

Uses
Windows;


в процедуре:

if GetKeyState(VK_CONTROL)=1 then
begin
…..
…..
…..
end;


Вопрос, возможно кто знает код если нужно выполнить действия при разовом нажатии клавиши?
Надо дождаться отжатия клавиши и ничего не делать до этого события.

Smile
Сообщения: 27
Зарегистрирован: Вт авг 08, 2006 1:06 pm

Re: Выполнение действий при нажатии на клавишу

#3 Сообщение Smile » Вт сен 05, 2006 11:28 am

Terranin писал(а):
Smile писал(а):При нажатии на клавишу CTRL (VK_CONTROL) выполняются функции записанные между begin и end чтобы действия прекратились, нужно повторное нажатие клавиши CTRL.
Дописать в Uses:

Uses
Windows;


в процедуре:

if GetKeyState(VK_CONTROL)=1 then
begin
…..
…..
…..
end;


Вопрос, возможно кто знает код если нужно выполнить действия при разовом нажатии клавиши?
Надо дождаться отжатия клавиши и ничего не делать до этого события.
Т.е. вводить какую-то дополнительную переменную которая будет следить за тем чтобы действия между begin и end выполнились только один раз? Или есть какие другие методы?

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

Re: Выполнение действий при нажатии на клавишу

#4 Сообщение Terranin » Вт сен 05, 2006 2:33 pm

Smile писал(а):
Terranin писал(а):
Smile писал(а):При нажатии на клавишу CTRL (VK_CONTROL) выполняются функции записанные между begin и end чтобы действия прекратились, нужно повторное нажатие клавиши CTRL.
Дописать в Uses:

Uses
Windows;


в процедуре:

if GetKeyState(VK_CONTROL)=1 then
begin
…..
…..
…..
end;


Вопрос, возможно кто знает код если нужно выполнить действия при разовом нажатии клавиши?
Надо дождаться отжатия клавиши и ничего не делать до этого события.
Т.е. вводить какую-то дополнительную переменную которая будет следить за тем чтобы действия между begin и end выполнились только один раз? Или есть какие другие методы?
При нажатии зафиксировать этот факт в переменной и ждать когда клавишу отпустят на каком-то заходе в процедуру и только тогда выполнить один раз действие. Переменную очистить.

Ответить