[vc++] librairie conio.h

Soyez le premier à donner votre avis sur cette source.

Snippet vu 37 594 fois - Téléchargée 40 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
smaeil Messages postés 4 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 13 juillet 2009
11 mai 2005 à 13:37
Super tous tes tutorial. J'ai consulté celui de fenêtres en mode console win32 aussi.
Merci pour ce que tu fais.
A+
soldier8514 Messages postés 295 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 24 janvier 2014 1
20 avril 2005 à 15:15
super pratique pour le mode console !!!!!!!! merci !!!
abys28 Messages postés 2 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 30 décembre 2004
29 déc. 2004 à 23:06
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;
ProfGEII37 Messages postés 5 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 13 novembre 2006
7 déc. 2004 à 17:06
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

@+
victorcoasne Messages postés 1100 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 17 octobre 2012 7
22 avril 2004 à 11:03
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.