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