• Sábado 14 de Diciembre de 2024, 20:50

Autor Tema:  Necesito Unas Funciones....  (Leído 1550 veces)

dzeg

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Necesito Unas Funciones....
« en: Viernes 2 de Mayo de 2008, 04:31 »
0
[B]GRACIAS POR ESTAR INTERESADO EN AYUDARME...

La verdad es que necesito ayuda en cual funcion o comando debo utilizar en visual c++ para que me borre una linea o que me borre algo que esta ingresando pero en MODO CONSOLA, soy un principiante pero estoy muy interesado en cursarme de lleno con este poderoso lenguaje.... en borland el comando es clreol(); pero en visual no me reconoce esta funcion.... ademas necesito en otra funcion... Sleep(); esta funcion la estoy utilizando para simular una barra que esta cargando, en DEV C++ Y BORLAND C++ si me funcionan, como quiero, pero en visual lo que hace es que me espera los milisegundos que le di y me muestra la barra completa......
GRACIAS DE ANTEMANO.....

carmamezo

  • Miembro MUY activo
  • ***
  • Mensajes: 232
    • Ver Perfil
Re: Necesito Unas Funciones....
« Respuesta #1 en: Lunes 12 de Mayo de 2008, 12:48 »
0
Hola,

Puedes borrar la pantalla usando la siguiente función : system("Cls"), no sé si se puede borrar una única fila en Visual C++ como en borland (me parece que no)...
Si lo que quieres es que lo que escribe el usuario no se vea en pantalla o aparezcan asteriscos (como una contraseña) puedes usar un bucle while y usar la función getch() para evitar que los caracteres se vean printando un asterisco por cada letra introducida:
Código: Text
  1.  
  2. char a,password[128];
  3. int i=0;
  4. while(a!=13)
  5. {
  6.     getch(a);
  7.     if(a!=13)
  8.         password[i]=a;
  9.     else
  10.         password[i]='\0';
  11.     printf("*");
  12.     i++;
  13. }
  14.  

La función Sleep() genera una interrupción del código durante un tiempo prefijado en ms (creo que el funcionamiento es el mismo al de Borland)... Por tanto, si lo que quieres es rellenar una barra tendrás que usar un bucle con el Sleep() dentro e ir pintando la barra ciclo a ciclo:
Código: Text
  1.  
  2. for(i=0;i<100;i++)
  3. {
  4.     ....
  5.     printf("*");
  6.     Sleep(100);
  7. }
  8.  
De esta manera pintaría 100 asteriscos en unos 10 segundos, eso siempre que programes como "Console application", si usas ventanas de windows la cosa cambia a la hora de actualizar elementos de la ventana, habría que usar hilos o algun otro sistema...
Si posteas el código puede que sea más fácil ayudarte.

Un saludo.
 :lightsabre:
No hay tonto más molesto que el ingenioso.