IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

 
 Ответить  Открыть новую тему 
> Ввод с клавиатуры
сообщение
Сообщение #1


Гость






Вот такой вот вопрос появился, точнее даже три, но по одной теме:
во-первых, как сделать, чтобы при зажатии клавиши комп считывал бы ее непрерывно, пока ее не отпустят? Дело в том, что при обычно он сперва считывает ее код а потом около секунды думает, хотя клавиша зажата. Даже если я делаю
uses
crt;
var
key:char;
begin
...
while keypressed do key:=readkey;
...

он все равно делает существенный перерыв между первым символом и последующими. При выводе кода на экран это выглядит примерно так:
а (пауза) ааааааааааааааа... При написании игр это жутко мешает, потому что зачастую нет времени ждать, пока он закончит эту паузу;
во-вторых: как сделать так, чтобы комп считывал несколько зажатых клавиш одновременно - я имею в виду не стандартные комбинации типа Alt+F1, а именно буквенные или специальные, потому что при обычном readkey он считывает ту, которая зажата позже; и, наконец,
в-третьих: как считывать клавиши типа shift, ctrl, alt и все прочие такие же.
Заранее спасибо.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Поиском пользоваться не пробовал (я насчет Ctrl / Alt / Shift) ?

Насчет задержки после первого символа - есть возможность ее УМЕНЬШИТЬ, но не убрать совсем, так что навряд ли тебе это поможет.

Ну, а насчет нескольких клавиш одновременно - вешай свой обработчик прерывания клавиатуры и работай со скан-кодами (через массив состояний нужных тебе клавиш, нажата = True, отпущена = False)... Это тоже уже рассматривалось, "Поиск" тебе поможет...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Спасибо большое, видимо плохо искал.
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 16.12.2017 8:34
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"