Pascal/Turbo Pascal - Limpiar buffer

 
Vista:

Limpiar buffer

Publicado por Ayuda (2 intervenciones) el 31/12/2003 13:11:51
Hola a todos, soy nuevo en esto de pascal y me gustaria saber si hay alguna forma de limpiar el buffer
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:Limpiar buffer

Publicado por Ayuda (2 intervenciones) el 10/01/2004 07:37:54
El buffer del teclado si es q se puede
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:Limpiar buffer

Publicado por Diego Romero (786 intervenciones) el 10/01/2004 21:15:50
Sí, usa la función ReadKey asignando a una variable char.
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:Limpiar buffer

Publicado por Ge-ergon (17 intervenciones) el 11/01/2004 02:45:10
Hola !
Aqui esta una respuesta tomada del FAQ del profesor
Timo Salmi (UNIVERSITY OF VAASA, FINLAND).

Algunas preguntas y respuestas en español, del FAQ mencionado,
se encuentran en "www.pascalmania.cjb.net".

Respuesta tomada del FAQ de Timo Salmi:
-----------------------------------------------------------
Existen dos métodos para limpiar el búfer de teclado en Turbo Pascal, uno de ellos es:

Uses Crt;
Begin
While KeyPressed Do ReadKey;
End.

El problema es que el código requiere la unidad CRT. El otro método es independiente de cualquier unidad pero accede directamente a memoria igualando la "cabeza" del búfer de teclado con la "cola". Este es el otro método (Si no tienes Turbo Pascal 7.0 tal vez deberías cambiar "Seg0040" por "$40"):

Procedure VaciarBufer;
Begin
(*
40:1A word Offset from 40:00 to keyboard buffer head
40:1C word Offset from 40:00 to keyboard buffer tail
*)

MemW[Seg0040:$1A]:= MemW[Seg0040:$1C];
End;
-------------------------------------------------------------

Att:Ge-ergon
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