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 :

curses très basiques ...


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2
    Par défaut curses très basiques ...
    Bonjour ,

    J'ai cherché sur google mais je n'ai rien trouvé qui correspondait à ce que je cherchais et les manuels sur les curses sont très ...

    J'ai un programme basé sur le shéma client serveur dont les clients communiquent via des terminaux communs. Je voudrais que chaque client ait sa couleur d'affichage du texte dans le terminal. Je suis sous linux / solaris / darwin donc pas de conio.h ou de color.h ...

    Je pensais donc à une fonction ncurses que j'utiliserai à la place de printf ...

    Quelqu'un a t il un exemple simple ou une illustration de cela ( sachant que j'ai déjà breaucoup de lignes de codes et que je n'ai pas le temps de reprogrammer la commande select ) ???

    Merci breaucoup.

  2. #2
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Je m'étais essayé à créer un mini ncurses sous Windows, juste dans le but de pouvoir changer la couleur d'affichage avec un code théoriquement compilable sous Win/Linux.
    Je sais plus si j'avais testé ce code sous Linux, mais voici mon petit min de test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    int main(int argc, char *argv[])
    {
        initscr();
        start_color();
     
        init_pair(1, COLOR_RED,     COLOR_BLACK);
        init_pair(2, COLOR_GREEN,   COLOR_BLACK);
        init_pair(3, COLOR_YELLOW,  COLOR_BLACK);
        init_pair(4, COLOR_BLUE,    COLOR_BLACK);
        init_pair(5, COLOR_CYAN,    COLOR_BLACK);
        init_pair(6, COLOR_MAGENTA, COLOR_BLACK);
        init_pair(7, COLOR_WHITE,   COLOR_BLACK);
     
        printf("default\t");
    	attrset(COLOR_PAIR(1));
        printf("COLOR_RED\t");
    	attrset(COLOR_PAIR(2));
        printf("COLOR_GREEN\t");
    	attrset(COLOR_PAIR(3));
        printf("COLOR_YELLOW\t");
    	attrset(COLOR_PAIR(4));
        printf("COLOR_BLUE\t");
    	attrset(COLOR_PAIR(5));
        printf("COLOR_CYAN\t");
    	attrset(COLOR_PAIR(6));
        printf("COLOR_MAGENTA\t");
    	attrset(COLOR_PAIR(7));
        printf("COLOR_WHITE\t");
    	attrset(COLOR_PAIR(0));
        printf("default\t");
     
        scanf("%*d");
        endwin();
        return 0;
    }

  3. #3
    Membre averti
    Inscrit en
    Juin 2003
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 24
    Par défaut
    Et les séquences escape ?

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2002
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 88
    Par défaut
    Au fait, si tu veux juste faire de l'affichage de couleur, t'es pas obligé d'utiliser curses.... un simple printf avec les bonnes sequences d'échappement suffisent :

    exemples de sequences :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    #define BOLD            "\033[01m"
    #define BIP             "\a"
    #define UNDERLINE       "\033[04m"
    #define BOLUND          "\033[01m\033[04m"
    #define BOLBIP          "\033[01m\a"
    #define UNDBIP          "\033[04m\a"
    #define REVERSE         "\033[07m"
    #define INVISIBLE       "\033[08m"
     
    #define NORM_FG			"\033[0m"
    #define BLACK_FG        "\033[30m"
    #define RED_FG          "\033[31m"
    #define GREEN_FG        "\033[32m"
    #define YELLOW_FG       "\033[33m"
    #define BLUE_FG         "\033[34m"
    #define MAGENTA_FG      "\033[35m"
    #define CYAN_FG         "\033[36m"
    #define WHITE_FG        "\033[37m"
     
    #define BLACK_BG        "\033[40m"
    #define RED_BG          "\033[41m"
    #define GREEN_BG        "\033[42m"
    #define YELLOW_BG       "\033[43m"
    #define BLUE_BG         "\033[44m"
    #define MAGENTA_BG      "\033[45m"
    #define CYAN_BG         "\033[46m"
    #define WHITE_BG        "\033[47m"
    pour imprimer un texte en rouge, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    printf("%s mon texte rouge %s mon texte de nouveau en couleur par defaut\n", RED_FG, NORM_FG);

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2
    Par défaut Problème Résolu
    Excellent c'est exactement ce que je voulais.
    Merci beaucoup !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 28/07/2014, 10h09
  2. langage de programmation très basique (purement logique).
    Par ay-escobar dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 22/02/2014, 10h30
  3. erreurs (certainement très basiques)
    Par gbauby dans le forum Débuter
    Réponses: 16
    Dernier message: 09/04/2012, 17h48
  4. Mon bot IRC (version très basique)
    Par Invité dans le forum Réseau
    Réponses: 2
    Dernier message: 05/05/2011, 22h12
  5. Statistiques très basiques
    Par Pierre8r dans le forum Langage
    Réponses: 6
    Dernier message: 05/05/2008, 11h16

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