[vc++] librairie conio.h

Soyez le premier à donner votre avis sur cette source.

Snippet vu 35 459 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

wallen73
Messages postés
7
Date d'inscription
mercredi 28 novembre 2001
Statut
Membre
Dernière intervention
1 juillet 2005
-
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...
cs_GoldenEye
Messages postés
527
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
6 octobre 2008
2 -
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
melkiorlenecrarque
Messages postés
97
Date d'inscription
dimanche 6 juillet 2003
Statut
Membre
Dernière intervention
20 janvier 2008
-
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 <econio.cpp>
pour utilisé les fonctions! sinon la compliation plante
et C pa évident pour un débutant!
tient moi au courant!
wallen73
Messages postés
7
Date d'inscription
mercredi 28 novembre 2001
Statut
Membre
Dernière intervention
1 juillet 2005
-
euh oui désolé, je me suis trompé de code, j'espère que tu m'en veux pas trop
muby
Messages postés
2
Date d'inscription
mardi 17 juin 2003
Statut
Membre
Dernière intervention
12 janvier 2004
-
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)

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.