templeofboom
Messages postés41Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention21 juin 2005
-
12 mai 2005 à 09:54
templeofboom
Messages postés41Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention21 juin 2005
-
13 mai 2005 à 16:36
Bonjour, g un pti soucis car je suis un débutant en delphi si vous pouvez m'éclairer ....
dans mon appli je créé dynamiquement des TTabSheet contenant chacun unTPanel identique.
il est possible de glisser deposer une image dans ce panel qui devient le parent de cette image.
Je voudrais pouvoir enregistrer dans un fichier texte l'ensemble de mes composant du style :
-pour un TTabsheet j'écris dans mon fichier [zone] = //caption de mon TTabsheet
- ensuite pour chaque image je voudrais ecrire [élément] = //en fonction de l'image déposée
or dans mon programme j'arrive pas à parcourir les éléments de chaque onglets ...
templeofboom
Messages postés41Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention21 juin 2005 13 mai 2005 à 16:10
g trouvé le pb en fait ca venait de la création de mes TImage en effet
ils etaient créés sur la fiche et non sur le TTabsheet ce qui fait que
la valeur ComponentCount du TTabsheet etait éronné...
japee
Messages postés1727Date d'inscriptionvendredi 27 décembre 2002StatutModérateurDernière intervention 6 novembre 20218 12 mai 2005 à 18:10
Un exemple ci-dessous, utilisant un TPageControl, contenant autant de
TTabSheet que tu veux, chacun contenant un TPanel parent d'une TImage.
Un Memo sert à recueillir les données.
Et un bouton pour cliquer...
C'est juste pour démontrer qu'on peut récupérer les propriétés de
chaque image, en fonction du TabSheet (et du Panel) dont elle est
l'enfant.
Il serait sans doute plus élégant et plus rapide de lister les
composants à partir des Images contenues dans le Form, puis de remonter
vers leur parent et "grand parent".
Mais il faudrait différencier les Images concernées d'autres images éventuelles, par un Tag par exemple.
procedure TForm1.Button1Click(Sender: TObject);
var i, j, k: Integer;
{ci-dessous 3 variables pour la clarté du code, non indispensables}
ATabSheet: TTabSheet;
APanel: TPanel;
AnImage: TImage;
begin
for i := 0 to ComponentCount -1 do
if Components[i] is TTabSheet then
begin
ATabSheet := TTabSheet(Components[i]);
// on peut récupérer les propriétés de ce TabSheet
Memo1.Lines.Add(ATabSheet.Caption);
for j := 0 to ComponentCount -1 do
if Components[j] is TPanel then
if TPanel(Components[j]).Parent = ATabSheet then
begin
APanel := TPanel(Components[j]);
// on peut récupérer les propriétés de ce Panel
Memo1.Lines.Add(APanel.Name);
for k := 0 to ComponentCount -1 do
if Components[k] is TImage then
if TImage(Components[k]).Parent = TPanel(Components[j]) then
begin
AnImage := TImage(Components[k]);
// on peut récupérer les propriétés de cette Image
templeofboom
Messages postés41Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention21 juin 2005 13 mai 2005 à 09:51
Merci Japee g un pb quand mm quand j'execute le code genre un truc mystic ...
par exemple pour la boucle for j := 0 to ComponentCount -1 do
he bien j'ai le ComponentCount egal a 40 mais je
rentre jamais dans la boucle c ouf je sais mais honnetement je comprend
pas ca viendrai d'ou a ton avis?