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

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

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

> Readkey
Антошка
сообщение 18.03.2006 1:27
Сообщение #1


Гость






Можно ли так сделать, чтобы кроме 3 клавиш програма не реанировала на нажатия других? Если можно, то как?
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 7)
volvo
сообщение 18.03.2006 1:51
Сообщение #2


Гость






Можно... Определи СВОЮ функцию с именем ReadKey, которая будет "пропускать" только нажатие трех нужных тебе клавиш, и игнорировать остальные...
 К началу страницы 
+ Ответить 
Altair
сообщение 18.03.2006 10:40
Сообщение #3


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

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


Вариант...
Поставить резидента на 09h, читать скан коды при обработке, если клавиши запрещенные то чистить буфер клавы, если разрешенные, передавать работу стандартному обработчику.


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Антошка
сообщение 18.03.2006 14:45
Сообщение #4


Гость






А как-то попроще нельзя? О_о
 К началу страницы 
+ Ответить 
volvo
сообщение 18.03.2006 15:06
Сообщение #5


Гость






"Попроще" чем ЧТО? Чем ЭТО:
uses crt;

Function ReadKey: Char;
Var ch: Char;
Begin
repeat
Ch := Crt.ReadKey;
Case Ch Of
#0: Crt.ReadKey;
'a', 'b', 'c': Begin
ReadKey := Ch; Exit;
End;
End;
until false;
End;

begin
writeln(readkey);
end.
???

Ну, попробуй запустить и понажимать ЛЮБЫЕ клавиши, кроме 'a', 'b', 'c' ...
 К началу страницы 
+ Ответить 
DFooz
сообщение 21.03.2006 16:51
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 25
Пол: Мужской
Реальное имя: Иван

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



Ch := Crt.ReadKey;


Что надо указать в настройках TB7, чтобы эта конструкция начала работать? Или в ТП такое невозможно?

Сообщение отредактировано: DFooz - 21.03.2006 16:51
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
APAL
сообщение 21.03.2006 16:57
Сообщение #7


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

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


А что, разве это не работает?
Код в студию.


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
DFooz
сообщение 21.03.2006 17:30
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 25
Пол: Мужской
Реальное имя: Иван

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


всё, разобрался
Код
#0: Crt.ReadKey;

в этой строке переменной в коде volvo нет, т.е. ch:=Crt.ReadKey. smile.gif

DFooz, не надо умничать! Если бы надо было присвоить значение переменной, я бы это сделал. Оно НЕ НУЖНО! А вызов функции как процедуры еще никто не отменял, если у тебя неправильно настроена IDE, то это ТВОЯ проблема, а вот говорить, что код - нерабочий я тебе не позволю!

Этот код, между прочим, копировался сюда из редактора. Купи выпрямитель рук!


Сообщение отредактировано: volvo - 31.03.2006 18:42
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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