Pour du "à tout moment", on fait généralement une attente semi-active en boucle (une boucle avec des sleep(), quoi) avec un kbhit() dans la boucle pour savoir si oui ou non une touche a été pressée.
Pour du "à tout moment", on fait généralement une attente semi-active en boucle (une boucle avec des sleep(), quoi) avec un kbhit() dans la boucle pour savoir si oui ou non une touche a été pressée.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
je n'ai jamais utilisé kbhit(), tu saurais m'aider à ce sujet ?
Moi non plus.
Mais de mémoire, ça dit si une touche, n'importe laquelle, a été pressée ou non.
Si c'est le cas, le prochain getch() ne sera pas bloquant.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Envoyé par GouKen
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if (kbhit()) { int c = getch(); /* ... */ }
Pas de Wi-Fi à la maison : CPL
tu pourrais me montrer un exemple stp ?!
ton code me dis pas grand chose comme ça
Lit la doc...Envoyé par GouKen
http://conio.sourceforge.net/docs/conio.pdf
Pas de Wi-Fi à la maison : CPL
j'ai trouvé un code ressemblant au mien mais le mien 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
14
15
16 do { 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); } } while (!kbhit());
Tu devrais enlever la boucle for... là il teste le clavier une fois toutes les 25000000 itérations
ah oui en effet, merci =)
par contre j'ai encore un autre problème... je place un _setcursortype(_NOCURSOR) devant et il veut pas me le compiler :/
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
21
22
23
24 #include <stdio.h> #include <stdlib.h> #include <math.h> #include "conio.h" int main(int argc, char *argv[]) { /* ... */ _setcursortype(_NOCURSOR); textcolor(LIGHTRED); do { gotoxy(20,27); printf("Appuyez sur une touche pour continuer !"); fflush(stdout); sleep(500); gotoxy(20,27); printf(" "); fflush(stdout); sleep(500); } while (!kbhit());
c'est toujours <conio2.h> et pas "conio.h" qu'il faut inclure ...
ah oui , merci mais j'ai encore la meme erreur quand je compile...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 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 <...>
Il doit y a voir un conflit avec une autre version... Je te conseille de faire ceci :Envoyé par GouKen
- Désinstaller le devpak CONIO
- Si ils sont toujours là :
- effacer <conio.h>
- effacer <conio2.h>
- effacer <conio.c>
- réinstaller le Devpak CONIO.
Pas de Wi-Fi à la maison : CPL
ouais j'ai essayé mais cette fois j'ai
bizarre, et lorsque je rajoute conio.h manuellement, je retombe sur mon erreur de compilation précédente
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 In file included from main.c:5: D:/DEV/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include/conio2.h:16:19: conio.h: No such file or directory main.c: In function `main': main.c:910: warning: comparison is always true due to limited range of data type make.exe: *** [main.o] Error 1 Exécution terminée
Mais le conio.h que tu rajoutes, il vient d'où ?Envoyé par GouKen
Je te mets les headers qui fonctionnent chez moi (MinGW) en P.J.
Pas de Wi-Fi à la maison : CPL
c'est bon ça marche merci !! j'avais un conio foireux , par contre j'ai toujours le curseur :// vais jamais y arriver :s
C'est à dire ? J'ai pas suivi, là ... C'est quoi ce problème de curseur ?Envoyé par GouKen
Ceci fonctionne : (EDIT)
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
21
22 #include <stdio.h> #include <conio2.h> #include <windows.h> int main (void) { _setcursortype (_NOCURSOR); textcolor (LIGHTRED); do { gotoxy (20, 27); cprintf ("Appuyez sur une touche pour continuer !"); Sleep (500); gotoxy (20, 27); clreol(); Sleep (500); } while (!kbhit ()); return 0; }
Pas de Wi-Fi à la maison : CPL
bien, il est toujours affiché dans ma fenêtre DOS...
Même avec le code ci-dessus ?Envoyé par GouKen
Pas de Wi-Fi à la maison : CPL
Bizarre, chez moi, c'est OK (Windows XP, dernier devPak CONIO pour Code::Blocks, soit 2.0)Envoyé par GouKen
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 Name: CONIO Version: 2.0 Size: 42.74 KB Date: 2005-06-04 23:16:58 Description: Borland-style CONIO implementation for MinGW. Rewritten version 2.0. Changes in 2.0 ============== * make library aware of console window size * make library aware of console window position in console buffer * added support for UNICODE Win32 API * added constream-like manipulators for C++ * implemented highvideo, insline, lowvideo, movetext, normvideo, gettextinfo, getpass, cputsxy, putchxy, inittextinfo * fixed delline
Pas de Wi-Fi à la maison : CPL
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