- // 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
// 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