[C con Clase] texto

Salvador Pozo salvador en conclase.net
Lun Abr 2 19:37:28 CEST 2012


El pasado 2012-04-01 20:02:19, Alvaro Garcia escribió:
 
Hola:
A ver si se las tres respuestas. :)

AG> 1: me podrias decir como hago para que mi programa se ejecute de forma oculta (solo para hacer un experimento en mi ordenador xd)

Cuando necesito hacer esto lo que hago es una aplicación Windows GUI. Una vez hecho esto tienes dos opciones:
a) Crear una aplicación GUI normal, pero indicando el valor SW_HIDE en la llamda a ShowWindow.
b) Sustituir todo por una función main normal. De ese modo no se mostrará ninguna ventana, ni consola.

Cuidado, no podrás cerrar un programa de estos de ninguna forma, salvo matando el proceso desde el administrador de tareas.

AG> 2:me podrias decir que tengo que hacer para que el texto que escribo (cout << "texto" << endl;) salga poco a poco es decir que quiero que si escribo dos o mas frases no salgan del tiron en la consola (programacion c++ consola de windows) y si, dimelo aunque no sea en consola

Usando cout no se me ocurre cómo. Tendrás que crear tus propias rutinas para mostrar texto. Una vez hecho eso, tanto da que sea para windows como para otra cosa.

AG> 3: tambien quiero saber como hago para que las letras aparezcan en otro color en la consola

Hay un montón de funciones en el API de Windows para consola: para cambiar colores, mover el cursor, etc.

La de los colores es:
BOOL SetConsoleTextAttribute(
    HANDLE hConsoleOutput,	// handle of console screen buffer  
    WORD wAttributes 	// text and background colors 
   );

Dos parámetros. El primero es un manipulador de consola. Para obtener un manipulador a tu consola actual debes usar la función:

HANDLE GetStdHandle(
    DWORD nStdHandle 	// input, output, or error device  
   );
Usa el valor STD_OUTPUT_HANDLE.

El segundo parámetro es un código de color para texto y fondo. Se puede usar cualquier combinación de los valores siguientes: FOREGROUND_BLUE, FOREGROUND_GREEN, FOREGROUND_RED, FOREGROUND_INTENSITY, BACKGROUND_BLUE, BACKGROUND_GREEN, BACKGROUND_RED y BACKGROUND_INTENSITY. Por ejemplo, la siguiente combinación de valores produce texto blanco sobre fondo negro: 

FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE  

Hasta pronto.

-- 
Salvador Pozo (Administrador)
mailto:salvador en conclase.net


Más información sobre la lista de distribución Cconclase