ni69
Messages postés1418Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention 5 juillet 201012 17 févr. 2005 à 17:20
Mieux que de devoir déclarer une variable, je me servirais plutôt de la propriété Tag du Button... C'est plus pratique dans un projet où il y a déjà plein de variables et qu'on ne s'y retrouve plus... Ou alors si cette procedure doit s'étendre à beaucoup de boutons (on ne sait jamais!)
Dans l'événement OnClick des Boutons que l'on veut controler, il faut mettre la procedure ButtonsClick
code :
procedure TForm1.ButtonsClick(Sender: TObject);
begin // Par défaut, tous les Tag des boutons sont à 0, donc pas besoin d'initialiser
// On incrémente...
(Sender as TButton).Tag := (Sender as TButton).Tag + 1; // Le inc() ne marche pas ici
// Et là vient le test...
if (Sender as TButton).Tag = 3 then begin ShowMessage('Attention !');
// Remise à 0
(Sender as TButton).Tag := 0;
end ;
end;
On peut aussi faire des événements personnalisés pour chaque bouton :
procedure TForm1.ButtonsClick(Sender: TObject);
begin // Par défaut, tous les Tag des boutons sont à 0, donc pas besoin d'initialiser
// On incrémente
(Sender as TButton).Tag : = (Sender as TButton).Tag + 1;
// Et là vient le test
if (Sender as TButton).Tag = 3 then
begin // Si bouton 1
if Sender = Button1 then begin ShowMessage('Vous avez cliqué 3 fois sur le bouton 1 !');
end // Si bouton 2
elseif Sender = Button2 then
begin ShowMessage('Vous avez cliqué 3 fois sur le bouton 2 !');
end;
[...]
// Remise à 0
(Sender as TButton).Tag : = 0;
end;
end;
Ce n'est qu'une idée, mais ça permet de réduire un peu le code
@+
Bonne Prog'
Nico
<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !