Pascal/Turbo Pascal - reconocedor de teclas

 
Vista:

reconocedor de teclas

Publicado por Alfredo (7 intervenciones) el 16/09/2004 22:49:03
ki uvo alguien podria ayudarme con un programa que
detecte una tecla asi como una combinacion de teclas (alt + ent)
que el programa detecte la tecla que oprimistes
ha... tambien las teclas de funciones

espero recibir sus mensajes .............
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:reconocedor de teclas

Publicado por Diego Romero (786 intervenciones) el 18/09/2004 03:20:03
Antes que nada algo de teoría. El teclado tiene dos tipos de teclas, las de caracter y las teclas especiales (estas últimas en los teclados viejos venian en colo gris, por eso se les llamaba las telcas grises).
Las teclas que devuelven caracteres son facilmente detectables con la función ReadKey; que devuelve un tipo Char.
Para el resto de las teclas el teclado envía dos códigos, el primero siempre es #0 y el segundo el código de la tecla. Vaya un programa de ejemplo:
var
A:Char;
begin
repeat
A:=ReadKey;
if A = #0 then
begin
A:=ReadKey;
WriteLn('Tecla Especial: ',Ord(A));
end { if }
else
begin
WriteLn('Tecla normal:, Ord(A));
end; { else }
until A=#27; { hasta presionar ESC }
end.
Lo que hace el programa es esperar por una tecla, si el caracter devuelto es el cero quiere decir que detrás viene otro el cual se toma (el programa no se detiene a esperar esa tecla porque ya está en el buffer), en este caso se trata de una tecla especial. Sino es una tecla normal.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:reconocedor de teclas

Publicado por Pancho (5 intervenciones) el 18/09/2004 19:34:25
Esta es la evrsion de Pascal de un funcion que uso en C++

function Inkey():integer
var
c : integer;
begin
c:=ord(Readkey),
if c=0 then
c:=ord(Readkey)+300;
Inkey := c;
end;

Esta funcion devuelve un valor por encima de 300 para cualquier combinaciond de teclas pulsadas como Alt, Ctrl, Shift y todas las combinaciones con teclas Function.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar