Kezdőoldal » Számítástechnika » Programozás » Free pascalban meg lehet azt...

Free pascalban meg lehet azt oldani, hogy ASCII kóddal ne lehessen billentyűt lenyomni?

Figyelt kérdés
Például ha írunk egy olyan programot, hogy a w lenyomására lépjen ki, akkor az ASCII kódjával is ki tud lépni. Hogy lehet ezt kiküszöbölni hogy az ASCII kódot ne vegye figyelembe?
2013. okt. 18. 19:33
 1/5 SimkoL ***** válasza:
Elsőre nem nagyon értettem mit akarsz mivel ha lenyomod a 'w' akkor az ascii kódja kerül kiértékelése általában. De lehetőség van a scancode kiértékelésére is. Nem értem mi a célod vele ha kifejtenéd többet tudnánk segíteni.
2013. okt. 18. 20:10
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
Idén érettségiztem, és jelentkeztem szakmára. Rendszergazda és hálózattelepítő. Most kezdjük a programozást, és kaptunk egy feladatot, hogy a program addig ne lépjen ki, amíg le nem nyomjuk a "w" betűt. Ezt meg is oldottuk, de a tanár az Alt Gr+119 (azt hiszem ez a w ASCII kódja) lenyomásával kiléptette a programot. Ezt a billentyűkombinációt hogy lehetne kiiktatni? Hogy abszolút csak a "w" lenyomásával sikerüljön.
2013. okt. 18. 23:31
 3/5 ejbenjaro ***** válasza:

Ha readkey-el olvasod be a kilépést indító billentyű kódját, akkor, ha funkció billentyű kerül lenyomásra, a változó, amibe a readkey-el olvastál #0-t fog tartalmazni és egy második readkey adná vissza az adott billentyűkombináció kódját. Ha szűröd a #0-t akkor kikapcsolhatod az ALT, ALT GR, CTRL stb billentyűkkel kombinált kódokat.

Pl.


Program bkod;

uses crt;


var c: char;


begin

repeat

clrscr;

writeln('nyomj egy billentyűt (kilépés - X)');

if keypressed then c:=readkey;

if c=#0 then c:=readkey;

writeln('kód: ', ord(c));

until c in ['x','X'];

end.


A kódot nem teszteltem, telefonon pötyögtem be, ezért lehetnek benne hibák.

2013. okt. 19. 05:59
Hasznos számodra ez a válasz?
 4/5 ejbenjaro ***** válasza:

Reggel félálomban kicsit lehet elbagatelizáltam a problémát. Szerintem tedd fel a kérdést a prog.hu-n. Nem hiszem, hogy sikerülhet letiltani az ALT kódokat (esetedben ugye az ALT-119-et) Free Pascalban. Bár van Keyboard unit, ami elvileg alacsonyabb szintű hozzáférést biztosít a billentyűzethez, de valószínűnek tartom, hogy ezzel sem lehet megoldani a problémát.

Hátha tőlem hozzáértőbbek tudnak neked valami okosat javasolni.

2013. okt. 19. 15:18
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:

Az ascii kódok helyett a scancode-okat kell figyelni a TKeyEventtel.

[link]

2013. okt. 19. 19:25
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!