Mylib.h est une librairie contenant les fichiers includes nécéssaires

Contenu du snippet

Pour ne plus m'encombrer avec les includes j'ai créer une
librairie Mylib.h personnalisée que je réenrichi
au fur et à mesure de mes programmations.

Source / Exemple :


/* Mylib.h --- MARTENS -- Version du 22-03-2002 */

   #define MAX_CAR   175
  #define DERNIERE_LIGNE 25
  #ifdef F1
     #error les symboles F1 à F10, HOME, END et ESC font partie de MYLIB.H
  #endif
  enum {LOW_VALUE=0x00, HOME, END, FLECHE_G, FLECHE_D, DEL, FLECHE_H=23, FLECHE_B,
        ENTER=0xD, ESC=0x1B,  F1=176, F2, F3, F4, F5, F6, F7, F8, F9, F10};
  #define INVERSE   0
  #define SOULIGNE  1
  #define HIGHLIGHT 3
  #define LOWLIGHT  4
  #define BIP_SONORE 5
  enum { NOIR = 0,BLEU=1, VERT=2, CYAN=3, ROUGE=4, MAUVE=5, JAUNE=6, BLANC=7};
  #define blank  ' '
  #define blank0 '\0'
  #define barre '/'
  #define TRUE 1
  #define FALSE 0

  typedef struct{
     int debut;
     int fin;
  }Split; 
  
  typedef struct{
    int jour;
    int mois;
    int annee;  
  } ddate;

  void randomize ();
  void gotoxy         (int x, int y);
  void Text_Color     (short int avant_plan,short int arriere_plan);
  void Get_Color_Text (int *color);
  struct tm gettime ();
  void colorie_nombre (const double nombre,int avant_plan,int arriere_plan,int ligne,int col,int longueur,int fract);
  void colorie_texte  (const char *chaine, int avant_plan,int arriere_plan,int ligne,int col);
  void mycls  (int arriere_plan);
  void mycls2 (int avant_plan, int arriere_plan);
  void lower_texte (char * chaine);
  char *upper_texte (char *);
  void myclrscr();

  void randomize(){
    srand (time (NULL));
  }

  void gotoxy(int x, int y){
    COORD CO;
    CO.X = x - 1;
    CO.Y = y - 1;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),CO);
  }//end procedure

  void Text_Color(short int avant_plan,short int arriere_plan){
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),(unsigned short int)( avant_plan + (arriere_plan * 16)));
  }//end procedure

  void myclrscr(){
    system("cls");
  }//end procedure

  void Get_Color_Text(int *color){
    CONSOLE_SCREEN_BUFFER_INFO Text_Attibutes;
    GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &Text_Attibutes);

  • color = Text_Attibutes.wAttributes;
}//end void struct tm gettime (){ time_t ltime ; ltime = time (NULL); return (*localtime(&ltime)); }//end struc void mycls (int arriere_plan){ int Ta_couleur[] = {15, 31, 47, 63, 79, 95, 224, 240}; unsigned long x; COORD CO = {0, 0}; FillConsoleOutputAttribute(GetStdHandle(STD_OUTPUT_HANDLE), (WORD)Ta_couleur [arriere_plan],2000,CO,&x); FillConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE), 0x20,2000,CO,&x); }//end void void mycls2 (int avant_plan, int arriere_plan){ unsigned long x; COORD CO = {0, 0}; FillConsoleOutputAttribute(GetStdHandle(STD_OUTPUT_HANDLE), (WORD)( avant_plan + arriere_plan * 16),2000,CO,&x); FillConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE), 0x20,2000,CO,&x); }//end void void colorie_texte (const char *chaine, int avant_plan, int arriere_plan, int ligne, int col){ int color_depart; //Get de la couleur initiale Get_Color_Text(&color_depart); //etablissement de la couleur du texte A afficher textcolor(avant_plan); textbackground(arriere_plan); gotoxy(ligne, col); cprintf( "%s", chaine ); //retablissement de la couleur initiale SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),(unsigned short) color_depart); }//end void void colorie_nombre (const double nombre, int avant_plan, int arriere_plan, int ligne, int col, int longueur, int frac){ int color_depart; Get_Color_Text(&color_depart); Text_Color((short int)avant_plan, (short int)arriere_plan); gotoxy(ligne, col); printf ("%*.*f", longueur, frac, nombre ); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),(unsigned short int) color_depart); }//end void void lower_texte (char * chaine){ int i; for (i = 0; chaine [i] != '\0'; i++) chaine [i] = tolower (chaine[i]); }//end void char * upper_texte (char * chaine){ int i; for (i = 0; chaine [i] != '\0'; i++) chaine [i] = toupper (chaine[i]) ;//end for return chaine; }//end function

Conclusion :


Vous pouvez vous-même compléter ce fichier ou le modifier
suivant vos besoin avec d'autre fichiers Include de référence
suivant les codes que vous programmez.

A voir également

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.