Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1189 connectés 

  FORUM HardWare.fr
  Programmation
  Ada

  faire un truc du genre "appuyer sur <entrée> pour continuer"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

faire un truc du genre "appuyer sur <entrée> pour continuer"

n°1239396
docc
con
Posté le 05-11-2005 à 17:47:19  profilanswer
 

voila j'aimerais pouvoir mettre cette phrase "appuyer sur <entrée> pour continuer"
et ainsi quand l'utilisateur appuie sur entrée le programme continue...

mood
Publicité
Posté le 05-11-2005 à 17:47:19  profilanswer
 

n°1240410
apprentitu​x
Posté le 07-11-2005 à 14:17:59  profilanswer
 

C'est une très bonne idée

n°1241898
erwan83
Du Shift DEL tu te méfieras !
Posté le 09-11-2005 à 00:47:28  profilanswer
 

c'est en quel langage ???
parce qu'en VB c'est facile...

n°1241901
masklinn
í dag viðrar vel til loftárása
Posté le 09-11-2005 à 00:51:36  profilanswer
 

erwan83 a écrit :

c'est en quel langage ???


T'as regardé le nom de la sous cat [:petrus dei]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1253833
mach-1
Posté le 26-11-2005 à 17:53:38  profilanswer
 

c'est vrai que c'est une bonne idée, ça m'interesse aussi de savoir le faire! J'ai même essayé mais j'ai toujours pas trouvé l'astuce, tout ce que j'arrive a faire c'est "appuyer sur <esapce> puis sur <entrer> pour continuer". C'est pas mal aussi mais c'est pas encore ce que je cherche, et ce que tu cherche aussi...

n°1254024
general gr​evious
qua la force soit avec toi !
Posté le 27-11-2005 à 01:20:06  profilanswer
 

mach-1 a écrit :

c'est vrai que c'est une bonne idée, ça m'interesse aussi de savoir le faire! J'ai même essayé mais j'ai toujours pas trouvé l'astuce, tout ce que j'arrive a faire c'est "appuyer sur <esapce> puis sur <entrer> pour continuer". C'est pas mal aussi mais c'est pas encore ce que je cherche, et ce que tu cherche aussi...


 
 
En language C et donc C++ par la meme occasion il ne faut pas utiliser un "scanf" mais un "_getch()" :)  
Le scanf enregistre la touche puis attend lapui sur la touche entrée pour valider ta touche ! Le getch lui sen fou de sa ! et des que tu appui il a enregistrer et il passe a l'instruction suivante !  :jap:  
 
(je suis en BTS IRIST et je fait sa 24h/24h) :cry:


Message édité par general grevious le 27-11-2005 à 01:21:31
n°1254069
mach-1
Posté le 27-11-2005 à 10:42:08  profilanswer
 

Ok pour le C, mais la sous-catégorie de ce sujet ce n'est pas le langage C mais le langage ADA. Je ne sais pas s'il existe en ADA une fonction comme celle que tu utilises en langage C, en tout cas si elle existe je la connais pas...

n°1254288
olivthill
Posté le 27-11-2005 à 18:58:01  profilanswer
 

Désolé, je ne connais pas la réponse, mais la question me fait penser à une petite série de messages d'erreur humoristiques qui feront peut-être rire d'autres personnes que moi, et qui feront un "up" pour cette question intéressante.

Code :
  1. Smash forehead on keyboard to continue.
  2. Enter any 17-digit prime number to continue.
  3. Press any key to continue or any other key to quit.
  4. Press any key... no, no, no, NOT THAT ONE!
  5. Press Ctrl-Alt-Del now for IQ test.
  6. Close your eyes and press escape three times.
  7. Bad command or file name! Go stand in the corner.
  8. This will end your Windows session. Do you want to play another game?
  9. Keyboard not attached. Press F1 to continue.
  10. COFFEE.SYS missing... Insert cup and press any key.
  11. Error reading FAT record: Try the SKINNY one? (Y/N)
  12. WinErr 547: LPT1 not found. Press any key and use PENCIL & PAPER.
  13. User Error: Replace user (Y/N).
  14. Windows VirusScan 1.0 - "Linux found: Remove it? (Y/Y)"
  15. Backup not found: (A)bort (R)etry (P)anic

