Pascal/Turbo Pascal - Flecha!!!

   
Vista:

Flecha!!!

Publicado por Miguel (162 intervenciones) el 09/08/2008 03:58:47
Hola gente, queria saber como se puede hacer para leer desde el teclado las flechas ← o →...
Se me ocurre asignarle a una variable un valor a través de un ReadKey, y luego preguntar si esa variable es la flecha...
Ejemplo:

car:=Readkey;
IF car= →
THEN
.
.
.

Mi problema surge a la hora de hacer la comparacion car= ... por que en el codigo ASCII viene la posicion de las flechas, pero no me lo toma.

Gracias!!!
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:Flecha!!!

Publicado por Diego Romero (997 intervenciones) el 09/08/2008 09:52:42
Estás bien encaminado pero te falta un detalle. El teclado cuando presionas una tecla especial (las teclas flecha de cursor son especiales) generas dos códigos que puedes recoger en un tipo char o byte, el primero es el cero, el segundo es el código de la tecla presionada. Ambos debes recogerlos sucesivamente. Este código te puede ayudar:

var
c: char;
begin
repeat
c:=readkey;
if c=#0 then
begin
c:=readkey;
WriteLn('Es tecla especial: ', ord(c));
end
else
WriteLn('No es tecla especial: ', ord(c));

until c=#27; { hasta que se presione ESC }
end.
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:Flecha!!!

Publicado por Miguel (162 intervenciones) el 09/08/2008 17:50:49
Pero recontra muchisimas gracias Pascalero!!!...
Honestamente no sabia que las teclas especiales en pascal trabajaban asi... Totalmente solucionado el problema...
Muchisimas gracias...
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:Flecha!!!

Publicado por Diego Romero (997 intervenciones) el 11/08/2008 00:47:16
No es un tema de Pascal, sino del hardware de las IBM PC.
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