j'aimerai savoir la démarche comment on programme dans une fenêtre standard :
"appuyez sur une touche pour fermer la fenêtre . . ."
merci d avance !
j'aimerai savoir la démarche comment on programme dans une fenêtre standard :
"appuyez sur une touche pour fermer la fenêtre . . ."
merci d avance !
Salut,
La question a été posée si souvent que l'on en a fait une entrée de la FAQ
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
Je sens que si je propose system("pause"); je vais me faire incendier... mais ça répond plus précisément à sa demande.
Effectivement
L'instruction system a les énormes inconvéniants
- D'être totalement dépendant du système sur lequel l'application est lancée, et donc totalement non portable (tu n'es jamais sur que l'instruction système que tu appelle sera fournie par l'ensemble des systèmes sur lesquels ton application risque de fonctionner)
- de faire appel à... une instruction système, ce qui demande énormément temps et de ressources
Absolument pas, pour les raisons que je viens de citer... mais ça répond plus précisément à sa demande.
La FAQ fournit une solution simple, élégante, fiable, portable et ne faisant appel qu'à du C++ pur d'y arriver... Pourquoi s'en priver![]()
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
- On peut choisir de faire un code non-portable si l'on est certain que celui-ci tournera exclusivement sur Windows. La portabilité est une garantie, pas une obligation !
- Quel intérêt d'économiser le temps d'exécution d'une instruction qui sert justement à l'interrompre, en attendant (souvent plusieurs secondes) la réaction de l'utilisateur ?
- <mauvaise foi>J'ai remarqué que system("pause") et la solution proposée dans la FAQ n'étaient pas exactement similaires : l'une réagit à l'appui de la touche ENTREE et l'autre à l'appui de n'importe quelle touche. Donc system("pause") répond plus précisément à sa requête.</mauvaise foi>
jusqu'au jour où...
C++ est un langage standardisé par un organisme international...
Respecter la norme qui en régit les bases te donne de bien meilleures garantie de comportement et de reproductibilité que tout ce qui se trouve "en marge" de la norme et qui dépend donc uniquement du "bon vouloir" d'une équipe d'implémentation.
Tu n'es en effet jamais sur que ces comportements "à la marge" seront reproductibles dans la version suivante
La portabilité n'est pas uniquement un problème de système d'origines différentes (ex : window Vs linux), mais aussi un problème de système d'origines identiques mais de versions différentes (ex: Win XP Vs seven ou vista)
Cela parait paradoxal, hein?Quel intérêt d'économiser le temps d'exécution d'une instruction qui sert justement à l'interrompre, en attendant (souvent plusieurs secondes) la réaction de l'utilisateur ?
Mais, outre le temps d'exécution, il faut te dire qu'il y a aussi le problème des ressources que cela demande... tu sembles avoir "zappé" trois mots dans ma deuxième raison
C'est effectivement de la très mauvaise foi, car il, quelque part, dangereux de laisser faire en sorte que n'importe quelle touche puisse permettre de mettre fin à la pause<mauvaise foi>J'ai remarqué que system("pause") et la solution proposée dans la FAQ n'étaient pas exactement similaires : l'une réagit à l'appui de la touche ENTREE et l'autre à l'appui de n'importe quelle touche. Donc system("pause") répond plus précisément à sa requête.</mauvaise foi>![]()
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
Partager