Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2007, 15:43   #1
proglamer
кодер-лузер
Пользователь
 
Аватар для proglamer
 
Регистрация: 05.09.2007
Сообщений: 43
По умолчанию как обрабатывать события с клавы?

как их обрабатывать и намира клавиш плз)
proglamer вне форума Ответить с цитированием
Старый 06.10.2007, 16:34   #2
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

ReadKey (функция) (модуль WinCrt)
Читает символ из буфера клавиатуры.

Объявление:
Function ReadKey : Char;

Режим:
Windows, Real, Protected

Замечания:
Символ не отображается на экране.
Код:
program test_readkey;
uses crt;
var
  c : char;
begin
  c:=readkey;
  case c of
    #8 : writeln('You presses backspace');
    #9 : writeln('You presses tab');
    #13: writeln('You presses enter');
    #27: writeln('You presses escape');
    #32: writeln('You presses space');
    else writeln('You presses other key');
  end;
end.
SkyM@n вне форума Ответить с цитированием
Старый 06.10.2007, 19:09   #3
proglamer
кодер-лузер
Пользователь
 
Аватар для proglamer
 
Регистрация: 05.09.2007
Сообщений: 43
По умолчанию

спс большое, а скажите ктонить коды клавиш вперед, назад, влево, вправо...
proglamer вне форума Ответить с цитированием
Старый 06.10.2007, 19:14   #4
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

#37 : writeln('You're pressing left');
#38 : writeln('You're pressing up');
#39: writeln('You're pressing right');
#40: writeln('You're pressing down');
а для спасибо - кнопочка слева есть )

Последний раз редактировалось SkyM@n; 06.10.2007 в 19:20.
SkyM@n вне форума Ответить с цитированием
Старый 06.10.2007, 19:26   #5
Tayfun
Форумчанин
 
Аватар для Tayfun
 
Регистрация: 24.06.2007
Сообщений: 351
По умолчанию

Цитата:
#37 : writeln('You're pressing left');
#38 : writeln('You're pressing up');
#39: writeln('You're pressing right');
#40: writeln('You're pressing down');
Хм...
наверное тоже самое но я использую:
#75 : writeln('You're pressing left');
#72 : writeln('You're pressing up');
#77: writeln('You're pressing right');
#80: writeln('You're pressing down');
Еще есть такая функция как keypressed;
Код:
 
.....................
var
b:boolean;
.....................
b:=keypressed;
.....................
Возвращает значение true в случае нажатия кнопки и false соответственно если ничего не трогать!
Я не маюсь бездельем, я от него тащусь!
Tayfun вне форума Ответить с цитированием
Старый 06.10.2007, 19:30   #6
proglamer
кодер-лузер
Пользователь
 
Аватар для proglamer
 
Регистрация: 05.09.2007
Сообщений: 43
По умолчанию

Цитата:
Еще есть такая функция как keypressed;
keypressed я знаю) но определенная клавша лутшы)))
Цитата:
#75 : writeln('You're pressing left');
#72 : writeln('You're pressing up');
#77: writeln('You're pressing right');
#80: writeln('You're pressing down');
биг спс проверю оба варианта)))
proglamer вне форума Ответить с цитированием
Старый 06.10.2007, 19:32   #7
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от Tayfun Посмотреть сообщение
Хм...
наверное тоже самое но я использую:
#75 : writeln('You're pressing left');
#72 : writeln('You're pressing up');
#77: writeln('You're pressing right');
#80: writeln('You're pressing down');
Еще есть такая функция как keypressed;
странно, жаль, проверитьь не могу - паскаль не стоит ща.
SkyM@n вне форума Ответить с цитированием
Старый 06.10.2007, 19:54   #8
Tayfun
Форумчанин
 
Аватар для Tayfun
 
Регистрация: 24.06.2007
Сообщений: 351
По умолчанию

Цитата:
странно, жаль, проверитьь не могу - паскаль не стоит ща.
Работают, могу с уверенностью скачать, а про эти
Цитата:
#37 : writeln('You're pressing left');
#38 : writeln('You're pressing up');
#39: writeln('You're pressing right');
#40: writeln('You're pressing down');
Честно сказать неслышал, но верю!

Цитата:
keypressed я знаю) но определенная клавша лутшы)))
У kepressed немного другая функция! Поверь, очень нужная, когда будешь разрабатывать проекты типа игры змейка или что-то подобное пригодиться...
Я не маюсь бездельем, я от него тащусь!
Tayfun вне форума Ответить с цитированием
Старый 06.10.2007, 20:07   #9
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от Tayfun Посмотреть сообщение
У kepressed немного другая функция! Поверь, очень нужная, когда будешь разрабатывать проекты типа игры змейка или что-то подобное пригодиться...
Что вы имеете ввиду под "проектами типа игры змейка" ?
SkyM@n вне форума Ответить с цитированием
Старый 06.10.2007, 22:11   #10
Tayfun
Форумчанин
 
Аватар для Tayfun
 
Регистрация: 24.06.2007
Сообщений: 351
По умолчанию

Это к примеру... Например в игре змейка управление осуществляеться кпопками, но елси кнопка ненажата то змейка всеравно должна двигаться, а если нажата, то поварачивать, вот для того чтобы определить нажата ли клавиша и используеться keypressed, если ненажата, то зейка продолжает движение, в противном случае выполняет определенное действие. Для подобных программ и используеться keypressed. Так сказать дополняет возможноси readkey
Я не маюсь бездельем, я от него тащусь!

Последний раз редактировалось Tayfun; 06.10.2007 в 22:13.
Tayfun вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заставить компонент TTrackBar обрабатывать события мыши? Никки Общие вопросы Delphi 5 29.08.2008 14:17
Отслеживание мыши клавы LAFUDR Win Api 1 13.05.2008 12:37
Эмуляция клавы и мыши ЧИЖ Общие вопросы Delphi 4 02.04.2008 07:51
Как обрабатывать нажатие на кнопке? AidarBik Win Api 13 05.02.2008 19:58
Прерывание от клавы Киркоров Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 04.09.2007 10:03