Ver Mensaje Individual
  #2  
Antiguo 12-01-2008
Avatar de grandmasterdari
grandmasterdari grandmasterdari is offline
Miembro
 
Registrado: ene 2008
Posts: 46
Reputación: 0
grandmasterdari Va por buen camino
Post intento de solucion

pues amigo no es muy facil de entender lo que pides, este es mi intento

getch() //funcion que retorna el valor de la tecla presionada
gotoxy(int x, int y) // requiere incluir conio.h funcion que posiciona el cursor en el shell (25 x 80 si mal no recuerdo)

tecla presionada se devuelve en forma ascii, o sea si presionamos la A getch() devuelve 23 orx 'A' y se imprime en pantalla
pero.. señor... ud no quiere que se imprima en pantalla segun entiendo. entonces vamos a tener ke ir a borrarlo, retrocediendo una posicion y escribiendo un blanco 32 orx ' ' y retrocediento (si otra vez) una posicion.
Magia, es mas rapido que la vista, ni siquiera vimos que apretamos.
el codigo seria algo asi
Código:
            ch=getch();
            gotoxy(wherex()-1,wherey());
            printf(" ");
            gotoxy(wherex()-1,wherey());
y al final la variable ch (char) contiene lo que presionamos.
para hacerlo iterativo. por ejemplo. capturar un string de 15 caracteres

Código:
printf("ingrese el nombre (15 caracteres)");
char str[15];
for(int i=0;i<15;i++){
            str[i]=getch();
            gotoxy(wherex()-1,wherey());
            printf(" ");
            gotoxy(wherex()-1,wherey());             
}
y capturamos un string de 15 caracteres sin mover el cursor, sin que los ojos lo detecten.
Si vamos a trabajar con DOS, hay ke utilizar muuuuucho el gotoxy(int x,inty) recomiendo que se mude a una interfaz de windows ya que lleva mucho tiempo crear un programa cuya interfaz "grafica" es un shell (ventanita de DOS o terminal), y distrae al programador del verdadero problema, los requisitos del software

Última edición por grandmasterdari fecha: 12-01-2008 a las 00:27:57.
Responder Con Cita