IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Couleur dans une console


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 27
    Par défaut Couleur dans une console
    j'ai développé un ptit jeu du puissance 4 en C et j'aimerais bien mettre un peu de couleur dans la console, genre afficher un pion en couleur.
    J'ai donc fait plusieurs recherches sur internet pour avoir de la doc.
    J'ai trouvé comment faire sous une console windows, mais j'aimerais faire la même chose sous une console linux !!
    et là c'est plus dur que je pensais. j'ai essayé d'utiliser ce qu'on trouve dans la bibliothèque curses.h mais sans succès ( mes fonctions ne sont pas reconnues sous linux ou cygwin )
    je ne fais sans doute pas les choses comme il faut mais je ne sais plus trop où chercher.
    peut être qu'il y a un moyen d'afficher du texte en couleur dans une console ( car c'est juste ce que je veux faire ) et en plus qui fonctionnerait sous linux et windows ?
    je continue à chercher de mon coté mais j'avoue que de l'aide serait bien la venue
    merci d'avance

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut Re: Couleur dans une console
    Citation Envoyé par P'tite Nélodie
    j'ai développé un ptit jeu du puissance 4 en C et j'aimerais bien mettre un peu de couleur dans la console, genre afficher un pion en couleur.
    J'ai donc fait plusieurs recherches sur internet pour avoir de la doc.
    J'ai trouvé comment faire sous une console windows, mais j'aimerais faire la même chose sous une console linux !!
    Le plus portable est d'utiliser les séquences dites 'ANSI' (VT-100). Elles sont reconnues d'office sous Linux, et sous Windows, il faut installer le driver ansi.sys. Détails sur le forum "Développement Windows".

    http://emmanuel-delahaye.developpez....htm#pleinecran

  3. #3
    Membre éprouvé Avatar de SaintAmand
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 174
    Par défaut Re: Couleur dans une console
    Citation Envoyé par P'tite Nélodie
    J'ai donc fait plusieurs recherches sur internet pour avoir de la doc. J'ai trouvé comment faire sous une console windows, mais j'aimerais faire la même chose sous une console linux !!
    http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/
    http://www.termsys.demon.co.uk/vtansi.htm#setup

    --
    SaintAmand

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 27
    Par défaut
    merci pour toutes ces informations
    je vais vous embêter encore un peu
    comment utilise t on les commandes ANSI ?
    si je veux écrire en rouge je fais : printf("<ECS>[{31};m%s","en rouge");

    et si j'ai bien compris , si j'utilise ces commandes , cela fonctionnera aussi bien sous windows que linux ?

    je vais essayer de regarder plus en détails la bibliothèque ncurses.h.

    merci encore

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par P'tite Nélodie
    je vais vous embêter encore un peu
    comment utilise t on les commandes ANSI ?
    On envoi la bonne séquence sur stdout ...
    si je veux écrire en rouge je fais : printf("<ECS>[{31};m%s","en rouge");
    En C , ça donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include <stdio.h>
     
    #define ESC "\x01b"
    #define RED ESC "[31m"
     
    int main (void)
    {
       printf (RED);
       puts ("Hello world");
       return 0;
    }

    et si j'ai bien compris , si j'utilise ces commandes , cela fonctionnera aussi bien sous windows que linux ?
    Oui car ça dépend de la console et non du système.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 27
    Par défaut
    merci pour ces infos, j'ai recherché de mon coté les caractères d'échappements pour la console et après plusieurs essais, je peux enfin écrire en couleurs dans ma console linux ( enfin sous mon émulateur cygwin).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     printf("\033[31mrouge\033[m");
    ou 
    printf("\x01b[31mrouge\x01b[");
    ce code fonctionne sous linux mais pas sous windows !!
    la partie n'est pas encore gagnée

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par P'tite Nélodie
    ce code fonctionne sous linux mais pas sous windows !!
    Il faut tout lire !
    Citation Envoyé par -ed-
    et sous Windows, il faut installer le driver ansi.sys

Discussions similaires

  1. Soulignement et couleur dans une console
    Par rambc dans le forum Général Python
    Réponses: 3
    Dernier message: 14/07/2011, 11h06
  2. mettre de la couleur dans une cellule
    Par Jiraiya42 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 03/06/2005, 10h16
  3. Comment mettre des lignes de couleur dans une TCheckListBox ?
    Par Isa31 dans le forum Composants VCL
    Réponses: 9
    Dernier message: 31/03/2005, 08h40
  4. Accents dans une console windows
    Par JolyLoic dans le forum Windows
    Réponses: 8
    Dernier message: 20/10/2004, 00h57
  5. [VB.NET] Tabulation dans une console
    Par jacma dans le forum Windows Forms
    Réponses: 5
    Dernier message: 30/09/2004, 09h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo