Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.19;
Скачать: CL | DM;

Вниз

Как сделать цикл пока не нажата клавиша?   Найти похожие ветки 

 
maxim2 ©   (2002-08-07 06:31) [0]

Привет всем!
Вот собсно и всё.


 
VAleksey ©   (2002-08-07 07:31) [1]

GetAsyncKeyState
GetKeyboardState
посмотри описание на них в файле Win32.hlp.


 
Polevi ©   (2002-08-07 09:16) [2]

flag:=true;
while flag do
begin
Application.ProcessMessages;
...
end;

procedure Button1Click
begin
flag:=false;
end;


 
VAleksey ©   (2002-08-07 10:09) [3]


> Polevi © (07.08.02 09:16)

ввиду клавиша а не кнопка.


 
c0pYc@t   (2002-08-07 10:18) [4]

repeat
.....
until KeyPressed=<здесь код клавиши>;


 
PVOzerski ©   (2002-08-07 10:58) [5]

>repeat
>.....
>until KeyPressed=<здесь код клавиши>;

такое можно только в проге с "левым" Crt-совместимым модулем (такие можно найти) и, естественно, либо консольной, либо с "извращенным" GUI вроде WinCrt от BP7 (А ведь автор вопроса указал D6).

>GetAsyncKeyState
Вот это - действительно то, что надо. Только сработает безотносительно того, какая форма и даже данное ли приложение активно. А такая ситуация нужна не всегда, придётся вставлять проверку дополнительных условий.

Есть еще варианты, завязанные на обработку событий активного окна (но в том числе и на OnKeyPress). При этом либо в цикл вставляется Application.ProcessMessages (что замедляет счёт в цикле), либо цикл запускается в отдельном потоке. В ответ на событие обработчик меняет значение некоего флага, которое проверяем в нашем цикле и по его изменению делаем break.


 
Ученик ©   (2002-08-07 11:16) [6]

function KeyPressed : Boolean;
var
Msg : TMsg;
begin
while GetMessage(Msg, 0, 0, 0) and
(Msg.Message <> WM_QUIT) and (Msg.Message <> WM_KEYDOWN) do begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
Result := True
end;



Страницы: 1 вся ветка

Текущий архив: 2002.08.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
7-60878
kool
2002-06-06 18:42
2002.08.19
Как быстро прочитать рисунок с экрана?


6-60785
sargon
2002-06-08 07:19
2002.08.19
Загрузка картинок в Twebbrowser


3-60481
Naik
2002-07-29 06:37
2002.08.19
Ищу замену TTable


1-60688
MikeFW
2002-08-06 12:47
2002.08.19
Почему у меня исчезает


1-60681
ilg
2002-08-06 02:23
2002.08.19
Запуск в свернутом виде