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

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  checkbox multiples [résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

checkbox multiples [résolu]

n°492680
amsterdam
Posté le 20-08-2003 à 17:49:14  profilanswer
 

Salut.
Voilà je veut tester l'état de 9 checkbox(checkbox1, checkbox2,...) et je voudrait savoir s'il y a moyen de remplacer le n° du checkbox(ex: checkbox1) par une variable compteur que j'incrémenterai au fur et à mesure.
 
D'avance merci. :)


Message édité par amsterdam le 20-08-2003 à 19:51:04
mood
Publicité
Posté le 20-08-2003 à 17:49:14  profilanswer
 

n°492720
KrzAramis
Help Me
Posté le 20-08-2003 à 18:31:48  profilanswer
 

Oui c est possible de le faire  
en utilisant la fonction:
FindComponent(var aName: string);
voici un exemple

Code :
  1. for i := 1 to 4 do begin
  2.   //Green
  3.   with TLabel(FindComponent('Lb_Etage'+IntToStr(i))) do begin
  4.     Caption := 'Et'+IntToStr(i)+' Marche';
  5.     Color   :=  clGreen;
  6.   end;//with
  7. end;//for


 
Voila je pense qu a terme rien ne t empche d utiliser un matrice de nom indexé par un compteur (i dans cet exemple)
 
@++
 
Ar@mi$ @->--


Message édité par KrzAramis le 20-08-2003 à 18:32:19
n°492727
amsterdam
Posté le 20-08-2003 à 18:36:47  profilanswer
 

OK je vais voir çà.  :jap:  
Merci. :)

n°492730
KrzAramis
Help Me
Posté le 20-08-2003 à 18:42:43  profilanswer
 

Dans le cas du TCheckBox tu peux parfaitement tester la propriete "checked" de maniere recurant avec la meme method
 
 :D

n°492732
antp
Super Administrateur
Champion des excuses bidons
Posté le 20-08-2003 à 18:50:25  profilanswer
 

Ne pas oublier que niveau performances FindComponent est nettement plus lourd.
Bon dans la plupart des cas c'est pas une catastrophe...  


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°492739
KrzAramis
Help Me
Posté le 20-08-2003 à 19:01:22  profilanswer
 

as tu qqc de mieux a nous propose ?  [:ddr555]

n°492742
antp
Super Administrateur
Champion des excuses bidons
Posté le 20-08-2003 à 19:06:57  profilanswer
 

Oui :
 
en private de la Form :
FCheckboxes: array [1..9] of TCheckbox;
 
dans le OnCreate de la Form :
 
FCheckboxes[1] := Checkbox1;
...
FCheckboxes[9] := Checkbox9;
 
puis on accède aux checkboxes via FCheckbox[], c'est plus propre, et on ne doit pas se baser sur les noms (dans le code posté, si on change le nom des checkbox, ça compile, puis ça plantera à l'exécution. Alors que dans mon code on verra l'erreur à la compilation, et c'est nettement plus optimisé :o


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°492747
amsterdam
Posté le 20-08-2003 à 19:19:38  profilanswer
 

C'est en effet bien mieux pour moi car j'était en train de ramer avec le findcomponent (pas taper).
Ca fonctionne nickel.
Merci à tous les deux.  :jap:  :jap:  :jap:

n°492788
KrzAramis
Help Me
Posté le 20-08-2003 à 21:22:02  profilanswer
 

antp a écrit :

Oui :
 
en private de la Form :
FCheckboxes: array [1..9] of TCheckbox;
 
dans le OnCreate de la Form :
 
FCheckboxes[1] := Checkbox1;
...
FCheckboxes[9] := Checkbox9;
 
puis on accède aux checkboxes via FCheckbox[], c'est plus propre, et on ne doit pas se baser sur les noms (dans le code posté, si on change le nom des checkbox, ça compile, puis ça plantera à l'exécution. Alors que dans mon code on verra l'erreur à la compilation, et c'est nettement plus optimisé :o


 
ca veux donc dire que tu dois creer dynamiquement les composants ? ou alors lorsque tu analyse les proprietes du passe par  

Code :
  1. FCheckboxes[1] as TCheckbox ;


 
ou alors je dois comprendre l exemple comme un record de nom des check box ?
 
@++

n°492793
antp
Super Administrateur
Champion des excuses bidons
Posté le 20-08-2003 à 21:28:42  profilanswer
 

:heink: bah non, t'as tes compos Checkbox1 à 9, rien ne t'empêche de copier leur référence dans un array [:spamafote]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
mood
Publicité
Posté le 20-08-2003 à 21:28:42  profilanswer
 

n°492852
KrzAramis
Help Me
Posté le 20-08-2003 à 22:29:53  profilanswer
 

antp a écrit :

:heink: bah non, t'as tes compos Checkbox1 à 9, rien ne t'empêche de copier leur référence dans un array [:spamafote]


ben voila ! t es redevenu mechant avec moi  :(  si j ai pose la question c est que je ne saivais pas  :sweat:  
 
@++


Message édité par KrzAramis le 20-08-2003 à 22:30:19

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  checkbox multiples [résolu]

 

Sujets relatifs
se connecter a un ftp avec un batch ! [RESOLU]alias sous Tomcat (résolu)
[JS]Je comprend pas mon erreur ... <option> dynamique - résoluCréation, emploi de librairies statiques avec GCC [proprement résolu]
Problème d'adaptation de script. (Résolu mais voir fin)[PHP, MYSQL] [résolu]Comment optimiser ce code? (nombreux SELECT FROM)
[linux] empêcher un programme de se lancer plusieurs fois : résoluSystème de couleurs personalisées avec JS compatible Mozilla [résolu]
[Résolu] Impossible d'exécuter des javascriptTime Format [Resolu]
Plus de sujets relatifs à : checkbox multiples [résolu]


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