EFFET DE TEXTE VERTICAL
Source / Exemple :
// PROGRAMME EN C SOUS DOS TURBO C++ BORLAND
// ecrit le 15-04-2002 par cmarsc
// EFFET DE TEXTE VERTICAL
#include <stdio.h>
#include <string.h>
#include <conio.h> // <conio.c> devc++4
/* mettre 50 pour devc++4 */
#define VITESSE_D_AFFICHAGE 300
// remplace delay si non disponible dans votre bibliotheque
void ralentir(void);
void effacer_ecran(void);
void effet_droite_gauche_retour(int col_depart, int col_fin,int ligne);
char *menu[] = {
"FILE",
"EDIT",
"SEARCH",
"RUN",
"COMPILE",
"DEBUG",
"PROJECT",
"OPTIONS",
"WINDOW",
"HELP"
};
int main(void) {
//textbackground(CYAN); // fond vert
clrscr(); // effacer ecran
_setcursortype(_NOCURSOR); // supprimer le curseur clignotant
gotoxy(30,25);
textcolor(YELLOW);
cprintf(" ESC pour sortir ");
textcolor(10);
do { // TAPER ESC POUR SORTIR
ralentir(); // temps d'attente
effacer_ecran();
// col_depart = 79 col_fin = 10 ligne = 3
effet_droite_gauche_retour(79,10,5);
} 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');
}
return;
}
void effacer_ecran(void) {
int i1;
for (i1 = 0; i1 < 23; i1++){
gotoxy(1,1+i1);
cprintf("%79c",'\0');
}
return;
}
void effet_droite_gauche_retour(int col_depart, int col_fin,int ligne) {
int i1, i2,i3,long_ligne;
// nbre d'element dans le menu
int max_menu = sizeof(menu) / sizeof(menu[0]);
for (i1 = 0; i1 < max_menu; ++i1) {
// longueur de la ligne
long_ligne = strlen(menu[i1]);
// aller de la droite vers la gauche
for (i2 = 0; ( col_depart - long_ligne ) - i2 > col_fin ; ++i2) {
gotoxy( ( col_depart - long_ligne) - i2 ,ligne+i1);
cprintf("%s ",menu[i1]);
ralentir(); // ralentir l'effet
}
// retour vers la droite de 25 colonnes
for (i3 = 0; i3 < 25 ; ++i3) {
gotoxy( ( col_depart - long_ligne) - i2 + i3 ,ligne+i1);
cprintf(" %s",menu[i1]);
ralentir(); // ralentir l'effet
}
}
return ;
} // fin de la fonction : effet_droite_gauche_retour
Conclusion :
// PROGRAMME EN C SOUS DOS TURBO C++ DEVC++4
// ecrit le 15-04-2002 par cmarsc
// EFFET DE TEXTE VERTICAL ...
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.