Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

клавиши в консоли [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 - там есть функции для чтения входного буфера консоли. Еще можно поставить клавиатурный хук.


Наверх

Титульная страница Поиск, карта сайта Написать письмо