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

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

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

> Как задействовать стрелки?
ДенисС
сообщение 2.04.2004 13:22
Сообщение #1





Группа: Пользователи
Сообщений: 9

Репутация: -  0  +


Стал вот потихоньку разбираться с паскалем, вроде что то получается. Вот возникла проблема: как задействовать стрелки и прочии несимвольные клавиши? С буквами-цифирьками вроде все просто, пишешь например C:=readln, а потом разными способами опредиляешь, что надо сделать с этой клавишей. А вот как быть со стрелками - как то непойму. Они вроде таким способом в строковую переменную ничего не записывают. Где-то краем уха услышал, что используется запись каким-то сложным шифром, а вот как его после этого опредилять, и какие кнопки каким шифром опредиляются - не слышал. Может здесь кто подскажет, как это все надо делать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
BlackShadow
сообщение 6.04.2004 10:28
Сообщение #2


Гость






Я бы ещё порекомендовал использовать модифицированную функцию ReadKey:

Function ReadKey:Word;Assembler;
Asm
XOR AH,AH
INT 16h
OR AL,AL
JZ @@1
XOR AH,AH
@@1:
End;

Отличие от стандартной заключается в том, что эта возвращает расширенный код клавиши. Для клавишь типа '1' или 'y' он ничем не отличается, а для 'F1' или '<-' возращает значение типа $XX00.
 К началу страницы 
+ Ответить 

Сообщений в этой теме
ДенисС   Как задействовать стрелки?   2.04.2004 13:22
SKVOZNJAK   Дык просто. При нажатии курсоров, эфок и т. д. В б...   2.04.2004 13:37
ДенисС   Это я понял, спасибо. А вот как потом этот код обр...   2.04.2004 14:01
SKVOZNJAK   IF KEYPRESSED=TRUE THEN IF ORD(READKEY)=0 THEN IF ...   2.04.2004 14:10
Altair   Раз уж речь пошла про клавиатуру, то позвольте рсс...   2.04.2004 15:46
SKVOZNJAK   Но обнулять буфер всё-равно надо! Иначе при за...   2.04.2004 21:14
Altair   Да, SKVOZNJAK, согласен с вами, обнуление буфера -...   3.04.2004 8:04
ДенисС   Oleg_Z А можно поподробнее про этот метод, я паск...   3.04.2004 9:10
APAL   А может проще: Repeat   {выполняем програм...   4.04.2004 10:02
Altair   APAL, не согласен с вами, так не проще. ДенисС, эт...   4.04.2004 12:14
APAL   А если надо узнать в какой кодировке была нажата к...   4.04.2004 12:45
Altair   Да,APAL, согласен тогда разделим сферы интересов: ...   4.04.2004 12:53
APAL   Полностью согласен! P.S.: У тебя хорошо получ...   4.04.2004 13:36
BlackShadow   Я бы ещё порекомендовал использовать модифицирован...   6.04.2004 10:28
Altair   Отлично, думаю надо создать тему "Замена стан...   6.04.2004 13:05
P@sh@   не забывайте также, что седьмой бит значения scanc...   6.04.2004 14:43
APAL   Идея хорошая! Если откапаю в своем архиве вы...   6.04.2004 21:32
SKVOZNJAK   Ну, если уж почувствовали в себе силушку богатырск...   6.04.2004 21:51
P@sh@   процедурка для проверки нажатых клавиш - обычных, ...   7.04.2004 5:04
P@sh@   ASCII можно объявить как Char, в ней будет возвращ...   7.04.2004 5:06
ДенисС   Ой, углубились вы куда-то. Операторы какие-то стра...   13.04.2004 6:25
Altair   точно.   13.04.2004 6:26


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

 



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