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.
Version imprimable
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.
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.
Citation:
Envoyé par GouKen
Code:
1
2
3
4
5
6 if (kbhit()) { int c = getch(); /* ... */ }
tu pourrais me montrer un exemple stp ?!
ton code me dis pas grand chose comme ça
Lit la doc...Citation:
Envoyé par GouKen
http://conio.sourceforge.net/docs/conio.pdf
j'ai trouvé un code ressemblant au mien mais le mien ne marche pas :
Code:
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 :/
:aie:Code:
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 :roll: , merci :mrgreen: mais j'ai encore la meme erreur quand je compile...
Code:
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 :Citation:
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.
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 :aie:Code:
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ù ?Citation:
Envoyé par GouKen
Je te mets les headers qui fonctionnent chez moi (MinGW) en P.J.
c'est bon ça marche merci !! j'avais un conio foireux :aie: , 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 ?Citation:
Envoyé par GouKen
Ceci fonctionne : (EDIT)
Code:
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; }
bien, il est toujours affiché dans ma fenêtre DOS...
Même avec le code ci-dessus ?Citation:
Envoyé par GouKen
oui..
Bizarre, chez moi, c'est OK (Windows XP, dernier devPak CONIO pour Code::Blocks, soit 2.0)Citation:
Envoyé par GouKen
Code:
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