raidentr
Messages postés35Date d'inscriptionmardi 14 janvier 2003StatutMembreDernière intervention14 mai 2004
-
25 avril 2004 à 16:51
raidentr
Messages postés35Date d'inscriptionmardi 14 janvier 2003StatutMembreDernière intervention14 mai 2004
-
27 avril 2004 à 08:05
J'essai d'afficher les caractères accentués en mode console ... il y a plein de blaba sur le forum à ce sujet et des mecs qui se moquent des programmeurs qui font de la console, mais concretement, il n'y a aucune ligne de code qui marche et qui permet de le faire vraiment ... C'est facile de se moquer des autres !
Est ce que quelqu'un d'avertis sait comment faire, ainsi que de changer la couleur du texte afiché, soit en C soit en C++
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 25 avril 2004 à 16:54
pour les caractéres accentué tu peux les affichant et t'aidant de leur valeur ascii...
pour la couleur, il y avait un post y a pas longtemps sur ca !!! je lui avait dit qu'il y a des librairies sur le site qui permette de faire ca facilement, cherche sconio.h ou des trucs comme ca !!!
Bob...
"La chance accorde ses faveur aux esprits avertis..."
cs_Chouchou182
Messages postés252Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention25 avril 20111 25 avril 2004 à 16:59
Hello
Pour afficher un caractère accentué (ou plus précisément compris entre 128 et 255 inclus) il faut le remplacer par un backslash (\\) suivi du code ASCII du caractère en octal et sur trois chiffres.
Ex: "Il \\202t\\202 une fois, ...."
J'ai remarqué que cette méthode ne marche pas sous Linux... Alors si quelqu'un a la solution....
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 25 avril 2004 à 17:22
c'est pourtant pas compliqué tu telecharge sconio.h et tu le met dans le repertoire de ton code source... dans ton code tu ecrit:
#include "sconio.h"
ensuite pour avoir un texte rouge, souligné en noir (en admettant que tu es le fond noir pour pas que ca se voit), tu fait:
textcolor(4, 0);
4 correspond a la couleur rouge et 0 au noir, mais tout cela est décrit sur la page de sconio.h
ensuite pour afficher le texte tu affiche comme tout le fait normalement...
Bob...
"La chance accorde ses faveur aux esprits avertis..."
juki_webmaster
Messages postés947Date d'inscriptionmercredi 19 novembre 2003StatutMembreDernière intervention 5 avril 20083 25 avril 2004 à 18:05
sinon pour la couleur, moi j'utiliser system("color 41"); avec la lib windows.h
4 = couleur de font , ici bleu-gris
1 = couleur de texte , ici bleu-foncé
raidentr
Messages postés35Date d'inscriptionmardi 14 janvier 2003StatutMembreDernière intervention14 mai 2004 26 avril 2004 à 09:40
En fait c'est pas si clair :
textcolor(A, B) fonctionne bien, mais en incluant la lib sconio.h, la lib io.h h dont j'ai besoin n'est pas correctement interpréter, y'a conflit.
La fonction system("color 0xB0xA") avec windows.h fonctionne, mais elle change la couleur du texte entier de la console, moi je veux changer la couleur du texte à afficher sans changer la couleur du texte déjà affiché.
Quand à SetConsoleTextAttribute, je pense que c'est ce qui fonctionne le mieux par rapport à mes besoins.
raidentr
Messages postés35Date d'inscriptionmardi 14 janvier 2003StatutMembreDernière intervention14 mai 2004 26 avril 2004 à 09:41
En fait c'est pas si clair :
textcolor(A, B) fonctionne bien, mais en incluant la lib sconio.h, la lib io.h h dont j'ai besoin n'est pas correctement interpréter, y'a conflit.
La fonction system("color 0xB0xA") avec windows.h fonctionne, mais elle change la couleur du texte entier de la console, moi je veux changer la couleur du texte à afficher sans changer la couleur du texte déjà affiché.
Quand à SetConsoleTextAttribute, je pense que c'est ce qui fonctionne le mieux par rapport à mes besoins.
const int NOIR = 0;
const int GRIS = FOREGROUND_INTENSITY;
const int ECRU = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED;
const int BLANC = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY;
const int BLEU = FOREGROUND_BLUE ;
const int BLEU_VIF = FOREGROUND_BLUE | FOREGROUND_INTENSITY;
const int ROUGE = FOREGROUND_RED;
const int ORANGE = FOREGROUND_RED | FOREGROUND_INTENSITY;
const int VERT = FOREGROUND_GREEN ;
const int VERT_VIF = FOREGROUND_GREEN | FOREGROUND_INTENSITY;
const int MARRON = FOREGROUND_RED | FOREGROUND_GREEN;
const int JAUNE = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY;
const int VIOLET = FOREGROUND_RED |FOREGROUND_BLUE;
const int VIOLET_VIF = FOREGROUND_RED |FOREGROUND_BLUE | FOREGROUND_INTENSITY;
const int CYAN = FOREGROUND_BLUE | FOREGROUND_GREEN;
const int CYAN_VIF = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY;
int fond = NOIR; // Les couleurs par défaut
int texte = BLANC;
//******************************************************************************************
// DEFINITIONS DES FONCTIONS
//******************************************************************************************
//------------------------------------------------------------------------------------------
// Fonction void CouleurTexte Mets en couleur le texte affiché selon les arguments fournis
//------------------------------------------------------------------------------------------
void CouleurTexte( int CouleurTexte )
{
texte = CouleurTexte;
SetConsoleTextAttribute (MaConsoleEcran, texte | fond);
} //----------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------
// Fonction void CouleurFond Mets en couleur le fond selon les arguments fournis
//------------------------------------------------------------------------------------------
void CouleurFond( int CouleurFond )
{
fond = CouleurFond * 0x0010 ;
// ou fond = CouleurFond * 16; (cette solution est la moins rapide)
// ou fond = CouleurFond << 4; (cette solution est la plus rapide ; vous pourrez souvent la
// trouver dans les librairies conio.h)
//------------------------------------------------------------------------------------------
// Fonction void CouleurFondTexte Mets en couleur le texte affiché et le fond selon les arguments fournis
//------------------------------------------------------------------------------------------
void CouleurFondTexte( int CouleurFond, int CouleurText )
{
fond = CouleurFond * 0x0010 ;
texte = CouleurText;
raidentr
Messages postés35Date d'inscriptionmardi 14 janvier 2003StatutMembreDernière intervention14 mai 2004 27 avril 2004 à 08:05
Merci pour ton code qui fonctionne parfaitement, il est très clair.
Merci pour tes encouragements...je trouve pour l'instant que tout ce qui est relatif à l'affichage sous winbdows en C++ est ultra hermétique, je ne sais pas par quel bout commencer. Je me rend compte que pour afficher juste un texte ou paramétrer un controle, il faut une rafale de lignes de codes, non ?