n°1254768
apprentitu​x
Posté le 28-11-2005 à 16:25:01  profilanswer
 

Il me semble pourtant que ce n'est pas tres compliqué non !!???
Tu fais un get_line(..) d'un string et puis voilà..

n°1254875
mach-1
Posté le 28-11-2005 à 19:13:41  profilanswer
 

Ben je pense pas que ce soit ça la solution, nous ce qu'on cherche c'est par exemple : disons dans un jeu de lancé de dés, faire que le lancé se fasse quand on appui sur ENTRER, pas quand on rentre une phrase avant. Donc je pense pas que le get_line puisse nous aider, parce que le get_line va nous demander d'écrire qqc d'autre qu'ENTRER.

mood
Publicité
Posté le 28-11-2005 à 19:13:41  profilanswer
 

n°1257683
apprentitu​x
Posté le 02-12-2005 à 16:56:20  profilanswer
 

mach-1 a écrit :

Ben je pense pas que ce soit ça la solution, nous ce qu'on cherche c'est par exemple : disons dans un jeu de lancé de dés, faire que le lancé se fasse quand on appui sur ENTRER, pas quand on rentre une phrase avant. Donc je pense pas que le get_line puisse nous aider, parce que le get_line va nous demander d'écrire qqc d'autre qu'ENTRER.


 
 :pfff:  

Code :
  1. procedure exemple is
  2.    lg : integer;
  3.    gen : generator;
  4.    tempo : string(1..longueur_qqn); -- peut être 1..0 par exemple
  5. begin
  6.   -- éventuellement : set_col(standard_input,1);
  7.    get_line(tempo,lg);
  8.    put_line("résultat du lancé :" & résult_dé'image(random(gen)));


 
   -- Ca t'affichera ton lancé même si tu rentre un string vide ! (il me semble)

n°1266037
Snoooof
Posté le 14-12-2005 à 00:02:04  profilanswer
 

Pourquoi pas tout simplement :
 
System("pause" ) ;
 
Ou alors jai pas tout compris ^^ !
 
++

n°1266322
apprentitu​x
Posté le 14-12-2005 à 13:50:54  profilanswer
 

ouai effectivement, t'as pas tout compris...
Regarde la cat où on est....

n°1266345
BlackWolf
Posté le 14-12-2005 à 14:10:24  profilanswer
 

au fait c'est tout con...
 
Après chaque entrée clavier que tu fais il faut vider le tampon d'entrée avec l'instruction Skip_Line;
 
Si tu le fais à chaque fois à la fin de ton programme tu pourras simplement faire
 
Put_Line("Appuyez sur <Entree> pour continuer" );
Skip_Line;
 
ce qui va afficher ton message puis lorsqu'il tentera de vider le tampon deja vide il attendra une entrée.

n°1266388
apprentitu​x
Posté le 14-12-2005 à 15:02:49  profilanswer
 

Faux:
Skip_line saute une ligne en lecture.
Si il y a qqch ds le tampon, ça va le vider et passer directe à la suite (donc pas de pause)
Il faut explicitement attendre qqch au clavier, donc get_line, avec au préalable, éventuellement un set_col(standard_input,1) qui est mieux qu'un skip_line...(voir la doc)

n°1266627
BlackWolf
Posté le 14-12-2005 à 18:24:16  profilanswer
 

apprentitux a écrit :

Faux:
Skip_line saute une ligne en lecture.
Si il y a qqch ds le tampon, ça va le vider et passer directe à la suite (donc pas de pause)
Il faut explicitement attendre qqch au clavier, donc get_line, avec au préalable, éventuellement un set_col(standard_input,1) qui est mieux qu'un skip_line...(voir la doc)


 
Désolé, j'ai peut-être pas été très clair la 1ère fois :
En effet comme tu dis Skip_Line vide le tampon et passe à la suite... sauf que si tu vides le tampon après chaque lecture (avec Get et non Get_Line qui sauf erreur existe pas), ton tampon sera vide au moment de la fin de ton programme... donc un nouveau Skip_Line attendra justement l'entrée d'une valeur vu qu'il n'a rien a vider... ce qui aura l'effet désiré...
 
Si t'es toujours pas convaincu c'est que tout mon livre de cours sur l'ada se trompe tout comme mon prof de prog qui programme en ada depuis les tous premiers standards de ce langage ;) mais je te crois volontiers comme quoi il y aurait d'autres manières de faire... je trouve juste que le Skip_Line avec un tampon vide fonctionne bien et est très simple :)

