cs_akrame
Messages postés18Date d'inscriptiondimanche 9 mai 2004StatutMembreDernière intervention 9 janvier 2006
-
6 janv. 2006 à 18:00
neodelphi
Messages postés442Date d'inscriptionjeudi 4 avril 2002StatutMembreDernière intervention11 août 2008
-
8 janv. 2006 à 11:19
Bonjour je voudrai savoir comment faire pour attribuer 1 seul événement a plusieurs boutton .
par exemple , pour une calculatrice , je mé 10 bouton chacun a sur son caption un numéro entre 0 et 9 . A chaque clique sur un de ces bouttons , un seul et meme événement. ( l'affectation du numéro correspondant au bouton à une variable integer ) .
voila pour faire plus claire :
procedure TfrmMain.ButtonXClick(Sender: TObject);
begin
variable : = StrToInt(boutonx.caption)
end
il est possible de faire ça en VB , en créant des groupes de boutons , ( c comme des tableaux ) ; chaque bouton a un indice de 0 à n , le code sera donc :
variable := StrToInt(mongroupe[i].caption) , mongroupe[i] représentant le bouton clické .
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 7 janv. 2006 à 03:54
tu peux aussi utiliser les tags
pour 10 boutons de 0 à 9 dans l'inspecteur d'objets tu affectes 0 à Button0.Tag 1 à Button1.Tag etc etc
puis dans la procedure
Var IntValeur : Integer;
procedure Button1Click (sender :TObject);
begin
If (Sender is TButton) Then IntValeur = TButton( sender ).Tag;
end;
où
Var IntValeur : Integer;
StrValeur : String;
Procedure Button1Click (Sender :TObject);
Begin
If (Sender is TButton) Then With TButton(Sender) Do Begin IntValeur = Tag;
StrValeur = Caption;
End;
End;
Begin
case tag of 0: //ajouter le chiffre à la saisie par exemple
saisie.text:=saisie.caption+clavier.caption;// l'utilisation d'un TEdit permet de saisir directement dans la zone on peut y rajouter un filtre de saisie
jlen100
Messages postés1606Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention25 juillet 201413 7 janv. 2006 à 08:23
dans le même genre comme les touches d'un clavier numérique n'ont
généralement comme caption que les chiffres '0'..'9' tu
peux aussi utiliser directement le caption en regroupant tous les
évènements soit dans un seul onclick (du bouton '0' par exemple) soit
ne ajoutant une actionlist
Var IntValeur : Integer;
Procedure clavierClick (Sender :TObject);
Begin
With clavier(Sender) Do
Begin
IntValeur = strtoint( Caption);
End;
End;
pour ce genre de programme il doit y avoir autan de solutions que de programmeurs!!
neodelphi
Messages postés442Date d'inscriptionjeudi 4 avril 2002StatutMembreDernière intervention11 août 2008 8 janv. 2006 à 11:19
Essaye la solution de jlen, elle à l'avantage de pouvoir implémenter
une extension à ta calculatrice à l'avenir: la programmer. En effet si
par la suite tu as besoin d'exécuter une séquence de calcul depuis un
fichier, tu n'as juste qu'a faire une boucle et utiliser le case.