Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
1-60563
kronprince
2002-08-07 17:27
2002.08.19
Дружественный класс


1-60572
Acideam
2002-08-07 18:24
2002.08.19
delphi to vb converter


1-60622
Chuvi
2002-08-08 16:36
2002.08.19
Вопрос по VBA + Excell ? Может кто подскажет ????


6-60784
ATLANTIDO
2002-05-19 13:35
2002.08.19
Сетевые папки


14-60845
vads
2002-07-25 08:25
2002.08.19
Срочно понадобилась процедура получения суммы прописью





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский