Pascal/Turbo Pascal - NO RESPONDE A LAS TECLA

   
Vista:

NO RESPONDE A LAS TECLA

Publicado por Antonio (74 intervenciones) el 02/02/2011 11:17:08
Hola
Ante todo les agradezco la ayuda que me puedan prestar.
Para las practicas en programación me he pasado de Turbo Pascal a Free Pascal.
A continuación les inserto el código fuente del programa que he corrido (compilado) en Turbo Pascal y Free Pascal; en el primero funciona bien, pero en Free Pascal no responde a la pulsación de las teclas. Es por lo que recurro a Vds en peticion de ayuda.
Un saludo.
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:NO RESPONDE A LAS TECLA

Publicado por Antonio (74 intervenciones) el 02/02/2011 23:38:58
Perdonenme por el olvido. No incluir el código fuente que les referí:

uses graph, crt;
var
gd,gm,x,y : integer;
tecla : char;

begin
gd := detect;
InitGraph(gd,gm,' ');
if graphresult <> grok then Halt(1);

x := getmaxx div 2;
y := getmaxy div 2;
repeat
putpixil(x,y,15);
tecla := readkey;
case tecla of
'8' : y := y-1;
'2' : y := y+1;
'6' : x := x+1;
'4' : x := x-1
end
until (tecla='f') or (tecla='F');
closegraph
end.
En pascal funciona perfectamente, en free pascal no responde a las pulsaciones de las teclas correspondientes.
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:NO RESPONDE A LAS TECLA

Publicado por ramon (2072 intervenciones) el 14/02/2011 12:45:22
prueba con
77/75/72/80
son los codigos de las teclas de flechas que
tienen los numeros 2/4/6/8

mira ejecuta este programa
program teclado;
uses
crt, dos;
var
tecla : char;
x, y, nume : integer;
begin
clrscr;
x := 1;
y := 1;
nume := 9;
repeat
textcolor(14);
gotoxy(x,y);write(nume);
textcolor(15);
gotoxy(x + 4,y);write(tecla);
inc(nume);
tecla := chr(nume);
inc(y,1);
if y > 24 then
begin
y := 1;
x := x + 12;
end;
until nume > 175;
gotoxy(10,34);
write('pulse una tecla o ESC');
repeat
tecla := readkey;
if tecla = #0 then
begin
tecla := readkey;
gotoxy(20,38);
write(' ');
write(ord(tecla),' ',tecla);
end;
until tecla = #27;
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