Pascal/Turbo Pascal - Leer TAB mientras se ejecuta read(n);

 
Vista:

Leer TAB mientras se ejecuta read(n);

Publicado por Dario (8 intervenciones) el 15/11/2002 20:49:14
Hola a todos,

tengo la siguiente consulta. Debo hacer un programa en el cual ingreso numeros de usuarios del norte y numeros de usuarios del sur. Los numeros son de 4 cifras y estan intercalados, desordenados. Entonces debo tener dos campos de ingreso y 2 listas.

Lo que quiero hacer es con la tecla TAB saltar de uno a otro campo y una vez que esta el cursor en el campo que quiero simplemente typear el num y enter.
Habia pensado usar Readkey, pero hice algo demasiado complicado que a parte no anda ... :-).
Como se hace eso?
Supongamos que tengo en mi programa
readln(usuario);
y se esta ejecutando esta instruccion, pero el operador todavia no ingreso ningun numero y se dio cuenta uqe debe cambiar de campo. O sea, la tecla TAB tambien debe estar leyendose de alguna manera. Como funciona esto?

Saludos,
Dario
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:Leer TAB mientras se ejecuta read(n);

Publicado por Ricardo Ramirez (16 intervenciones) el 15/11/2002 21:31:42
Por lo que rdo en Pascal, los campos a leer no se comportan como en otro leng. que sirven para leer quizas algun campo de una tabla.

... realmente no veo solucion indmediata para ello... quizas habria que construir una funcion para leer un dato de cualquier tipo de el mismo que se comporte com cualquier objeto get de windows!

quizas nuesttro amigo Diego, que esta mas al tanto con esto de una salida.

Salu2
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:Leer TAB mientras se ejecuta read(n);

Publicado por Diego Romero (786 intervenciones) el 17/11/2002 02:12:37
Necesariamente debes hacer una función o dos que contemplen la autoedición de captura de datos por teclado, no hay procedimiento predefinido que lo haga como en otros lenguajes de más alto nivel (Clipper, COBOL, etc).
Estoy pensando seriamente en publicar algo en mi página que resuelva esto asi que atento a las novedades :).
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:Leer TAB mientras se ejecuta read(n);

Publicado por Dario (8 intervenciones) el 17/11/2002 03:57:54
Hola,
resolvi el problema de una manera que no me parece muy elegante.
Por eso comento por aca lo que pense para que me den sus opiniones.
repeat
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:Leer TAB mientras se ejecuta read(n);

Publicado por Dario (8 intervenciones) el 17/11/2002 03:57:56
Hola,
resolvi el problema de una manera que no me parece muy elegante.
Por eso comento por aca lo que pense para que me den sus opiniones.
repeat
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:Leer TAB mientras se ejecuta read(n);

Publicado por Roberto Garcia (128 intervenciones) el 20/11/2002 10:23:46
Lo que yo hago para solucionar eso es basicamente lo sig (dentro de un procedimiento "leer")

repeat
repeat
gotoxy(x,y);
until keypressed
op:=readkey;
if op=#0 then
op:=readkey;

if op in ['a'..'z','A'..'Z'] then begin
write(op);
inc(x);
end;

until op in [enter,ecape,arriba,abajo,tab,etc]

enter,escape,ariba, abajo,tab, obviamente son constantes con sus correspondientes valor ascci.

Este procedimiento lee constantemente del teclado, hasta que se presione una tecla, y termina si la tecla fue, enter, escape tab, etc. entonces fuera del procedimiento yo valido con que tecla termine, por ejemplo

leer(s,1,1,23,op);
if op =tab then
{hacer algo}

aqui el procedimiento recibe la cadena que va a leer, las corrdenas (1,1), el tamaño de la cadena y op que me va a servir para saber como termino el proc.

dentro del proc hay que validar si la cadena no esta vacia, teclas especiales, retroceso, incio, fin, supr, etc. parece muy complicado pero es sencillo. cualquier cosa escribeme.



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