miércoles, 24 de junio de 2020

Detectar teclas Av Pág y Re Pág en Free Pascal



Dentro de las mejoras que tengo planeadas para mis juguetes laborales estaba la visualización de resultados en múltiples páginas, por lo cual, para navegar entre las páginas disponibles quise usar las teclas Av Pág y Re Pág, obviamente al usar var := ReadKey detectaba la pulsación, pero no la tecla por ser tecla especial, investigando un poco descubrí que es porque, al ser especial, detecta dos códigos, el primero es 0 (cero) y en el segundo viene el identificador, gracias al programa de ejemplo pude detectar esa y otras teclas más:

program detectachar;
uses
crt;
var a : char;
begin
repeat
a := readkey;
if a=#0 then
begin
a := readkey;
writeln('Tecla especial= ', ord(a));
end
else
writeln('Tecla normal= ', ord(a));
until a=#27;
end.

Básicamente, para saber qué tecla especial es hay que suar dos veces readkey, el primero para validar si es tecla normal (diferente de 0 (cero)) y si es tecla especial (devuelve 0 (cero)) con el segundo readkey obtener la tecla especial pulsada.

Así podré detectar si se pulsa Av Pág, Re Pág o las flechas de dirección del teclado (arriba, abajo, izquierda, derecha).

No hay comentarios.:

Publicar un comentario