Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

[VC++] LIBRAIRIE CONIO.H


Information sur la source

Catégorie :Graphique Niveau : Débutant Date de création : 24/09/2001 Date de mise à jour : 08/03/2002 11:08:35 Vu : 28 203

Note :
8,89 / 10 - par 18 personnes
8,89 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

Description

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

  • // 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 */
// 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  
 

Commentaires et avis

signaler à un administrateur
Commentaire de wallen73 le 20/03/2003 11:53:06

Tu oses appeler ça un programme ? Et c'est sensé imiter la matrice ? Laisse-moi rire, je suis persuadé que même mon cochon d'inde fait mieux les yeux bandés...

signaler à un administrateur
Commentaire de GoldenEye le 20/03/2003 14:09:01

Tu m'expliques un peu ? Parce que là, je pige pas trop. Imiter la matrice de quoi ? econio n'utilise pas de matrice ?
Je suis désolé mais tu dois faire erreur sur la personne/le code

signaler à un administrateur
Commentaire de melkiorlenecrarque le 10/07/2003 11:56:46

salut

euh...simple question: tu n'auré pa inversé textcolor et textbackground parce moi j'utilise cette classe sous VC++ pour pallier les pb de conio.h mais quand je change le parametre de textcolor c'est le fond qui change et vice-versa. Vu le nom des fonctions C pa trés logique mais bon je suis débutant et je dit pe etre n'importe koi???!!!
tient moi au courant et si ya un pb propose une mise a jour
de plus tu devré proposer la source en ZIP en séparant econio.h et econio.cpp comme ca ya pu ka utilisé
# include &lt;econio.cpp&gt;
pour utilisé les fonctions! sinon la compliation plante
et C pa évident pour un débutant!
tient moi au courant!

signaler à un administrateur
Commentaire de wallen73 le 10/07/2003 12:10:28

euh oui désolé, je me suis trompé de code, j'espère que tu m'en veux pas trop

signaler à un administrateur
Commentaire de muby le 02/12/2003 23:02:00

j'aimerai avoir de plus ample info car je n'arrive pas a faire marcher les econio.h ou .c ... je comprend pas tout ... merci d'avance ... (muby53@hotmail.com)

signaler à un administrateur
Commentaire de victorcoasne le 22/04/2004 11:03: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 &lt;&lt; 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 &lt;&lt; 4;
     SetConsoleTextAttribute (STDOUT, fgcolor | bgcolor);
     }


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

Coasne Victor, webmaster du site www.jscv.com

signaler à un administrateur
Commentaire de ProfGEII37 le 07/12/2004 17:06:05

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

@+

signaler à un administrateur
Commentaire de abys28 le 29/12/2004 23:06:31

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;

signaler à un administrateur
Commentaire de soldier8514 le 20/04/2005 15:15:05

super pratique pour le mode console !!!!!!!! merci !!!

signaler à un administrateur
Commentaire de smaeil le 11/05/2005 13:37:49

Super tous tes tutorial. J'ai consulté celui de fenêtres en mode console win32 aussi.
Merci pour ce que tu fais.
A+

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.