Вторник, 25.09.2018, 04:45Главная | Регистрация | Вход

Меню сайта

Форма входа

Приветствую Вас Странник!

Друзья сайта

Наш опрос

Какую литературу вы читаете?
Всего ответов: 47

Статистика

Быстро узнаем состояние клавиатуры - ФорумБыстро узнаем состояние клавиатуры - Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Последние обновления форума

  • Какой антивирус лучше? (1)
  • Орда (5)
  • Орда 2 (3)
  • Canvas Studio =)) (0)
  • aimp (0)
  • Вариант запустить старые игры на Windows XP (37)
  • Кто что слушает? (0)
  • ЧИТКА (4)
  • Fire Wheels (4)
  • RusFaq (0)
    • Страница 1 из 1
    • 1
    Форум » Программирование игр » Delphi » Быстро узнаем состояние клавиатуры
    Быстро узнаем состояние клавиатуры
    KostiaДата: Понедельник, 10.03.2008, 13:30 | Сообщение # 1
    Киллер
    Группа: Проверенные
    Сообщений: 39
    Репутация: 1
    Статус: Offline
    Вы наверняка сталкивались с проблемой быстро узнать какая кнопка нажата в данный момент. Стандартными средствами получается не хорошо, вы нажали на кнопку система среагировала, подождала некоторое время, и заработала дальше. Эту проблему можно решить несколькими способами, например, воспользоваться DirectInput, но это не самый лучший выход особенно если вы незнакомы с этой библиотекой, я предлагаю воспользоваться WinAPI функцией GetKeyboardState(var KeyState: TKeyboardState). У этой функции всего один параметр KeyState сюда вписывается состояние клавиатуры и даже кнопки мыши!
    Воспользоваться этой функцией легко, я обычно пишу функцию которой передаю номер кнопки и если она нажата, то функция возвращает 1 иначе 0, вот пример такой функции:

    Code
    function KeyPressed(Key: byte): boolean;
    var
        keys: TKeyboardState;
    begin
        result:=false;
        GetKeyboardState(keys);
        if (keys[key]=128)or(keys[key]=129) then
          result:=true;
    end;

    if (keys[key]=128)or(keys[key]=129) then странно почему два числа 128 и 129 дело в том, что Windows ведет как бы учет четный раз нажата кнопка или нечетный.

    Прикрепления: 6244753.rar(17.5 Kb)


    Сообщение отредактировал Kostia - Понедельник, 10.03.2008, 13:36
     
    Форум » Программирование игр » Delphi » Быстро узнаем состояние клавиатуры
    • Страница 1 из 1
    • 1
    Поиск:

    Copyright MyCorp © 2018 | Хостинг от uCoz