Programación General > Pascal
Descargar El Buffer Del Teclado
Ferdinandum:
Hola a todos
Hay alguna funcion en Pacal q te descarge el buffer del teclado, en C creo q era fflush
Lo pregunto pregunto porque cuando voy leyendo con funcion read() hay veces q no se para a leer, Coje el valor q ya habia introducido antes
--- Citar ---
Procedure OPCION1 ( var matrix1:TMatriz1; var matrix2:TMatriz2 );
var
cad:string; (* Guarda los dos caracteres del digrafo *)
c:char; (*Control de errores*)
Begin
repeat
repeat
limpiar; (* - 01 - *)
writeln ('Introduce el diagrafo ');
read(cad);
IF (cad[1]='ñ') or (cad[2]='Ñ') then
Begin
Limpiar;
writeln('El caracter Ñ se trasforma en -ny- entonces ya forma un digrafo');
writeln('¿Esta deacuerdo de que el digrafo a buscar sea -ny- S/N ? ');
read( c ) ;
cad:='ny';
End
ELSE
Begin
cad:= CAMBIO(cad[1]); (* - 02 - *)
cad:= cad + CAMBIO(Cad[2]); (* - 02 - *)
c:='S';
End;
until (c='s') or (c='S');
limpiar;
writeln ( cad,': ',matrix1[cad[1],cad[2]],' de:',CONT_DIGRAFOS(matrix1) );
writeln (cad[1],': ',matrix2[cad[1],1]);
writeln (cad[2],': ',matrix2[cad[2],1]);
writeln('--- PuLsa una tecla para continuar ---');
read(input);
repeat
limpiar;
writeln('Desea introducir otro digrafo S/N');
read( c );
until (c='n') or (c='s');
until(c='n');
End;
--- Fin de la cita ---
El problema lo tengo en este procedimiento; el los read. Solo se para a leer en el primero y en el ultimo, en los demas no se para, porque coje lo q habia escrito antes en el teclado.
Muchas gracias;
Enko:
--- Citar ---read()
--- Fin de la cita ---
Este procedimiento no lee desde el teclado, sino de la pantalla.
Para leer desde el teclado deberias usar ReadKey[b/]
--- Código: Text --- function ReadKey:Char; Para usarlo...
--- Código: Text --- read( c ); {ASI LEE DESDE LA PANTALLA} c := ReadKey; {ASI LEE EL CHAR DESDE EL TECLADO Y VACIA EL BUFFER UNA VEZ LEIDO}
Ferdinandum:
Muchas gracias,
Esto donde lo tengo q poner
--- Citar ---function ReadKey:Char;
--- Fin de la cita ---
Lo he declarado arriba donde las demas funciones
Al compilar me sale esto
--- Citar ---[ferniet@jair practica]$ fpc p.pas
Free Pascal Compiler version 1.0.6 [2002/05/23] for i386
Copyright © 1993-2002 by Florian Klaempfl
Target OS: Linux for i386
Compiling p.pas
p.pas(15,9) Fatal: Syntax error, = expected but identifier READKEY found
[ferniet@jair practica]$
--- Fin de la cita ---
Readkey, es una funcion de Pacal ?
FELIZ NAVIDAD
Enko:
--- Citar ---function ReadKey:Char;
--- Fin de la cita ---
En ningun lado, asi es como esta definida esta funcion en la librería CRT( es decir no se le pasa de parametro nada, y te devuelve char del teclado.)
Lo que tienes que hacer es Reemplasar el
Read( c )
por:
c := ReadKey;
--- Citar ---Readkey, es una funcion de Pacal ?
--- Fin de la cita ---
Si esta en la libreria CRT.
Ferdinandum:
He quitado eso
y me he puesto
--- Citar --- c:=Readkey;
--- Fin de la cita ---
y al compilar sale
--- Citar ---[ferniet@jair practica]$ fpc p.pas
Free Pascal Compiler version 1.0.6 [2002/05/23] for i386
Copyright © 1993-2002 by Florian Klaempfl
Target OS: Linux for i386
Compiling p.pas
p.pas(273,7) Error: Identifier not found READKEY
p.pas(374) Fatal: There were 1 errors compiling module, stopping
[ferniet@jair practica]$
--- Fin de la cita ---
Igual es porque no tengo esa libreria?
Navegación
[#] Página Siguiente
Ir a la versión completa