![]() |
![]() |
SKVOZNJAK |
![]()
Сообщение
#1
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 930 Пол: Мужской Репутация: ![]() ![]() ![]() |
Разбираю исходник клавиатурного модуля - без клавы висит написание нужной и полезной проги. CRT не устраивает по причине сканирования клавы в другом окне. Не в том в котором нужно. Имеем фагденты кода:
Код Type PBoolArray = ^BoolArray; BoolArray = Array[0..4000] of ByteBool; { Get a snapshot of the current state of the keyboard. Returns an array of keystates, indexed by the SDLK_ syms. Used: keystate: PBoolArray; keystate := SDL_GetKeyState(nil); if keystate[SDLK_RETURN] then ... <RETURN> is pressed } function SDL_GetKeyState(var numkeys:longint):PBoolArray;cdecl; В оригинале массив имел длину[0..0], но прежде массивы локальных переменных с такой длиной глючили при выполнении проги. Посему увеличил длину с запасом. Можно ли вообще использовать в ФПЦ безразмерные массивы. Переменная numkeys всё время возращает одно и то же число, предположительно номер элемента массива или его полезную длину. Но возникла проблема: как значение элемента массива типа PBoolArray записать в переменную типа BYTE и наоборот? |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата Можно ли вообще использовать в ФПЦ безразмерные массивы. Ну, вообще-тоType и, соответственно, SetLength, вроде никто не отменял... Цитата возникла проблема: как значение элемента массива типа PBoolArray записать в переменную типа BYTE и наоборот? TypeCast... Что-то в таком вот духе:Type |
![]() ![]() |
![]() |
Текстовая версия | 24.06.2024 0:25 |