• Lunes 18 de Noviembre de 2024, 11:50

Autor Tema:  duda sobre cursor  (Leído 954 veces)

dinl

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
duda sobre cursor
« en: Viernes 12 de Diciembre de 2008, 06:27 »
0
hola de nuevo!, ya estoy en la fase final de mi proyecto, pero tengo problemas con una funcion q me imprime, debido a que limpia toda la pantalla y reimprime el cambio, un amigo me sugirio q utilizara setcursor de la libreria windows.h, pero no se utilizarla bien, hasta el momento consegui esto:

Código: Text
  1.  
  2. #include<iostream.h>
  3. #include <windows.h>
  4.  
  5. HANDLE consola;
  6. COORD posicion;
  7.  
  8. int main()
  9. {
  10.  
  11. consola = GetStdHandle(STD_OUTPUT_HANDLE);
  12.  
  13. cout << "aqui hay algo nuevon";
  14. posicion.X= 2;
  15. posicion.Y= 1;
  16. SetConsoleCursorPosition(consola, posicion);
  17.  
  18. cout<<"j";
  19.  
  20. system("pause");
  21. return 0;
  22. }
  23.  
  24.  
  25.  

pero el problema es q el comando borra todo lo q este desde la posicion (x,y) en adelante, como hago para solo moficar el valor de una posicion (x,y) sin afectar el resto??, les agradeceria mucho su ayuda.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: duda sobre cursor
« Respuesta #1 en: Viernes 12 de Diciembre de 2008, 09:27 »
0
Tu problema radica no en SetConsoleCursorPosition(), sino en que no has definido cout. Ten en cuenta que esto es C++, no C, por tanto tienes que definir en que espacio de nombres estás trabajando para poder usar los objetos definidos por las librerías estándar.

Te falta:

Código: C
  1. using namespace std;
  2.  

Saludos.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: duda sobre cursor
« Respuesta #2 en: Viernes 12 de Diciembre de 2008, 09:53 »
0
Si te compila (por lo que decis si lo hace) ejecuta lo desde Inicio>>Ejecutar>>programa.exe y vas a ver que funciona correctamente; desde la linea de comandos el SetConsoleCursorPosition ya parece generar actividad en el cmd ...

PD. Deberias incluir iostream (no iostream.h) y lo que te dijo m0skit0, supongo que usaras un compilador obsoleto.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

dinl

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: duda sobre cursor
« Respuesta #3 en: Viernes 12 de Diciembre de 2008, 14:43 »
0
Gracias, si era eso, tambien hay una cuestion que ocultaba el error, al posisionar el cursor si se reemplazaba esa casilla, pero como despues invocaba a system("pause") el programa imprimia "pulse una tecla para continuar" y eso borraba el resto de letras..., :P jejejeje, solo es reposisionar el cursor para q aparesca bien, por si alguien le sirve este codigo reposicionar el cursor y reemplazar algun caracter de la pantalla:

Código: Text
  1.  
  2.  
  3. #include<iostream.h>
  4. #include <windows.h>
  5.  
  6. HANDLE consola;
  7. COORD posicion;
  8.  
  9. using namespace std;
  10.  
  11. int main()
  12. {
  13.  
  14. consola = GetStdHandle(STD_OUTPUT_HANDLE);
  15.  
  16. cout << "aqui hay algo nuevon";
  17. posicion.X= 2;
  18. posicion.Y= 0;
  19. SetConsoleCursorPosition(consola, posicion);
  20.  
  21. cout<<"j";
  22.  
  23. posicion.X= 2;
  24. posicion.Y= 2;
  25. SetConsoleCursorPosition(consola, posicion);
  26.  
  27. system("pause");
  28. return 0;
  29. }
  30.  
  31.