![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Объясните пожалуйста, как можно посмотреть этот массив??? [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, клавиша не была >переключена.