Страница 1 из 1

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

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

Uses
Windows;


в процедуре:

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


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

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

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

Uses
Windows;


в процедуре:

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


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

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

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

Uses
Windows;


в процедуре:

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


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

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

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

Uses
Windows;


в процедуре:

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


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