EFFACER L'ECRAN AVEC DES EFFETS
DU HAUT VERS LE BAS ET INVERSEMENT DROITE-GAUCHE GAUCHE-DROITE ET D'AUTRES
SANS LE TRADITIONNEL clrscr();
Source / Exemple :
// PROGRAMME EN C SOUS DOS TURBO C++ BORLAND
// ecrit le 09-04-2002 par cmarsc
// EFFACER ECRAN
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
// remplace delay si non disponible dans votre bibliotheque
void ralentir(void);
void effacer_ecran_haut_bas(void);
void effacer_ecran_bas_haut(void);
void effacer_ecran_droite_gauche(void);
void effacer_ecran_gauche_droite(void);
void effacer_ecran_50_50(void);
void effacer_ecran_evacuer_vers_haut(void);
int main(void) {
char votre_choix;
_setcursortype(_NOCURSOR); // supprimer le curseur clignotant
textcolor(15);
while(1) { // TAPER ESC POUR SORTIR
sleep(1);
// ecran de depart
textbackground(CYAN); // fond vert
clrscr(); // effacer ecran
textcolor(YELLOW); // texte jaune
gotoxy(15,12);
cprintf("TAPER UN CHIFFRE ENTRE 1 et 6 ESC pour sortir ");
votre_choix = getch();
switch (votre_choix) {
case '1' :
effacer_ecran_haut_bas();
break;
case '2':
effacer_ecran_bas_haut();
break;
case '3':
effacer_ecran_droite_gauche();
break;
case '4':
effacer_ecran_gauche_droite();
break;
case '5':
effacer_ecran_50_50();
break;
case '6':
effacer_ecran_evacuer_vers_haut();
break;
case 27: exit(0); // sortir du programme
break;
default:
break;
}
} // fin de while(1)
// return 0;
} // fin de main
void ralentir(void) {
int i0;
for (i0 = 0; i0 < 1500; i0++){
gotoxy(1,1);
cputs("");
}
return;
}
void effacer_ecran_haut_bas(void) {
int i1;
textbackground(BLACK);
for (i1 = 0; i1 <= 24; i1++){
gotoxy(1,1+i1);
cprintf("%80c",'\0');
ralentir();
}
return;
}
void effacer_ecran_bas_haut(void) {
int i1;
textbackground(BLACK);
for (i1 = 0; i1 <= 24; i1++){
gotoxy(1,25-i1);
cprintf("%80c",'\0');
ralentir();
}
return;
}
void effacer_ecran_droite_gauche(void) {
int i1, i2;
textbackground(BLACK);
for (i1 = 80; i1 > 0; i1--){
for (i2 = 0; i2 <= 25; i2++){
gotoxy(i1,1+i2);
cprintf("%1c",'\0');
}
ralentir();
}
return;
}
void effacer_ecran_gauche_droite(void) {
int i1, i2;
textbackground(BLACK);
for (i1 = 0; i1 <= 80; ++i1){
for (i2 = 0; i2 <=25; i2++){
gotoxy(1+i1,1+i2);
cprintf("%1c",'\0');
}
ralentir();
}
return ;
}
void effacer_ecran_50_50(void) {
int i1;
textbackground(BLACK);
// effacer la 25 eme ligne
gotoxy(1,25); cprintf("%80c",'\0');
for (i1 = 0; i1 <= 12; ++i1){
// effacer le haut en descendant
gotoxy(1,1+i1);
cprintf("%80c",'\0');
// effacer le bas en remontant
gotoxy(1,24-i1);
cprintf("%80c",'\0');
ralentir();
}
return ;
}
void effacer_ecran_evacuer_vers_haut(void) {
int i1;
textbackground(BLACK);
for (i1 = 0; i1 <= 32; ++i1){
gotoxy(1,25);
cprintf("\n ");
ralentir();
}
return ;
}
Conclusion :
// PROGRAMME EN C SOUS DOS TURBO C++ BORLAND
// ecrit le 09-04-2002 par cmarsc
// EFFACER ECRAN
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.