Prb d'affectation

gilore Messages postés 15 Date d'inscription mardi 27 juin 2006 Statut Membre Dernière intervention 26 novembre 2006 - 13 oct. 2006 à 08:05
gilore Messages postés 15 Date d'inscription mardi 27 juin 2006 Statut Membre Dernière intervention 26 novembre 2006 - 17 oct. 2006 à 07:49
bonjour a tous,

voila mon pb ... je crée dynmiquement des labels de 1 à 15 grâce à une boucle.... pour chacun de ces labels je voudrais affecter un string qui est une valeurs récupérer grace à un query, ce qui donne actuellement

nomlot1 := Query.Rs.Fields['nomlotA'].Value;
nomlot2 := Query.Rs.Fields['nomlotB'].Value;
etc... jusqu'a 15

Après je crées mon label

for I := 1 to 15 do begin

lab := Tlabel.Create(Self);
With lab do begin
name := 'label' + IntToStr(I + 7);
nom := string.Caption ('nomlot'+IntToStr( I));
lab.caption := nom;
Parent := estimation;
Top:= X + 80;
left:= 100;
Width:=100;
height:=200;
              end;

le problème est dans le "caption" à l'exécution la valeur numlot 1 à 15 m'est renvoyé au lieu que soit renvoyé la valeur de QUERY qui serait en l'occurence : Gros oeuvre pour nomlot1 par exemple....

je n'arrive pas à trouver ma solution malgré avoir parcouru le forum en long, en large et entravers .... quelqu'un pourrait il venir à mon aide ... ?

mici d'avance
Gilore

6 réponses

Utilisateur anonyme
13 oct. 2006 à 09:10
Salut,

Ton appli fait ce que tu luis demandes :

nom := string.Caption ('nomlot'+IntToStr( I));
lab.caption := nom;

Tu dis bien que lab.caption:='nomlot'+IntToStr(I) ??

------------------

Une technique truc :
Tu récupères initialement tes strings dans une TStringList et ensuite

for I := 1 to 15 do
begin
lab := Tlabel.Create(Self);
With lab do begin
name := 'label' + IntToStr(I + 7);
lab.caption :=MyStringList.strings[I-1];
Parent := estimation;
Top:= X + 80;
left:= 100;
Width:=100;
height:=200;
End;
0
Utilisateur anonyme
13 oct. 2006 à 21:58
Hey Gilore t'es la ??
0
gilore Messages postés 15 Date d'inscription mardi 27 juin 2006 Statut Membre Dernière intervention 26 novembre 2006
16 oct. 2006 à 06:15
oui je suis la mais je n'ai pas essayé ton "truc", de plus avec ce code, j'ai l'impression de récupérer la liste complète d'un coup, d'un seul, or que je souhaite faire ca nom par nom et dans l'ordre de préférence,

... quid ?
0
Utilisateur anonyme
16 oct. 2006 à 18:02
Heu,

Rien en t'empeche de faire cela string par string : il suffit de remplir progressivement ton stringlist et en meme temps lancer la procedure que je t'ai passé.

ca serait quand meme sympas à l'avenir que tu fasses au moyen l'effort d'essayer : de quoi que l'on se casse pas les miches pour rien. Pas bien comme mentalité ca humm ;).

Puis si tu avais pris la peine 30 sec de décortiquer ce bout de code tu aurais vu :
1) que c'est ton code initialement faux légèrement modifié sans toucher le principe et qui lui fonctionne.
2) Que simplement en placant correctemment tes For Do, tu pouvais répondre à ta dernière exigeance.

@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gilore Messages postés 15 Date d'inscription mardi 27 juin 2006 Statut Membre Dernière intervention 26 novembre 2006
17 oct. 2006 à 06:46
non non, ne te meprend pas, je suis en train, d'essayer mais je suis débutant et je n'ai jamais essayé les stringlist donc je suis uun petit chouillat lent pour trouver comment l'utiliser correctement ...
et je n'oublierais pas d'accepter ta réponse dès que cela sera fonctionnel

a+

gilore
0
gilore Messages postés 15 Date d'inscription mardi 27 juin 2006 Statut Membre Dernière intervention 26 novembre 2006
17 oct. 2006 à 07:49
et je dirais meme plus que la mise en place de la stringlist m'indique à la construction... " indice hors limite"
je n'arrive pas à résoudre ce problème
0
Rejoignez-nous