bonjour
j'ai une question a vous posez:
comment puis_je realiser une chaine de caractére qui clignote en mode console :o ?
merci d'avoir la gentillesse de repondre![]()
bonjour
j'ai une question a vous posez:
comment puis_je realiser une chaine de caractére qui clignote en mode console :o ?
merci d'avoir la gentillesse de repondre![]()
Pour faire clignoter une chaîne de caractère String sur console, il suffit juste d’effacer et de faire réapparaître la ligne désirée à l’endroit désiré avec un temps choisi.
Chemin de recherche :
- Utilisation de gotoxy (option optionnelle suivant le cas)
- Utilisation de la fonction clrscr() ou System("clear ")
- Utilisation de Sleep() ou autre suivant ton cas.
Si tu penses que le terminal que ton programme sera toujours "de type unix", tu as une autre solution.
Fait une recherche google de "terminal escape sequence" par exemple. Cela te permettra de réaliser plein d'effets chouette.
Pour ton clignotement par exemple, cela peut être aussi simple que
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #include <stdio.h> int main(int argc, char **argv) { fprintf(stdout, "\x1B[5mHello world\x1B[0m\n"); return 0; }
Bonjour,
Moi je propose d'utilser ncurses (ou son portage pdcurses) qui est une bibliothèque permettant de faire de belle interface dans la console et apporte donc plein de fonctionnalités pour ce genre de besoin.
Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi
Ma page sur DVP
Mon Portfolio
Qui connaît l'erreur, connaît la solution.
Sauf que, gotoxy() vient de conio.h, si je ne me trompe pas. conio.h n'a jamais été normalisé et n'est pas supporté sur une plateforme telle que Linux. Du coup, je continue à croire qu'il est préférable d'utiliser ncurses / pdcurses, mais bon, cela dépend des besoins![]()
Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi
Ma page sur DVP
Mon Portfolio
Qui connaît l'erreur, connaît la solution.
Ne peut on pas y arriver avec un \r :
Et il suffit de boucler
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 int main() { fprintf(stdout,"\rMon message"); // On affiche fprintf(stdout,"\r "); // On efface return 0; }![]()
Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi
Ma page sur DVP
Mon Portfolio
Qui connaît l'erreur, connaît la solution.
salut !
ça va un peu vite, il faut temporiser ...
dommage que ce soit bloquant. dommage aussi que, sous windows, la console ne soit pas ansi , et que le sreen buffer ne gère pas l'attibut blink comme le faisait dos ...
peut-être que, en utilisant un timer, on peut éviter de rendre l'affichage bloquant.
je reviendrai quand ce sera clair pour moi ...
A+
sous windows : c'est faisable, mais ce n'est pas facile.
une source de renseignements MSDN.
Console Functions: manipuler screen buffer pour cacher/montrer texte.mais c'est pour windows seulement. ne cherchez pas la portabilité ici.
Timer Queues: pour rendre non-bloquante la routine cacher/montrer.
A+
y a aussi la solution assembleur avec appel au Bios ou int21h
je ne crois pas qu'on puisse appeler, sans risque, le bios dans une console windows. mais bien sûr en bootant sous dos 6, pourquoi pas !
A+
yes !! pourquoi pas ?!
Partager