Remplacement du kbhit

Remplacement du kbhit - C++ - Programmation

Marsh Posté le 23-08-2006 à 15:25:49    

salut
 
Je souhaite sortir d'une boucle while lors de l'appuie d'une touche (escape) mais je ne peux pas utiliser kbhit... voici ma boucle:
 
                /* Attente d'un caractere ou d'annulation
                 ****************************************/
                while( (nCarALire <= 0) )
                {
                    /* Recuperation du nombre de caractere en attente
                         ************************************************/
                    ClearCommError(g_hCom,&Errors,&Stat);
                    nCarALire=Stat.cbInQue;
 
                        /* Pour la convivialite
                      **********************/
                        if(StatusBar1->SimpleText == "Attente réception" )
                            StatusBar1->SimpleText = "Attente réception.";
                        else if(StatusBar1->SimpleText == "Attente réception." )
                            StatusBar1->SimpleText = "Attente réception..";
                        else if(StatusBar1->SimpleText == "Attente réception.." )
                            StatusBar1->SimpleText = "Attente réception...";
                        else if(StatusBar1->SimpleText == "Attente réception..." )
                            StatusBar1->SimpleText = "Attente réception";
                        Sleep(500);
                }
Comment puis-je remplacer le kbhit j'ai voulu utiliser keypress mais sans succès... si c'est la bonne solution comment pourrais-je l'utiliser svp.
 
j'utilise C++ builder 6 et je suis dans une fenetre.
 
Merci d'avance.
 
Eagles Eyes

Reply

Marsh Posté le 23-08-2006 à 15:25:49   

Reply

Marsh Posté le 23-08-2006 à 15:28:44    

un booléen activé ou non sur évenement, et une condition en + dans la condition de ton while ?

Reply

Marsh Posté le 23-08-2006 à 16:52:04    

justement je n'arrive pas a choper l'évènement de l'appuie sur la touche escape

Reply

Marsh Posté le 23-08-2006 à 17:46:03    

et t'arrives à chopper d'autres évenement clavier ?

Reply

Marsh Posté le 24-08-2006 à 08:18:49    

nan c'est la premiere fois que j'essaye de choper des évènements clavier en fait. Avant je codais en C et j'utilisais kbhit et getch mais la il me jete

Reply

Marsh Posté le 24-08-2006 à 09:22:29    

t'as lu la doc ?

Reply

Marsh Posté le 24-08-2006 à 09:44:39    

ouep mais je n'y comprend rien lol en fait j'ai fait un évènement OnKeyPress sur un bouton et quand je suis hors de la boucle ça fonctionne mais dans le while ça ne fonctionne plus en fait...
 
( Le problème c'est que je suis apprenti en alternance et j'apprends le C++  sur le tas dans mon entreprise)

Reply

Marsh Posté le 24-08-2006 à 09:51:05    

Il faut que tu mettes ta boucle dans un thread, ca ira beaucoup mieux ensuite. Voir TThread je crois.

Reply

Marsh Posté le 24-08-2006 à 09:51:14    

Reply

Marsh Posté le 24-08-2006 à 09:53:19    

okok merci je vais me renseigner sur le thread et tester.

Reply

Marsh Posté le 24-08-2006 à 09:53:19   

Reply

Marsh Posté le 24-08-2006 à 09:53:55    

merci pour le lien je pense que ça me sera utile ;)

Reply

Marsh Posté le 24-08-2006 à 09:58:11    

Essaye de mettre un ProcessMessage dans ton while.

Reply

Marsh Posté le 24-08-2006 à 10:09:32    

super ça marche ProcessMessages merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed