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

Вниз

Буфер клавиатуры.   Найти похожие ветки 

 
Brand   (2001-12-13 23:25) [0]

Есть такая информация : Для того, чтобы можно было записать в буфер 15 элементов необходимо, чтобы был 16-ый элемент с кодом клавиши <Enter>. Этот элемент располагается перед указателем головы буфера.
В своей программе я показываю постоянно буфер клавиатуры. Видно как он заполняется как-раз до этой позиции с кодом <Enter> Дальнейший ввод блокируется. Казалось-бы, что этот <Enter> необходим для идентификации конца буфера, однако, прочитав пару символов, указатель хвоста сдвигается, а код с клавишей <Enter> остается на месте. Более того потом можно еще нажимать клавиши и это поле с <Enter> портится.
Так для чего нужно это поле с <Enter>???


 
MBo ©   (2001-12-14 09:29) [1]

>Для того, чтобы можно было записать в буфер 15 элементов необходимо
Enter тут ни при чем
в $41a и $41c содержатся адреса начала и конца буфера
(32 байта с $41e по $43d - коды нажатых-отпущенных клавиш)
буфер, насколько помню, кольцевой. При заполнении пищит.
при чтении буфера указатели сдвигаются, совпали - пусто.
если ты каким-то левым образом записал код Enter-а, не внеся его в очередь, то буфер о нем и не знает и считать его не сможешь.
(насколько я понимаю, хочешь эмулировать ввод команды с клавы)
для правильной работы, думаю, надо ввести код нажатия и отпускания Enter и сдвинуть указатель на 2 байта.




 
Brand   (2001-12-18 23:52) [2]

Ничего я эмулировать не хочу. Просто в институте училка попросила вывести буфер клавиатуры на экран, типа там должен быть Enter. И действительно там он есть при каждом запуске *.exe файла на том месте где я писал. Так вот училка мне и говорит, что все знают, что он там есть, но зачем, незнает никто. Может это просто совпадение, потому-что запускается экзешник клавишей Enter и при запуске проги он получается самый последний.
И еще, если запускаю прогу из компилятора то там совсем не Enter.


 
Someone ©   (2001-12-19 02:05) [3]

> И еще, если запускаю прогу из компилятора то там совсем не Enter.
Ну так компилятор же не нажимает на кнопки, а запускает программу другим способом.


 
MBo ©   (2001-12-19 09:52) [4]

>но зачем, незнает никто
нелепо. Ты его нажал - вот он там и остался, пока не затрется следующим вводом (~16 нажатий спустя). Почему остался - см. устройство буфера.



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
1-66864
Kettle of delphi
2002-03-05 15:45
2002.03.21
Про перехват системных сообщений...


14-66970
Anics
2002-02-06 08:51
2002.03.21
Кто знает как это сделать ?


7-67022
nika_rgups
2001-12-18 21:00
2002.03.21
MP3 coder


1-66926
ak
2002-03-06 18:47
2002.03.21
проблема с версией BDE


1-66840
Squall
2002-03-07 17:02
2002.03.21
КОМПАНЕНТА с XP STYLE!!! Где ДОСТАТЬ?