Pulse <INTRO> versión 2
Publicado por Pascual (94 intervenciones) el 30/01/2005 16:07:26
PROGRAM Pausa;
USES
Crt;
PROCEDURE LeeTecla;
VAR
tecla : char;
BEGIN
Write ('Pulse <INTRO> para continuar...');
Writeln;
REPEAT (*Hasta que no pulsemos <INTRO> el bucle repetir no parar . Nota: la*)
(*tecla <INTRO> es la n£mero 13, por eso la condici¢n para que el *)
(*bucle se detenga es tecla=#13. *)
tecla := ReadKey;
UNTIL tecla = #13;
Writeln;
END;
PROCEDURE Listado;
VAR
cont : integer;
BEGIN
ClrScr;
FOR cont := 1 TO 1000 DO
BEGIN
Writeln (cont);
IF cont MOD 48 = 0 THEN (*La pantalla tiene 49 lineas, pero usamos cont MOD 48 porque el mensaje de Leetecla ocupa una posici¢n. Si cont MOD*)
(*48 = 0 entonces... *)
LeeTecla
END;
IF cont MOD 48 <> 0 THEN
LeeTecla (*Llamamos al procedimiento LeeTecla, esto lo hacemos para que se pida al usuario pulsar <INTRO> al final de mostrar
todo el listado independientemente de si cont MOD 45 es igual o no a 0. *)
END;
BEGIN
Listado
END.
Este programa funciona, lo podeis probar, este programa está bien si la pantalla tiene 49 líneas, pero me he dado cuenta (probando este programa en otros ordenadores) que no siempre tiene 49 líneas la pantalla. ¿Cómo pueo hacer un programa de este estilo que funcione en todos los ordenadores?. Gracias a todos.
USES
Crt;
PROCEDURE LeeTecla;
VAR
tecla : char;
BEGIN
Write ('Pulse <INTRO> para continuar...');
Writeln;
REPEAT (*Hasta que no pulsemos <INTRO> el bucle repetir no parar . Nota: la*)
(*tecla <INTRO> es la n£mero 13, por eso la condici¢n para que el *)
(*bucle se detenga es tecla=#13. *)
tecla := ReadKey;
UNTIL tecla = #13;
Writeln;
END;
PROCEDURE Listado;
VAR
cont : integer;
BEGIN
ClrScr;
FOR cont := 1 TO 1000 DO
BEGIN
Writeln (cont);
IF cont MOD 48 = 0 THEN (*La pantalla tiene 49 lineas, pero usamos cont MOD 48 porque el mensaje de Leetecla ocupa una posici¢n. Si cont MOD*)
(*48 = 0 entonces... *)
LeeTecla
END;
IF cont MOD 48 <> 0 THEN
LeeTecla (*Llamamos al procedimiento LeeTecla, esto lo hacemos para que se pida al usuario pulsar <INTRO> al final de mostrar
todo el listado independientemente de si cont MOD 45 es igual o no a 0. *)
END;
BEGIN
Listado
END.
Este programa funciona, lo podeis probar, este programa está bien si la pantalla tiene 49 líneas, pero me he dado cuenta (probando este programa en otros ordenadores) que no siempre tiene 49 líneas la pantalla. ¿Cómo pueo hacer un programa de este estilo que funcione en todos los ordenadores?. Gracias a todos.
Valora esta pregunta


0