Wiem, że temat poruszany już setki razy, przeglądałem inne tematy związane z tym zagadnieniem ale jakoś po prostu nie potrafiłem tego wykorzystać :-/
mianowicie chodzi o to aby program wiedział jakie są wciśnięte aktualnie klawisze. Z pojedynczym to nie problem, ale schody zaczynają się, gdy chcę aby program wiedział, iż użytkownik wcisnął 2 klawisze lub więcej, no i oczywiście jakie to są klawisze.
Najprościej by było, gdyby przy wciśnięciu klawisza program zapisywał kod klawisza w tablicy a po jego zwolnieniu usuwał wpis z tablicy, w międzyczasie istnieje możliwość umieszczenia kolejnych wciśniętych klawiszy w innych komórkach tejże tablicy.
Z tego co widziałem na forum zagadnienie podchodzi pod assemblera, którego w ogóle nie znam, więc prosiłbym o gotowy fragment kodu wykonujący powyższe czynności i najlepiej z wymienieniem potrzebnych bibliotek.
BTW to do czego udało mi się obecnie dojść to:
uses crt;
var key:byte;
begin
clrscr;
key:=0;
repeat
key:=port[$60];
write(key:5);
until key=1 {ESC}
end.
gdy uruchamiam program wyświetla mi się 157 teraz np. gdy przytrzymuję 'w' pojawia się 17, gdy go zwalniam mam 145, gdy przytrzymam 'w' i do tego 'e' mam 18, a gdy trzymając nadal 'w' zwolnię 'e' mam 146, po zwolnieniu 'w' znowu mam 145
jeśli nic z powyższego nie zrozumieliście to sami spróbujcie się pobawić w tym kodzie ;)
a więc jak teraz zrobić aby program zapisywał w tablicy wciśnięte klawisze i przetrzymywał je w niej tak długo jak długo są wciśnięte?