Message cité 1 fois
Message édité par BlackWolf le 14-12-2005 à 18:26:02
n°1267457
apprentitu​x
Posté le 15-12-2005 à 15:42:39  profilanswer
 

BlackWolf a écrit :

Désolé, j'ai peut-être pas été très clair la 1ère fois :
......(avec Get et non Get_Line qui sauf erreur existe pas), ton tampon sera vide au moment de la fin de ton programme... donc un nouveau Skip_Line attendra justement l'entrée d'une valeur vu qu'il n'a rien a vider... ce qui aura l'effet désiré...


 
Il me semble que (cf Ada.Text_Io.ads) :

Code :
  1. procedure Get_Line(File : in  File_Type;
  2.                            Item : out String;
  3.                            Last : out Natural);


 
Existe bel et bien (sauf erreur de ma part)  ;)  
 
Pour le reste, je veut bien, mais comment est tu sur qu'au moment ou tu fais une pause, le tampon est vide ??
 
En faisant après chaque E/S un set_col(standard_input,1) tu mets le numero de colonne à 1, càd que si cette valeur est > 1, ça la met à 1 (saute une ligne en lecture) et c'est déjà 1, ça ne fait rien, alors que le skip_line saute obligatoirement une ligne en lecture.
 
Là tu as l'assurance d'avoir toujours un tampon vide après tes E/S, et là tu peut faire ton skip_line.
 
Une autre methode serait peut-être de faire comme ça (à tester) :
 
procedure pause is
   set_col(standard_input,1);
   skip_line;
end pause;

n°1267920
BlackWolf
Posté le 15-12-2005 à 20:00:12  profilanswer
 

ouais c'est vrai que vu comme ça...
 
En ce qui me concerne, après chaque entrée j'effectue un skip_line (toujours pratique si il y a eu une erreur (style si l'utilisateur t'as entré un nombre suivi de caractère, il lira le nombre jusqu'au 1er caractère puis laissera ceux-ci dans le tampon... ce qui va planter au prochain get) ) donc au momenet ou je veux faire ma pause le tampon est généralement toujours vide... donc normalement ça devrait jamais trop poser de problème mais il est clair qu'il est toujours possible de trouver des situations ou ça peut déconner donc c'est toujours bien d'avoir plusieurs possibilités sous la main ;)
 
Au temps pour moi pour le Get_Line :)

n°1268543
apprentitu​x
Posté le 16-12-2005 à 16:14:40  profilanswer
 

Je crois qu'ça merde aussi quand tu get_line un string en mettant le nombre max de caractère, du genre:
s : string(1..10);
...
puis tu get_line exactement 10 caractères.
 
A ce moment là, le 'fin de ligne' reste dans le tampon...

n°1268963
colween
Posté le 17-12-2005 à 16:07:44  profilanswer
 

-----------------------------------------------------------------------
 
procedure Press_Key is  
   C : Character;
begin
   new_line(2);
   Put("Appuyez sur une touche pour continuer..." );
   get_immediate(c);
   new_line(2);
end Press_Key;
 
-----------------------------------------------------------------------
 
si tu veux que ça ne marche que pour la touche entrée, rajoute une boucle/test.


Message édité par colween le 17-12-2005 à 16:08:27

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Ada

  faire un truc du genre "appuyer sur <entrée> pour continuer"

 

Sujets relatifs
Avec quel outil on réalise ce genre de page ?afficher la derniere entrée peu importe la table ?!
[HTML] Truc a la con lancer une musique quand on clique sur une imageOutil de travail collaboratif sur Eclipse genre CVS ? [résolu]
Un truc surement simple a faire[Resolu][Cobol][Débutant] !!! truc illogique
[PHP Compilé pr ligne de commande] Comment demander une entrée de l'..[python, regexp] un truc bete
supprimer ou remplacer "alt entrée" à travers vbaXML Writer genre float
Plus de sujets relatifs à : faire un truc du genre "appuyer sur <entrée> pour continuer"


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR