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:?
Version imprimable
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 queCode:
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.
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 ;)
Ne peut on pas y arriver avec un \r :
Et il suffit de boucler :)Code:
1
2
3
4
5
6
7 int main() { fprintf(stdout,"\rMon message"); // On affiche fprintf(stdout,"\r "); // On efface return 0; }
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 ?!