Accueil > > > EFFETS D'AFFICHAGES 1 MODE GRAPHIQUE DOS TURBO C++2
EFFETS D'AFFICHAGES 1 MODE GRAPHIQUE DOS TURBO C++2
Information sur la source
Description
Source
- // PROGRAMME EN C SOUS DOS TURBO C++2 BORLAND
- // ecrit le 18-06-2002 par cmarsc
- // EFFETS D'AFFICHAGES MODE GRAPHIQUE
-
-
- #include <graphics.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <conio.h>
- #include <dos.h>
-
- #define FOND_ECRAN BLACK
-
- int initialiser_mode_graphique (void);
-
- void entree_clavier (void);
- void box(int x1, int y1,int x2, int y2, int coul_fond,int coul_bord);
- void message (int x1, int y1, int coul_texte,char *texte, int taille_texte);
-
- void effet_cadre1 (int x1, int y1,int x2, int y2, int couleur);
- void effet_cadre2 (int x1, int y1,int x2, int y2, int couleur);
- void effet_cadre3 (int x1, int y1,int x2, int y2, int couleur);
- void effet_cadre4 (int x1, int y1,int x2, int y2, int couleur);
- void effet_cadre5 (int x1, int y1,int x2, int y2, int couleur);
-
-
- int main(void)
- {
-
- initialiser_mode_graphique();
-
- // cadre vert haut
-
- // x1 = 1 y1 = 1 x2 = max y2 = 30 coul_fond rouge coul_bord violet
- box(1,1, getmaxx(), 30, 1 , LIGHTBLUE);
-
-
- // x1 = 10 y1 = 3 coul_fond = vert texte taille_texte = 7
- message(10,3, LIGHTCYAN, "ENTREZ UN CHIFFRE ENTRE 1 ET 5", 7);
- message(505,3, LIGHTRED, "ESC QUITTER", 7);
-
- // grand cadre noir avec un bord violet
- box(1,35, getmaxx(), getmaxy(), FOND_ECRAN,LIGHTBLUE);
-
- entree_clavier();
- return 0;
- }
-
- int initialiser_mode_graphique(void) {
-
- // detection automatique du mode video
- int gdriver = DETECT, gmode, errorcode;
-
- // initialiser le mode graphique
- initgraph(&gdriver, &gmode, "c:\\tc\\bgi");
-
- errorcode = graphresult();
-
- // tester si une erreur se produit
- if (errorcode != grOk)
- {
- printf("ERREUR : %s\n", grapherrormsg(errorcode));
- printf("Appuyez sur une touche :");
- getch();
- exit(1);
- }
-
- return 0;
-
- } // fin de la fonction initialiser_mode_graphique
-
-
- void box(int x1, int y1,int x2, int y2, int coul_fond,int coul_bord) {
-
- int i1;
- // rectangle en couleur
- setfillstyle(SOLID_FILL,coul_fond);
- bar (x1, y1, x2, y2);
-
- setcolor(coul_bord);
- // dessiner un rectangle avec un effet de relief 3
- for (i1 = 0; i1 < 3; i1++) {
- rectangle (x1+i1, y1+i1, x2-i1 , y2-i1);
- }
-
- setcolor(WHITE);
- // cadre blanc
- rectangle (x1+1, y1+1, x2-1, y2-1);
-
- return ;
- } // fin de la fonction box
-
-
- void message(int x1, int y1, int coul_texte, char *texte, int taille_texte) {
-
- // afficher un message avec differentes tailles
- // de caracteres
- int i;
- settextstyle(SMALL_FONT, HORIZ_DIR,taille_texte);
-
- // faire un effet d'ombre
- setcolor(BLACK);
- for (i = 0; i< 4;i++) {
- outtextxy(x1+ 1, y1 + i, texte);
- }
-
- // texte en avant plan
- setcolor(coul_texte);
- outtextxy(x1,y1, texte);
-
- return ;
- }
-
- void entree_clavier(void) {
-
- char votre_choix;
- while(1) { // TAPER ESC POUR SORTIR
-
- votre_choix = getch();
-
- switch (votre_choix) {
- case '1':
-
- // x1 = 50 y1 = 45 x2 = 600 y2 = 450 couleur = vert
- effet_cadre1(50, 45,600, 450, CYAN);
- sleep(1); // effacer avec le meme effet
- effet_cadre1(50, 45,600, 450, FOND_ECRAN);
- break;
-
- case '2':
-
- // x1 = 10 y1 =105 x2 = 500 y2 = 450 couleur = rouge vif
- effet_cadre2(10,105,500,450, LIGHTRED);
- sleep(1); // effacer avec le meme effet
- effet_cadre2(10,105,500,450, FOND_ECRAN);
- break;
-
- case '3':
-
- // x1 = 105 y1 = 75 x2 = 500 y2 = 450 couleur = vert
- effet_cadre3(105, 75, 500, 450, GREEN);
- sleep(1); // effacer avec le meme effet
- effet_cadre3(105, 75, 500, 450, FOND_ECRAN);
- break;
-
- case '4':
-
- // x1 = 150 y1 = 45 x2 = 600 y2 = 400 couleur = jaune
- effet_cadre4(150,145, 600, 400, YELLOW);
- sleep(1); // effacer avec le meme effet
- effet_cadre4(150,145, 600, 400, FOND_ECRAN);
- break;
-
- case '5':
-
- // x1 = 15 y1 = 45 x2 = 630 y2 = 450 couleur = violet
- effet_cadre5(15, 45, 630, 450, LIGHTBLUE);
- sleep(1); // effacer avec le meme effet
- effet_cadre5(15, 45, 630, 450, FOND_ECRAN);
- break;
-
- case 27: // fin du programme
- closegraph(); // fin mode graphique
- exit(0);
- break;
-
- default:
-
- break;
- } // fin de switch
-
-
- } // fin de while(1)
- // return ;
- } // fin de la fonction entree_clavier
-
-
-
- void effet_cadre1(int x1, int y1,int x2, int y2, int couleur) {
-
- // afficher du haut en bas
-
- int i1;
- setcolor(couleur);
- for (i1 = 0; (y1 + i1) <= y2; i1++) {
- rectangle (x1, y1, x2, y1 + i1);
- }
-
- return ;
- } // fin de la fonction effet_cadre1
-
-
- void effet_cadre2(int x1, int y1,int x2, int y2, int couleur) {
-
- // afficher de bas en haut
-
- int i1;
- setcolor(couleur);
- for (i1 = 0; (y2 - i1) >= y1; i1++ ) {
- rectangle (x1, y2 - i1, x2, y2);
- }
-
- return ;
- } // fin de la fonction effet_cadre2
-
- void effet_cadre3(int x1, int y1,int x2, int y2, int couleur) {
-
- // afficher de gauche vers la droite
-
- int i1;
- setcolor(couleur);
- for (i1 = 0; (x1 + i1) <= x2; i1++) {
- rectangle (x1, y1, x1+i1, y2);
- }
-
- return ;
- } // fin de la fonction effet_cadre3
-
-
- void effet_cadre4(int x1, int y1,int x2, int y2, int couleur) {
-
- // afficher de la droite vers la gauche
-
- int i1;
- setcolor(couleur);
- for (i1 = 0; (x2 - i1) >= x1; i1 ++) {
- rectangle (x2 - i1, y1, x2, y2);
- }
-
- return ;
- } // fin de la fonction effet_cadre4
-
-
- void effet_cadre5(int x1, int y1,int x2, int y2, int couleur) {
-
- // afficher du milieu vers les cotes
-
- int i1, i2;
- float milieu_x,milieu_y;
-
- // calculer le centre de la figure
- milieu_x = x1 + ((x2 - x1) / 2);
- milieu_y = y1 + ((y2 - y1) / 2);
-
- setcolor(couleur);
- for (i1 = 0, i2 = 0; (milieu_y+i1 >= y1) && (milieu_x -i2 >= x1); ) {
-
- if (milieu_y -i1 >= y1) i1 ++;
- if (milieu_x -i2 >= x1) i2 ++;
- rectangle (milieu_x-i2, milieu_y -i1, milieu_x + i2 , milieu_y+i1);
- }
-
- return ;
- } // fin de la fonction effet_cadre5
// PROGRAMME EN C SOUS DOS TURBO C++2 BORLAND
// ecrit le 18-06-2002 par cmarsc
// EFFETS D'AFFICHAGES MODE GRAPHIQUE
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#define FOND_ECRAN BLACK
int initialiser_mode_graphique (void);
void entree_clavier (void);
void box(int x1, int y1,int x2, int y2, int coul_fond,int coul_bord);
void message (int x1, int y1, int coul_texte,char *texte, int taille_texte);
void effet_cadre1 (int x1, int y1,int x2, int y2, int couleur);
void effet_cadre2 (int x1, int y1,int x2, int y2, int couleur);
void effet_cadre3 (int x1, int y1,int x2, int y2, int couleur);
void effet_cadre4 (int x1, int y1,int x2, int y2, int couleur);
void effet_cadre5 (int x1, int y1,int x2, int y2, int couleur);
int main(void)
{
initialiser_mode_graphique();
// cadre vert haut
// x1 = 1 y1 = 1 x2 = max y2 = 30 coul_fond rouge coul_bord violet
box(1,1, getmaxx(), 30, 1 , LIGHTBLUE);
// x1 = 10 y1 = 3 coul_fond = vert texte taille_texte = 7
message(10,3, LIGHTCYAN, "ENTREZ UN CHIFFRE ENTRE 1 ET 5", 7);
message(505,3, LIGHTRED, "ESC QUITTER", 7);
// grand cadre noir avec un bord violet
box(1,35, getmaxx(), getmaxy(), FOND_ECRAN,LIGHTBLUE);
entree_clavier();
return 0;
}
int initialiser_mode_graphique(void) {
// detection automatique du mode video
int gdriver = DETECT, gmode, errorcode;
// initialiser le mode graphique
initgraph(&gdriver, &gmode, "c:\\tc\\bgi");
errorcode = graphresult();
// tester si une erreur se produit
if (errorcode != grOk)
{
printf("ERREUR : %s\n", grapherrormsg(errorcode));
printf("Appuyez sur une touche :");
getch();
exit(1);
}
return 0;
} // fin de la fonction initialiser_mode_graphique
void box(int x1, int y1,int x2, int y2, int coul_fond,int coul_bord) {
int i1;
// rectangle en couleur
setfillstyle(SOLID_FILL,coul_fond);
bar (x1, y1, x2, y2);
setcolor(coul_bord);
// dessiner un rectangle avec un effet de relief 3
for (i1 = 0; i1 < 3; i1++) {
rectangle (x1+i1, y1+i1, x2-i1 , y2-i1);
}
setcolor(WHITE);
// cadre blanc
rectangle (x1+1, y1+1, x2-1, y2-1);
return ;
} // fin de la fonction box
void message(int x1, int y1, int coul_texte, char *texte, int taille_texte) {
// afficher un message avec differentes tailles
// de caracteres
int i;
settextstyle(SMALL_FONT, HORIZ_DIR,taille_texte);
// faire un effet d'ombre
setcolor(BLACK);
for (i = 0; i< 4;i++) {
outtextxy(x1+ 1, y1 + i, texte);
}
// texte en avant plan
setcolor(coul_texte);
outtextxy(x1,y1, texte);
return ;
}
void entree_clavier(void) {
char votre_choix;
while(1) { // TAPER ESC POUR SORTIR
votre_choix = getch();
switch (votre_choix) {
case '1':
// x1 = 50 y1 = 45 x2 = 600 y2 = 450 couleur = vert
effet_cadre1(50, 45,600, 450, CYAN);
sleep(1); // effacer avec le meme effet
effet_cadre1(50, 45,600, 450, FOND_ECRAN);
break;
case '2':
// x1 = 10 y1 =105 x2 = 500 y2 = 450 couleur = rouge vif
effet_cadre2(10,105,500,450, LIGHTRED);
sleep(1); // effacer avec le meme effet
effet_cadre2(10,105,500,450, FOND_ECRAN);
break;
case '3':
// x1 = 105 y1 = 75 x2 = 500 y2 = 450 couleur = vert
effet_cadre3(105, 75, 500, 450, GREEN);
sleep(1); // effacer avec le meme effet
effet_cadre3(105, 75, 500, 450, FOND_ECRAN);
break;
case '4':
// x1 = 150 y1 = 45 x2 = 600 y2 = 400 couleur = jaune
effet_cadre4(150,145, 600, 400, YELLOW);
sleep(1); // effacer avec le meme effet
effet_cadre4(150,145, 600, 400, FOND_ECRAN);
break;
case '5':
// x1 = 15 y1 = 45 x2 = 630 y2 = 450 couleur = violet
effet_cadre5(15, 45, 630, 450, LIGHTBLUE);
sleep(1); // effacer avec le meme effet
effet_cadre5(15, 45, 630, 450, FOND_ECRAN);
break;
case 27: // fin du programme
closegraph(); // fin mode graphique
exit(0);
break;
default:
break;
} // fin de switch
} // fin de while(1)
// return ;
} // fin de la fonction entree_clavier
void effet_cadre1(int x1, int y1,int x2, int y2, int couleur) {
// afficher du haut en bas
int i1;
setcolor(couleur);
for (i1 = 0; (y1 + i1) <= y2; i1++) {
rectangle (x1, y1, x2, y1 + i1);
}
return ;
} // fin de la fonction effet_cadre1
void effet_cadre2(int x1, int y1,int x2, int y2, int couleur) {
// afficher de bas en haut
int i1;
setcolor(couleur);
for (i1 = 0; (y2 - i1) >= y1; i1++ ) {
rectangle (x1, y2 - i1, x2, y2);
}
return ;
} // fin de la fonction effet_cadre2
void effet_cadre3(int x1, int y1,int x2, int y2, int couleur) {
// afficher de gauche vers la droite
int i1;
setcolor(couleur);
for (i1 = 0; (x1 + i1) <= x2; i1++) {
rectangle (x1, y1, x1+i1, y2);
}
return ;
} // fin de la fonction effet_cadre3
void effet_cadre4(int x1, int y1,int x2, int y2, int couleur) {
// afficher de la droite vers la gauche
int i1;
setcolor(couleur);
for (i1 = 0; (x2 - i1) >= x1; i1 ++) {
rectangle (x2 - i1, y1, x2, y2);
}
return ;
} // fin de la fonction effet_cadre4
void effet_cadre5(int x1, int y1,int x2, int y2, int couleur) {
// afficher du milieu vers les cotes
int i1, i2;
float milieu_x,milieu_y;
// calculer le centre de la figure
milieu_x = x1 + ((x2 - x1) / 2);
milieu_y = y1 + ((y2 - y1) / 2);
setcolor(couleur);
for (i1 = 0, i2 = 0; (milieu_y+i1 >= y1) && (milieu_x -i2 >= x1); ) {
if (milieu_y -i1 >= y1) i1 ++;
if (milieu_x -i2 >= x1) i2 ++;
rectangle (milieu_x-i2, milieu_y -i1, milieu_x + i2 , milieu_y+i1);
}
return ;
} // fin de la fonction effet_cadre5
Conclusion
// PROGRAMME EN C SOUS DOS TURBO C++2 BORLAND
// ecrit le 18-06-2002 par cmarsc
// EFFETS D'AFFICHAGES MODE GRAPHIQUE
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
MATRICE TEMPLATEMATRICE TEMPLATE par hjr2610
Cliquez pour lire la suite par hjr2610 RE : SAC A DOS RE : SAC A DOS par hadjkaddour
Cliquez pour lire la suite par hadjkaddour
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|