Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Объясните пожалуйста, как можно посмотреть этот массив??? [D7, WinXP]


AndrewVolkov ©   (2002-11-22 19:01:00) 

WINAPI GetKeyboardState (BYTE FAR* lpbKeyState);

Единственный параметр lpbKeyState этой функции - дальний указатель на массив из 256 байт. После вызова функции этот массив будет заполнен информацией о состоянии всех виртуальных клавиш в момент генерации клавиатурного сообщения. В этом смысле функция аналогична функции GetKeyState.

Для любого байта массива установленный в 1 старший бит означает, что соответствующая клавиша была нажата. Если этот бит равен 0, клавиша не была нажата. Младший бит, установленный в 1, означает, что клавиша была переключена. Если младший бит равен 0, клавиша не была переключена.


Morfein   (2002-11-25 21:12:00) [1]

Тьфу... да я спутал, что человеку надо массиб байтов тестить,
а не второй параметр функции :))


Fantasist   (2002-11-25 08:14:00) [2]


> if (byteToTest shr 30) = 1 then
> ; // старший бит установлен

Куда это ты его так далеко задвигал. :) Там-то всего 8 бит.

if (byteToTest and 128) = 1 then
; // старший бит установлен


Morfein   (2002-11-23 23:12:00) [3]

var
byteToTest : byte;

begin
if (byteToTest shr 30) = 1 then
; // старший бит установлен

if (byteToTest and 1) > byteToTest then
; // младший бит установлен
end;
Поправьте, если ошибся...


AndrewVolkov   (2002-11-22 20:10:00) [4]

то арау
Пусть нет, просто я ваще ноль в этих битах и байтах, никак понять не могу, как посмотреть весь этот массив из 256 байтов.
Как посмотреть младший или сарший бит?


apay   (2002-11-22 20:08:00) [5]

2 AndrewVolkov
в win32 нет понятия "дальний указатель", это пережиток 16-разрядных систем.


AndrewVolkov   (2002-11-22 20:05:00) [6]

А как можно Byte посмотреть как string?


Antonius   (2002-11-22 19:40:00) [7]

думаю типа этого: берем например lpbKeyState[VK_SPACE] и проверяем нужный бит

>установленный в 1 старший бит означает, что соответствующая
>клавиша была нажата. Если этот бит равен 0, клавиша не была >нажата. Младший бит, установленный в 1, означает, что клавиша >была переключена. Если младший бит равен 0, клавиша не была >переключена.


Наверх

Титульная страница Поиск, карта сайта Написать письмо