Newbie please help

JaMiGa Messages postés 2 Date d'inscription mardi 18 novembre 2003 Statut Membre Dernière intervention 17 décembre 2003 - 16 déc. 2003 à 15:33
freud2000 Messages postés 37 Date d'inscription lundi 1 juillet 2002 Statut Membre Dernière intervention 5 mai 2004 - 17 déc. 2003 à 17:13
Voilà je suis légèrement newbie en delphi et je voudrais savoir comment faire pour appliquer une fonction à un élément sans avoir à déclarer la même pour chaque élément (ie je veux que sur le click du bouton n le Button(n).caption change)
Le n étant défini autre part.

3 réponses

freud2000 Messages postés 37 Date d'inscription lundi 1 juillet 2002 Statut Membre Dernière intervention 5 mai 2004
16 déc. 2003 à 15:53
Bonjour, ce n'est pas tres dure si j'ai bien compris la fonction.
Il suffit de creer une fonction avec en parametre sender : TObject du genre.
Function  ChangeName (Sender : Tobject)
begin
       TButton(Sender).caption := 'nouveau libellé du bouton';
end;

Et dans les fonctions Onclick des boutons tu appelles la fonction comme ca
ChangeName(Sender);


Voila j'espere que cela pourra t'aider.
0
JaMiGa Messages postés 2 Date d'inscription mardi 18 novembre 2003 Statut Membre Dernière intervention 17 décembre 2003
17 déc. 2003 à 09:53
Merci.
C'est pas tout à fait ça mais ca m'aide un peu.
J'ai trouvé comment bien expliquer:
Imaginons que j'ai 5 buttons (Button1...Button5).
Maintenant au lieu de faire:

Button1.Caption='Test';
...
Button5.Caption='Test';

Je voudrais faire:

for i:=1 to 5 do
Button(i).Caption:='Test';

Et c'est sur la facon d'écrire Button(i) que j'ai un problème.
Voilà.
Merci.
0
freud2000 Messages postés 37 Date d'inscription lundi 1 juillet 2002 Statut Membre Dernière intervention 5 mai 2004
17 déc. 2003 à 17:13
Bonjour et désolé je n'avais pas compris la question .
Il suffit donc de faire comme ca :
      for cnt := 0 to Form1.ControlCount -1 do
          If Form1.Controls[cnt] is TButton then
                 TButton(Form1.Controls[cnt]).Caption := 'Nouveau caption';
0
Rejoignez-nous