elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Color del texto
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Color del texto  (Leído 3,115 veces)
cNoob

Desconectado Desconectado

Mensajes: 59



Ver Perfil
Color del texto
« en: 30 Junio 2016, 21:31 pm »

Hola!
He probado a cambiar el color del texto de mi programa, pero al ejecutarlo me da error "error: FOREGROUND was not declared on this scope" no entiendo por que el compilador entiende que foreground es una variable. Alguien puede ayudarme y decirme de paso si hay algún método más simple para cambiar el texto de color?
Gracias!

Código
  1. #include <iostream>
  2. #include <windows.h>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.    HANDLE h=GetStdHandle( STD_OUTPUT_HANDLE);
  8.  
  9.    SetConsoleTextAttribute(h,FOREGROUND_BLUE |FOREGROUND INTENSITY);
  10.    cout<<"Blue"<<endl;
  11.    SetConsoleTextAttribute(h,FOREGROUND_RED |FOREGROUND INTENSITY);
  12.    cout<<"Red"<<endl;
  13.    SetConsoleTextAttribute(h,FOREGROUND_GREEN |FOREGROUND INTENSITY);
  14.    cout<<"Green"<<endl;
  15.  
  16.    cin.get();
  17.    return 0;
  18. }
  19.  


En línea

Wannabe programador autodidacta de c++
"Usain Bolt comenzó gateando."
avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: Color del texto
« Respuesta #1 en: 1 Julio 2016, 02:31 am »

Hola, te faltan los guiones bajos en FOREGROUND_INTENSITY. Tu código corregido es este:

Código
  1. #include <iostream>
  2. #include <windows.h>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.    HANDLE h=GetStdHandle( STD_OUTPUT_HANDLE);
  8.  
  9.    SetConsoleTextAttribute(h,FOREGROUND_BLUE |FOREGROUND_INTENSITY);
  10.    cout<<"Blue"<<endl;
  11.    SetConsoleTextAttribute(h,FOREGROUND_RED |FOREGROUND_INTENSITY);
  12.    cout<<"Red"<<endl;
  13.    SetConsoleTextAttribute(h,FOREGROUND_GREEN |FOREGROUND_INTENSITY);
  14.    cout<<"Green"<<endl;
  15.  
  16.    cin.get();
  17.    return 0;
  18. }

PD: No sé si hay un método más simple, pero no creo que haya algo más simple que lo que la WinAPI te ofrece.

Un saludo.


En línea

Regístrate en
AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Color del texto
« Respuesta #2 en: 1 Julio 2016, 06:20 am »

Sobre por que no compilaba tu codigo ya te respondieron. Respecto a tu duda

Citar
no entiendo por que el compilador entiende que foreground es una variable

Eso se debe al analizador lexico que procesa tu código dado que se encuentra como parametro dentro de una funcion el compilador espera que lo que le pases sea uno de tres valores, una numero (Su valor), una constante previamente declarada o en su defecto una variable. Por eso como foreground no es constante lo interpreta como.si fuera una variable no declarada.

Pero ya te dijeron que le faltaba el Guion bajo.

Estando we windows y usando librerias estandar no, no hay nada mas simple...

como anectoda cuando aprendi a programar en C usabamos el turbo C y teníamos la biblioteca de funciones conio la cual usaba pero al ver que no era estandar me puse a reescribir casi toda la libreria en Ensamblador para segun yo usar esas funciones en otro lado  :xD :xD

lo comento por que esa biblioteca de funciones (conio.h) se encontraban las funciones para cambiar de color el texto. Sin embargo NO la recomiendo por no ser estandar y tampoco recomiendo el ASM ( A no ser que quieras aprender ASM)

Saludos
« Última modificación: 1 Julio 2016, 06:25 am por AlbertoBSD » En línea

cNoob

Desconectado Desconectado

Mensajes: 59



Ver Perfil
Re: Color del texto
« Respuesta #3 en: 1 Julio 2016, 12:55 pm »

Gracias a ambos por la ayuda, y si que es cierto que cuando uno es noob como yo se hacen muchas matadas por no saber estructurar o ir directamente al grano en el codigo  :xD Pero bueno, eso imagino que son cosas que se acaban aprendiendo.
Un saludo!
En línea

Wannabe programador autodidacta de c++
"Usain Bolt comenzó gateando."
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Buscar un texto o color en una imagen
Programación Visual Basic
demoniox12 3 2,269 Último mensaje 15 Febrero 2008, 01:56 am
por Chefito
[Solucionado] HDCMemory Color Texto
Programación Visual Basic
BlackZeroX 1 1,769 Último mensaje 5 Octubre 2009, 04:11 am
por BlackZeroX
Cambiar color del texto de un combobox
.NET (C#, VB.NET, ASP)
BlaineMonkey 1 11,711 Último mensaje 25 Febrero 2010, 12:36 pm
por BlaineMonkey
XML color de texto
Desarrollo Web
aldg 1 4,379 Último mensaje 16 Mayo 2011, 20:55 pm
por RedZer
Cambiar color del texto por partes
Programación C/C++
Syrax 1 3,801 Último mensaje 2 Mayo 2018, 08:10 am
por master_1999
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines