FAIRE APPARAITRE LE TEXTE ET LE FAIRE DISPARAITRE
Source / Exemple :
// PROGRAMME EN C SOUS DOS TURBO C++2 devc++4
// ecrit le 18-04-2002 par cmarsc
// effet_aller_retour du texte
#include <stdio.h>
#include <string.h>
#include <conio.h> // <conio.c> devc++4
/* mettre 300 pour devc++4 */
#define VITESSE_D_AFFICHAGE 1500
#define KEY_ESC 27 /* touche ESC */
/* peut etre remplacee par sleep ou delay */
void ralentir(void);
void effet_aller_retour(int col_depart,int col_fin, int ligne_depart);
char *menu[] = {
"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿",
"³ 1 Descendre le texte....................³",
"³ 2 Monter le texte.......................³",
"³ 3 Aller de gauche a droite..............³",
"³ 4 Aller de droite a gauche..............³",
"³ 5 Diagonale haut gauche vers bas droit..³",
"³ 6 Diagonale haut droit vers bas gauche..³",
"³ 7 Diagonale bas gauche vers haut droit..³",
"³ 8 Diagonale bas droit vers haut gauche..³",
"³ 9 Afficher le menu principal............³",
"ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´",
"³ ESC FIN DU PROGRAMME....................³",
"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ"
};
int main(void) {
//textbackground(BLACK); // fond noir
clrscr();
// supprimer le curseur clignotant
_setcursortype(_NOCURSOR);
textcolor(LIGHTGREEN); // texte vert_claire
gotoxy(1,1);
cprintf(" si c'est trop lent ou trop rapide modifier VITESSE_D_AFFICHAGE");
gotoxy(30, 3);
cprintf("TAPER ESC pour sortir ");
do {
textcolor(LIGHTCYAN); // couleur turquoise
// colonne depart = 37 colonne fin = 15 ligne depart = 4
effet_aller_retour(37,15, 4);
} while (!kbhit());
return 0;
} // fin de main
void ralentir(void) {
int i0;
for (i0 = 0; i0 < VITESSE_D_AFFICHAGE; ++i0) {
gotoxy(1,1);
cprintf("%1c",'\0');
}
} /* fin de ralentir */
void effet_aller_retour(int col_depart,int col_fin, int ligne_depart) {
int i1, i2;
// nbre d'element dans le menu
int max_menu = sizeof(menu) / sizeof(menu[0]);
// faire sortir le menu vers la droite
for (i2 = 0; i2 <= strlen(menu[0]) ; ++i2) {
for (i1 = 0; i1 < max_menu ; ++i1) {
gotoxy(col_depart,ligne_depart + i1 );
cprintf( "%1s", strlen(menu[i1])+ menu[i1] -i2);
}
ralentir(); // ralentir l'effet
}
ralentir(); // temps d'attente
// deplacer le menu vers la gauche
for (i2 = 0; col_depart-i2 >= col_fin ; ++i2) {
for (i1 = 0; i1 < max_menu ; ++i1) {
gotoxy(col_depart-i2,ligne_depart + i1 );
cprintf( "%1s ", menu[i1] );
}
ralentir(); // ralentir l'effet
}
ralentir(); // temps d'attente
// faire repartir le menu
for (i2 = 0; i2 <= strlen(menu[0]) ; ++i2) {
for (i1 = 0; i1 < max_menu ; ++i1) {
gotoxy(col_fin ,ligne_depart + i1 );
cprintf("%s ",menu[i1] + i2);
}
ralentir(); // ralentir l'effet
}
return ;
} // fin de la fonction effet_aller_retour
Conclusion :
// PROGRAMME EN C SOUS DOS TURBO C++2 devc++4
// ecrit le 18-04-2002 par cmarsc
// effet_aller_retour du texte
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.