Bonsoir à tous,
je suis débutant et je voudrais savoir si quelqu'un saurait comment faire pour obtenir du texte clignotant dans une fenêtre DOS ?
Bonsoir à tous,
je suis débutant et je voudrais savoir si quelqu'un saurait comment faire pour obtenir du texte clignotant dans une fenêtre DOS ?
Alors il faut associer :
- un printf("blabla")
- une tempo que tu peux obtenir dans une bibliothèque (facile à trouver il faut juste chercher... )
- tu effaces l'écran
- une deuxième tempo
et tout ça dans une boucle while...
Bonsoir , je sais que cela est possible sous linux
notament de la maniere suivante
Sinon pour windows je ne sais pas trop désolé :]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #define couleur(param) printf("\033[%sm",param) main() { couleur("5");printf("Ce texte clignote");couleur("0"); }
Salut,
Si tu code ton application uniquement sous DOS, et qu'il n'est pas prévu de le porter sous console "ansi compliant", tu peux te tourner vers la bibliotheque conio, s'il est disponible sous ton EDI (cherche conio2 si tu utilises dev-cpp ou code::blocks)
Tu disposera alors de 255 couleurs (en fait, de 16 couleurs pour l'affichage et 16 pour le fond), dont les 8 dernières couleurs de fond seront clignotantes, mais, uniquement si ta ligne de commande n'est pas en "mode fenetré" (<ALT>+<ENTER> pour passer en mode fenetré<-->plein écran )
Mais, il faut bien etre conscient que ce n'est pas portable... sous linux, il y a moyen d'utiliser des séquence d'échapement ANSI, et, si la portabilité est importante, tu peux te tourner vers des bibliotheques telles que ncurses et dérivées
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
merci, mais connais-tu la commande à utiliser avec le conio ?!
J'utilise en effet DevC++
de tete, textattr(0x00->0xFF), textbackground(0x0->0xF, ou 0x8->0xF clignotent) et textcolor(0x0->0xF)
En gros, les la couleur de textattr tient sur un octet, dont les quatre bits de poids fort représente le fond (toujours selon le meme principe ) et les quatre bits de poids faible représentent la couleur de l'écriture
Il n'est pas impossible qu'il faille avec l'une ou l'autre de ces instructions utiliser cprintf (meme synthaxe que printf) pour qu'effectivement la couleur soit prise en compte
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
Pourquoi des valeurs bizarres ? Utiliser BLINK, c'est fait pour.Envoyé par koala01
(TurboC / Borland C)
Non vérifié, je n'ai plus de Borland C sous la main
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #include <conio.h> int main (void) { textbackground (RED); textcolor (WHITE | BLINK); cprintf ("All hands, battle station !"); return 0; }
Attention, pas de BLINK avec le CONIO de MinGW.
Pas de Wi-Fi à la maison : CPL
Marche pas avec DevC++ en effet, cepedant la compilation se fait sans problème :/
j'ai trouvé cette source:
mais qui n'a pas l'air de marcher chez moi, le compilateur ou l'IDE peut y être pour quelque chose ?!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #include <conio.h> int main () { clrscr (); textbackground (GREEN); textcolor (RED); cprintf ("Coucou"); getch (); }
Avec Dev-C++ ou Code::Blocks :Envoyé par GouKen
Code : Sélectionner tout - Visualiser dans une fenêtre à part #include <conio2.h>
Pas de Wi-Fi à la maison : CPL
BLINK, RED GREEN BLACK et consors ne sont, finalement, que des alias sur les valeurs correspondantes...
Et BLINK, en l'occurence, force tout simplement le bit de poids fort à 1, forcant de facto la fourchette de valeurs entre 128(0x80) et 255 (0xFF) ...
Voilà le pourquoi des valeurs fournises
Gouken=> As tu percuté sur le fait que tu n'auras l'effet clignotant, sous XP, que si ta ligne de commande est en plein écran (il faut utiliser la combinaison des touches <ALT>+<ENTER> pour basculer mode fenetré<-->mode plein écran)
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
oui j'ai essayé en plein écran et ça n'y fait rien :/ j'ai le texte affiché mais qui ne clignote pas :s
conio2.h ne semble pas être ds la lib :sAvec Dev-C++ ou Code::Blocks :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 #include <conio2.h>
C'est quoi ce charabia ?Envoyé par GouKen
<conio2.h> est un header (fichier d'entête) livré avec CONIO, qui le portage partiel pour MinGW (Minimalist gcc for Windows) de la bibliothèque conio de Borland.
Celle-ci est disponible sous la forme d'un devPak que l'on peut télécharger et installer à partir de Dev-C++ et Code::Blocks (normal, ils utilisent le même compilateur par défaut, à savoir MinGW).
Pas de Wi-Fi à la maison : CPL
J'ai installé le CONIO DevPack mais lorsque je compile j'ai une erreur :
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:30: error: conflicting types for 'BLACK'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:25: error: previous definition of 'BLACK' was here
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:31: error: conflicting types for 'BLUE'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:26: error: previous definition of 'BLUE' was here
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:32: error: conflicting types for 'GREEN'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:27: error: previous definition of 'GREEN' was here
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:33: error: conflicting types for 'CYAN'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:28: error: previous definition of 'CYAN' was here
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:34: error: conflicting types for 'RED'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:29: error: previous definition of 'RED' was here
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:35: error: conflicting types for 'MAGENTA'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:30: error: previous definition of 'MAGENTA' was here
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:36: error: conflicting types for 'BROWN'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:31: error: previous definition of 'BROWN' was here
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:37: error: conflicting types for 'LIGHTGRAY'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:32: error: previous definition of 'LIGHTGRAY' was here
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:38: error: conflicting types for 'DARKGRAY'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:33: error: previous definition of 'DARKGRAY' was here
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:39: error: conflicting types for 'LIGHTBLUE'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:34: error: previous definition of 'LIGHTBLUE' was here
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:40: error: conflicting types for 'LIGHTGREEN'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:35: error: previous definition of 'LIGHTGREEN' was here
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:41: error: conflicting types for 'LIGHTCYAN'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:36: error: previous definition of 'LIGHTCYAN' was here
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:42: error: conflicting types for 'LIGHTRED'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:37: error: previous definition of 'LIGHTRED' was here
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:43: error: conflicting types for 'LIGHTMAGENTA'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:38: error: previous definition of 'LIGHTMAGENTA' was here
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:44: error: conflicting types for 'YELLOW'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:39: error: previous definition of 'YELLOW' was here
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:46: error: conflicting types for 'WHITE'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:41: error: previous definition of 'WHITE' was here
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:46: error: conflicting types for 'COLORS'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:41: error: previous declaration of 'COLORS' was here
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:176: error: conflicting types for '_conio_gettext'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:56: error: previous declaration of '_conio_gettext' was here
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:176: error: conflicting types for '_conio_gettext'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:56: error: previous declaration of '_conio_gettext' was here
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:189: error: conflicting types for 'puttext'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:72: error: previous declaration of 'puttext' was here
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:189: error: conflicting types for 'puttext'
D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio.h:72: error: previous declaration of 'puttext' was here
Exécution terminée
que dois-je faire ?
Il faut inclure uniquement <conio2.h> et pas <conio.h>. On est bien d'accord ?Envoyé par GouKen
Pas de Wi-Fi à la maison : CPL
et pourquoi pas simplement jouer avec un printf("\r"); et sleep?
je pose la question betement, vut que personne en as parlé, je me dis que y'as ptetre un truc qui m'echappe ... me semble que ça marche sous dos.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main () { int i; for (i = 0; i < 10; i++) { printf ("\rhello !"); fflush (stdout); sleep (1); printf ("\rWorld !"); fflush (stdout); sleep (1); } printf ("\n"); return EXIT_SUCCESS; }
click my www
............|___
...................\
.................._|_
..................\ /
..................."
ouais c'est ce que j'avais fait :/Envoyé par Emmanuel Delahaye
sinon ton truc Dark_Ebola marche pas mal
Ben... l'avantage de conio c'est que c'est la carte graphique qui s'en occupe. Ça permet d'afficher d'autres textes pendant que le premier continue de clignoter sans avoir à rafraichir l'écran toutes les deux secondes...
Pour une fois que le matériel du pc peut faire quelque chose à ta place c'est mieux d'en profiter ...
bien oauis mais ça marche pas
sinon quelqu'un sait comment je peux faire pour que si l'utililsateur clique sur Entrée à tout moment, ça passe à la page suivante ? j'ai essayé ceci mais ça ne marche pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 for(t = 0 ; t < 250000000 ; t++) { gotoxy(15,30); printf ("\rAppuyez sur Entree pour continuer !"); fflush (stdout); sleep (500); gotoxy(15,30); printf ("\r "); fflush (stdout); sleep (500); do { clavier = getch(); } while (clavier != 13); }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager