[vc++] librairie conio.h

Soyez le premier à donner votre avis sur cette source.

Snippet vu 36 159 fois - Téléchargée 38 fois

Contenu du snippet

C'est Eric TETZ qui a fait ce prgm. Ayant obtenu son autorisation pour le distribuer un peu partout et bien je le fais parce que ça va arranger beaucoup de monde...
Vous faites un petit Add to Project en sélectionnant les fichiers econio.h et econio.cpp
Vous pouvez tout mettre aussi dans un seul fichier econio.h, le mettre avec les autres *.h de VC++ et faire un petit #include "econio.h"

Source / Exemple :


// econio.cpp Définitions des fonctions

   #include <econio.h>

   static WORD bgcolor = BLACK;
   static WORD fgcolor = WHITE << 4;
   #define STDOUT GetStdHandle(STD_OUTPUT_HANDLE)

   void gotoxy( int x, int y ) // Place le curseur en x,y
   {
     COORD dwCursorPosition = { x, y };
     SetConsoleCursorPosition (STDOUT, dwCursorPosition);
   }

   int wherex( void ) // Renvoie la valeur de x
   {
     CONSOLE_SCREEN_BUFFER_INFO coninfo;
     GetConsoleScreenBufferInfo (STDOUT, &coninfo);
     return coninfo.dwCursorPosition.X;
   }

   int wherey( void ) // Renvoie la valeur de y
   {
     CONSOLE_SCREEN_BUFFER_INFO coninfo;
     GetConsoleScreenBufferInfo (STDOUT, &coninfo);
     return coninfo.dwCursorPosition.Y;
   }

   void textbackground( int newcolor ) // Change la couleur du texte
   {
     fgcolor = newcolor;
     SetConsoleTextAttribute (STDOUT, fgcolor | bgcolor);
   }

   void textcolor( int newcolor )
   {
     bgcolor = newcolor << 4;
     SetConsoleTextAttribute (STDOUT, fgcolor | bgcolor);
   }

   void setcursortype( int cur ) // type de curseur
   {
     BOOL visible = cur != NOCURSOR;
     CONSOLE_CURSOR_INFO CursorInfo = { cur, visible };
     SetConsoleCursorInfo (STDOUT, &CursorInfo);
   }

   void clrscr ( void ) // efface l'écran
   {
     HANDLE hstdout = STDOUT;
     CONSOLE_SCREEN_BUFFER_INFO csbi;
     if (GetConsoleScreenBufferInfo (hstdout, &csbi))
     {
       COORD coordScreen = { 0, 0 };
       DWORD cCharsWritten;
       DWORD dwConSize = csbi.dwSize.X * csbi.dwSize.Y;
       FillConsoleOutputCharacter (hstdout, ' ', dwConSize, coordScreen, &cCharsWritten);
       FillConsoleOutputAttribute (hstdout, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten);
       SetConsoleCursorPosition   (hstdout, coordScreen);
     }
   }

// econio. h par Eric Teetz ( prototypes des fonctions )

   #ifndef ECONIO_H
   #define ECONIO_H

   #include <windows.h>
   #include <conio.h>
   enum CURSOR {
       NORMALCURSOR = 0,
       NOCURSOR = 100,
       SOLIDCURSOR = 20,
   };

   enum COLORS {
       BLACK           = 0,
       BLUE            = FOREGROUND_BLUE,
       GREEN           = FOREGROUND_GREEN,
       CYAN            = FOREGROUND_GREEN | FOREGROUND_BLUE,
       RED             = FOREGROUND_RED,
       MAGENTA         = FOREGROUND_RED   | FOREGROUND_BLUE,
       BROWN           = FOREGROUND_RED   | FOREGROUND_GREEN,
       LIGHTGRAY       = FOREGROUND_RED   | FOREGROUND_GREEN | FOREGROUND_BLUE,
       DARKGRAY        = FOREGROUND_INTENSITY,
       LIGHTBLUE       = FOREGROUND_BLUE  | FOREGROUND_INTENSITY,
       LIGHTGREEN      = FOREGROUND_GREEN | FOREGROUND_INTENSITY,
       LIGHTCYAN       = FOREGROUND_GREEN | FOREGROUND_BLUE  | FOREGROUND_INTENSITY,
       LIGHTRED        = FOREGROUND_RED   | FOREGROUND_INTENSITY,
       LIGHTMAGENTA    = FOREGROUND_RED   | FOREGROUND_BLUE  | FOREGROUND_INTENSITY,
       YELLOW          = FOREGROUND_RED   | FOREGROUND_GREEN | FOREGROUND_INTENSITY,
       WHITE           = FOREGROUND_RED   | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY,
   };

   #ifdef __cplusplus
   extern "C" {
   #endif

   void clrscr( void );
   void textbackground( int newcolor );
   void textcolor( int newcolor );
   void setcursortype( int cur );
   void gotoxy( int x, int y );
   int  wherex( void );
   int  wherey( void );

   #ifdef __cplusplus
   }
   #endif
   #endif  /* ECONIO_H */

Conclusion :


Ben ya gotoxy, textbackground, wherex, wherey et puis de quoi s'amuser.
Niqué Borland. Gnarf gnarf.
GoldenEye

A voir également

Ajouter un commentaire

Commentaires

Messages postés
4
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
13 juillet 2009

Super tous tes tutorial. J'ai consulté celui de fenêtres en mode console win32 aussi.
Merci pour ce que tu fais.
A+
Messages postés
295
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
24 janvier 2014
1
super pratique pour le mode console !!!!!!!! merci !!!
Messages postés
2
Date d'inscription
dimanche 14 mars 2004
Statut
Membre
Dernière intervention
30 décembre 2004

super bien pratique toute fois j'ai rencontré un petit problème ou vous pourrez surement m'éclairer il m'est impossible de changer de couleur dans la meme fonction:
cout << "\nEntrer le Nom de l'image\n";
textbackground(3);
cout << "ex: Photo.jpg ou image.gif\n";
textbackground(10);
cin >> img;
Messages postés
5
Date d'inscription
jeudi 25 novembre 2004
Statut
Membre
Dernière intervention
13 novembre 2006

Merci Eric TETZ, merci GoldenEye.

Ce source m'a permis d'aller plus loin et de réécrire une bonne partie des fonctions conio, afin de pouvoir les utiliser avec Dev-C++...

Pour ceux qui sont intéressés : http://www.cppfrance.com/code.aspx?ID=27899

@+
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
5
C'est vrai que la matrice n'est pas très bien imité mais là tu T vraiment planté de sujet !!

Et au fait pour ce tuto changer la couleur du texte c'est en-dessous et à la place la c'est changer la couleur du fond d'écran


---------------------------------------------------
Extrait :

void textbackground( int newcolor ) // Change la couleur du texte
{
fgcolor = newcolor;
SetConsoleTextAttribute (STDOUT, fgcolor | bgcolor);
}

void textcolor( int newcolor )
{
bgcolor = newcolor << 4;
SetConsoleTextAttribute (STDOUT, fgcolor | bgcolor);
}


_______________________________________
Extrait corrigé :

void textbackground( int newcolor ) // Change la couleur du fond d'écran
{
fgcolor = newcolor;
SetConsoleTextAttribute (STDOUT, fgcolor | bgcolor);
}

void textcolor( int newcolor )// Change la couleur du texte
{
bgcolor = newcolor << 4;
SetConsoleTextAttribute (STDOUT, fgcolor | bgcolor);
}


---------------------------------------------------

Coasne Victor, webmaster du site www.jscv.com
Afficher les 10 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.