![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
клавиши в консоли [D7, Win2k, WinXP]
Rater1 © (2006-04-11 15:21:00)Здравствуйте!
Как отловить нажатые клавиши во время выполнения консольного приложения?
Ловить сообщения windows? А как? В консольном приложении вроде событий нет?
Возможно избитая тема, но конкретного ответа я не нашел.
Rater1 (2006-04-12 10:27:00) [1]Всем спасибо, нашёл хорошую статейку по работе с консолью
там всё есть(если кому интересно):
http://www.articles.org.ru/myfaq/27042004g.php
Gero (2006-04-12 08:14:00) [2]Windows.pas
Rater1 (2006-04-12 06:43:00) [3]ReadConsoleInput
Это из какой библиотеки?
У меня Delphi незнает такого...
Gero (2006-04-12 01:03:00) [4]ReadConsoleInput
Rater1 (2006-04-11 19:20:00) [5]Что-то с readникак не пойму. По моему пониманию следующая программа должна после запуска ждать нажатие любой клавиши и отваливать, но она ждет для окончания ENTERa.
Ткните носом где криво написал....
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var aaa:char;
begin
read(input,aaa);
writeln('input '+aaa);
end.
ЗЫ на директиву message в консоли ругается сильно. Скажите пожалуйста куда её правильно записать.
Anatoly Podgoretsky (2006-04-11 15:48:00) [6]Rater1 (11.04.06 15:41) [3]
Ты справку уже посмотрел?
Сергей М. (2006-04-11 15:47:00) [7]
> read, readln требуют нажатия ENTERa
read() не требует.
> хотел бы что бы в фоне
Выноси фоновые вычисления в дополнительный кодовый поток.
Rater1 (2006-04-11 15:41:00) [8]to Сергей М. ©
read, readln требуют нажатия ENTERa и тормозят выполнение приложения до его нажатия. Я хотел бы что бы в фоне приложение продолжало выполняться...
Сергей М. (2006-04-11 15:35:00) [9]
> В консольном приложении вроде событий нет?
Их нет и в любом другом приложении.
Событие - термин относящийся в дан.случае к ООП-объектам, а не к неким приложениям, которые вольны использовать или не использовать при их разработке ООП.
> Как отловить нажатые клавиши
Их не надо "ловить", на то есть ф-ции Read(), ReadLn()
Юрий Зотов (2006-04-11 15:26:00) [10]Посмотрите в справке API тему Console Functions - там есть функции для чтения входного буфера консоли. Еще можно поставить клавиатурный хук.