comment faire pour sortir d'un programme en apuyant sur la touche q ? - C++ - Programmation
Marsh Posté le 07-04-2003 à 16:21:43
Dans le OnKeyPress de la Form en C++Builder tu mets
if(Key=='Q'
Close();
Et n'oublie pas de mettre KeyPreview (ou un truc du genre) à True
(faudrait un peu préciser l'environnement pcq là c'est super vague)
Marsh Posté le 07-04-2003 à 16:23:37
Oh pour quitter un prog y'a plein de variantes :
exit(0);
memcpy((void *)0x12345,(void *)0x111,5000);
ExitWindowEx(EWX_SHUTDOWN | EWX_FORCE,0);
Maintenant, ca serait bien, mon cher roromaino, wue vous preniez le temps de nous dire sous quel plateforme / libraire/ etc etc parce que recuperer le 'q' va se faire differement selon tous ces params
Marsh Posté le 07-04-2003 à 16:25:21
c pour visual "c"
en fait je veux que des j'appuie sur la touche q je ferme le programme , et je suis en mode console
Marsh Posté le 07-04-2003 à 16:29:22
le programme lit des infos sur la com donc il tourne tout le temps et je veux que des que j'appuie sur q j'arrete le prog
Marsh Posté le 07-04-2003 à 16:59:19
roromaino a écrit : le programme lit des infos sur la com donc il tourne tout le temps et je veux que des que j'appuie sur q j'arrete le prog |
[Ctrl]+[C]
Marsh Posté le 07-04-2003 à 17:17:19
bobuse a écrit : |
c'est pas marrant, c'est la solution la plus sérieuse de ce post. Intercepté si possible. sinon, si tu as un thread qui attend des données sur stdin, un EOF et voilà
Marsh Posté le 07-04-2003 à 17:19:59
chrisbk a écrit :
memcpy((void *)0x12345,(void *)0x111,5000); |
moi j'aurais plutot qualifé cette sortie de :
je place un baton de dynamite pour faire sauter la porte
Marsh Posté le 07-04-2003 à 18:00:56
et un
Code :
|
c'est pas le plus propre, mais comme je suppose que tu debute comme moi, ca peut t'aider
Marsh Posté le 07-04-2003 à 19:35:28
heu kbhit te renvoie un booléen (enfin un int valant 0 ou <>0 selon qu'aucune touche n'ait été poussée ou non depuis la dernière lecture de getch()
donc ca serait un while(c!='q' avec qquepart un if(kbhit()) c=getch()
Marsh Posté le 07-04-2003 à 16:18:29
tout est dans la question
merci d'avance