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

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  configurer une touche pour quitter un programme a tout moment

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

configurer une touche pour quitter un programme a tout moment

n°2123072
floflo6416​0
Posté le 24-01-2012 à 15:47:34  profilanswer
 

Bonjour
Je débute en programmation et j'aimerai créer une fonction ou une procédure qui me permettrait de quitter mon programme a n'importe quel moment en appuyant sur la touche echap par exemple.  
JE ne vois pas trop comment faire si vous pourriez m'aider =)

mood
Publicité
Posté le 24-01-2012 à 15:47:34  profilanswer
 

n°2132457
alex181
The show must go on
Posté le 22-03-2012 à 10:00:19  profilanswer
 

Bonjour,
Je ne suis pas non plus expert mais je pense que tu vas avoir besoin de créer un thread dédié à quitter le prog (il faudra un listener clavier) et un autre thread pour les opérations principales de ton programme.
 
Oula, j'me rend compte que le topic commence à dater un peu...

n°2137269
Flagad'awa​re
c pô moi, j'ai pas touché!
Posté le 18-04-2012 à 03:07:57  profilanswer
 

Salut,
 
heu oui le topic date un peu mais ça peut être fort utile  ;)  
 
voila une idée qui n'est pas d'expert non plus mais qui peut rendre bien service pour des programmeurs en herbe  (à ne pas utiliser pour des applis où l'on a à enregistrer des infos importantes à moins de bien contrôler ce qu'on va faire derrière... enfin bref cela reste à commentaires)
 
en utilisant les events du clavier on peut avoir quelque-chose de fonctionnel! (http://delphi.about.com/cs/adptips [...] 0802_4.htm):
 
avec:
 

procedure TForm1.FormCreate(Sender: TObject) ;
begin
   KeyPreview := True;
end;


 
puis
 

procedure TForm1.FormKeyPress
   (Sender: TObject; var Key: Char) ;
begin
   if key = #27 then cekontveut;   //si la touche Esc est pressée...
end;


 
 
 
meme si c'est pas très "propre" on peut utiliser la caption du bouton qui va exécuter le code à quitter :
 
 
tout cela n'est qu'un exemple à mettre en application mais on utilisera:  
 
 

procedure TForm1.FormKeyPress
   (Sender: TObject; var Key: Char) ;
begin
   if key = #27 then   //si la touche Esc est pressée...
    begin
       if button1.caption:='Exit' then button1.caption:='Run' ; // voir après sur le reste de l'exemple  
    end;
end;


 
 
par défaut, donc avant le clic sur notre bouton, sa caption doit être "Run":
 

procedure TForm1.btn1Click(Sender: TObject);
var
  i:word;
begin
  button1.caption:='Exit'; // tant que l'on exécute notre code, on met notre caption du bouton à "Exit"...
   
  for i:= 1 to 2000000 do
    begin
       // memo1.lines.add('coucou');
       // enfin ce que l'on execute...
 
 
       if button1.caption='Run' then Exit; // si l'utilisateur a appuyé sur Escape on sort!
 
    end;
 
 
  button1.caption:='Run'; // fin de la procédure (ou fonction) si personne n'a pressé la touche Escape, on remet la caption de button1 à "Run"
 
 
end;


 
il faut bien faire attention aux majuscules de nos captions et surtout ne pas inverser nos "état de captions" mais cela fonctionne pas mal  ;)


Message édité par Flagad'aware le 18-04-2012 à 13:02:06
n°2137345
breizhbugs
Posté le 18-04-2012 à 12:29:07  profilanswer
 

Tu t'es trompé dans le dernier code:
 
Dans ta boucle il faut tester si le bouton a été transformé de 'Exit' en 'Run' car quand l'utilisateur clic sur 'Exit' pour sortir le bouton se transforme en 'Run'
donc:
       if button1.caption='Run' then Exit; // si l'utilisateur a appuyé sur Escape on sort!


---------------
Seul Google le sait...
n°2137349
Flagad'awa​re
c pô moi, j'ai pas touché!
Posté le 18-04-2012 à 13:03:22  profilanswer
 

Oula oui merci c'est corrigé  :)  
 
c'est clair que la boucle n'irai pô loin  :whistle:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  configurer une touche pour quitter un programme a tout moment

 

Sujets relatifs
Creation petit programmepouvez vous m'aidez a crée un programme en C
Exécution d'une commande Dos dans un programme Javabesoin d'explication du fonctionnement de cette partie de programme!
Stopper mon programme.comment fonctionne ce programme?
Déterminant Matrice carrée programmefaire un petit programme
aide pour modifier un petit programme avant le 21/12, 9hecrire un programme (pascal) qui calcule X puissance n ?!!!
Plus de sujets relatifs à : configurer une touche pour quitter un programme a tout moment


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