Pascal/Turbo Pascal - Uso del prompt

 
Vista:

Uso del prompt

Publicado por Byron (2 intervenciones) el 29/09/2004 00:32:41
Necesito utilizar las flechitas del teclado para elegir una opción en pascal, al que me ayude de antemano muchas gracias por tomarse la molestia de utilizar su tiempo ( si me escriben las instrucciones mejor, 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:Uso del prompt

Publicado por ricardo (1 intervención) el 29/09/2004 05:24:44

Hola Byron. Te doy un ejemplo de uso de las flechas direccionales del teclado con un case. para acceder a las flechas deber utilizar # segido del numero correspondiente a la tecla (en el ejemplo está explicado entre las llaves).
es un ejemplo muy simple de cómo usar las teclas especiales pero espero que te sirva.
program ej;
uses crt;
var
flecha: char; {la variable flecha debe ser de tipo char}
begin
write('digite una flecha');
flecha:= readkey;
case flecha of
#72 : write('presionó flecha arriba'); {Cursor Arriba H}
#75 : write('presionó flecha izquierda'); {Cursor a la izquierda K}
#77 : write('presionó flecha derecha'); {Cursor a la derecha M}
#80 : write('presionó flecha abajo'); {Cursor hacia abajo P}
end;
readln();
end.

por cierto el preionar la una de las flechas es lo mismo que digitaras
alt + el numero la tecla. ej : flecha derecha = (alt + 77). pruébalo al correr el programa y te darás cuenta.

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:Uso del prompt

Publicado por Diego Romero (786 intervenciones) el 29/09/2004 09:18:19
Esto es INCORRECTO. Las teclas de cursor no envían un caracter, sino DOS caracteres el primero es siempre cero, el segundo es el caracter que la identifica. El programa de ricardo no funciona como se espera. Aquí están las modificaciones necesarias.
uses crt;
var
flecha: char; {la variable flecha debe ser de tipo char}
begin
Repeat { repetir... }
writeln('digite una flecha: ');
flecha:= readkey; { toma el primer caracter... }
if Flecha = #0 then { si es el cero... }
begin
Flecha:= Readkey; {... tomo el segundo }
case flecha of
#72 : writeln('presionó flecha arriba'); {Cursor Arriba }
#75 : writeln('presionó flecha izquierda'); {Cursor a la izquierda }
#77 : writeln('presionó flecha derecha'); {Cursor a la derecha }
#80 : writeln('presionó flecha abajo'); {Cursor hacia abajo }
end; { case }
end; { if }
Until Flecha = #27; { ...hasta presionar Escape }
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