
Сообщение от bormotan

program pr1;
var bool:boolean;
i,b:integer;
begin
showform;
bool:=false;
repeat
if getkeyclicked=ke_key0 then i:=formaddstring('0');
if getkeyclicked=ke_key1 then i:=formaddstring('1');
if getkeyclicked=ke_key2 then i:=formaddstring('2');
if getkeyclicked=ke_key3 then i:=formaddstring('3');
if getkeyclicked=ke_key4 then i:=formaddstring('4');
if getkeyclicked=ke_key5 then i:=formaddstring('5');
if getkeyclicked=ke_key6 then i:=formaddstring('6');
if getkeyclicked=ke_key7 then i:=formaddstring('7');
if getkeyclicked=ke_key8 then i:=formaddstring('8');
if getkeyclicked=ke_key9 then i:=formaddstring('9');
if getkeyclicked=ke_none then i:=formaddstring('ни одна клавиша не нажата');
if keytoaction(getkeyclicked)=ga_none then b:=formaddstring('ни одна');
if keytoaction(getkeyclicked)=ga_up then b:=formaddstring('вверх');
if keytoaction(getkeyclicked)=ga_down then b:=formaddstring('вниз');
if keytoaction(getkeyclicked)=ga_left then b:=formaddstring('лево');
if keytoaction(getkeyclicked)=ga_right then b:=formaddstring('право');
if keytoaction(getkeyclicked)=ga_fire then b:=formaddstring('огонь');
if keytoaction(getkeyclicked)=ga_gamea then b:=formaddstring('A');
if keytoaction(getkeyclicked)=ga_gameb then b:=formaddstring('B');
if keytoaction(getkeyclicked)=ga_gamec then b:=formaddstring('C');
if keytoaction(getkeyclicked)=ga_gamed then b:=formaddstring('D');
repaint;
delay(100);
clearform;
until bool;
end.
у меня теперь еще и getkeyclicked и getkeypressed слепые . выдают ke_none , чтобы я ни делал с клавой . на эмуле и телефоне
|
Забей на
getkeyclicked, он какой-то багнутый. Юзай GetKeyPressed, а что бы повторное нажатие срабатывало, после того, как отпустил кнопку, сделай булеву переменную press, и вот пример:
press:boolean;
key:integer;
................................
key:=GetKeyPressed;
if key=KE_NONE then press:=false;
if (KeyToAction(key)=GA_UP) and (press=false) then
begin
press:=true;
// тут всяческие действия
end;
key тут используется для оптимизации, нажатую клавишу можно запомнить 1 раз, а не вычислять заного.
И вообще, держись подальше от форм, с ними одно мучение.