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

 


Dernière réponse
Sujet : [DELPHI] utiliser une variable pour accéder a une propriété d'un objet
AGA http://forum.hardware.fr/forum2.ph [...] ic=&trash=
Technique findcomponent

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
AGA http://forum.hardware.fr/forum2.ph [...] ic=&trash=
Technique findcomponent
antp bhen c'est pas grave de faire un for
si tu le fais pas en continu ça ralentira pas
t'as quand même pas des centaines de composants sur ta form...
sinon t'as la méthode FindComponent, mais si c'est pour faire un Find de 10 trucs ça sera plus rapide de mettre un for plutôt que 10 find.
darxmurf En fait pour être plus claire je dois regarder si des CheckBox sont cochées ou pas et je veux pas me les faire toutes...
 
les noms c'est :  
 
box_lundi
box_mardi etc...
 
avec un case ou des if ça donne trop de code...
 
a++
 
Darx
darxmurf Merci !
 
Mais le truc c'est que j'ai une pettée de truc sur ma form, je veux pas les scanner tous... a un autre moyen ?
 
a++
 
Darx
antp bon imaginons que les boutons soient sur la Form.
 

Code :
  1. var
  2.   compo: TComponent;
  3.   i: Integer;
  4. begin
  5.   for i := 0 to ComponentCount-1 do
  6.     if Components[i] is TButton then
  7.       (Components[i] as TButton).Caption := 'abcdef';
  8. end;


 
dans le if tu peux même rajouter:

Code :
  1. if (Components[i] is TButton) and AnsiStartsText('bouton_numero', Components[i].Name) then


 
pour ne changer que les boutons dont le nom commence par "bouton_numero"
 
y a moyen de faire ce que tu veux faire (donc donner le nom du composant sous forme de texte construit dynamiquement), mais faut passer par des fonctions non documentées (SetPropValue, etc...) donc faut voir si tu veux ça absolument, ou si la solution que je t'ai donnée suffit...

 

[edtdd]--Message édité par antp--[/edtdd]

darxmurf UP ! Help !
darxmurf Salut,
 
Peut-on utiliser une variable pour changer la propriété d'un objet ?
 
Exemple :  
j'ai 10 boutons : button_numero1, button_numero2 etc...
si je veux mettre tous les captions de ces boutons a : 'abcdef' ?
 
var texte : string;
    i : integer;
begin
  for i := 1 to 10 do
      begin      
      texte := IntToStr(i);
      button_numero+texte.caption := 'abcdef'; //c'est là que je veux utiliser la variable texte...
      end;
end;
 
Merci de votre aide !
 
a++
 
Darx

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