jemanirambe
Messages postés3Date d'inscriptionmercredi 28 mai 2003StatutMembreDernière intervention28 mai 2006
-
22 mai 2006 à 16:34
michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 2013
-
28 mai 2006 à 21:54
Bonjour,
je suis débutant et j'ai un problème, mais qui n'en a pas...
j'aimerai vérifier dans un code si une variable existe, j'ai essayé" IF Not xxx " mais le code bloc variable inexitante...
michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 20131 27 mai 2006 à 17:14
mais encore? tu peux préciser ce que tu veux faire, s'il te plait?
tu peux stocker thisform.command1 dans une variable objet, mais ce n'est pas sans conséquences sur la suite de ton programme: celà crée une référence externe à ton form, et tu dois penser à supprimer cette référence externe pour pouvoir faire un release de ce form.
jemanirambe
Messages postés3Date d'inscriptionmercredi 28 mai 2003StatutMembreDernière intervention28 mai 2006 28 mai 2006 à 17:21
bjr,
enfait j'aimerai recuperer dans une form la couleur d'un texte et la metre dans une variable pour pourvoir la changer et la remetre en l'etat apres, exemple le texte est rouge,pour mes besoins j'aimerai le metre en jaune et le remetre ensuite en rouge... le probleme vient aussi du fait que je doit verifier 25 texte dans la form, ces zones textes ne sont en fait que des points, mais ca n'a pas d'importance ici. Pour donner la couleur d'un texte je fait
ThisForm.TXT1.TXT1.S1.color = 255 ,S1 etant ingremente de S1 à S25. je recupere d'une autre maniere la position a changé dans un array color(x,y) la valeur de 1 a 25.
j'ai teste
x = "ThisForm.TXT1.TXT1.S1.color"
ensuite color = x
mais je recupere
color = "ThisForm.TXT1.TXT1.S1.color"
alors comment puis-je faire sans devoir ecrire des ligne de code par texte a changer.
merci de votre aide
aniram
Vous n’avez pas trouvé la réponse que vous recherchez ?
michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 20131 28 mai 2006 à 21:54
Il y a quelque chose qui m'échappe: si tu as un form, je comprends ce que peut être thisform.txt1, mais je ne vois pas du tout ce que tu appelles par thisform.txt1.txt1.s1
es-ce que tu peux préciser ça, s'il te plait :
- comment s'appelle ton form ?
- quels sont les controls dont tu veux modifier la couleur (un texte n'est pas un controle, un controle se définit par son nom, sa classe, sa classe de base, son parent)
- ces controls sont-ils tous directement sur le form (c'est à dire que le form est leur container parent) ou bien y en a-t-il qui sont dans un container de niveau inférieur au form (par exemple, un container, une page d'un pageframe, un grid) ?
Regarde SETALL dans l'aide, tu trouveras de quoi avancer sur la façon de modifier une propriété pour une collection d'objets.
Quant au stockage de la couleur initiale (pour pouvoir la rétablir ensuite), je te propose ou bien d'utiliser la propriété tag de tes controls, ou bien de rajouter une propriété tableau à ton form, dans laquelle tu stockerais ces valeurs avant modif, ou bien de sous-classer les controls qui doivent subir cette modif (et d'ajouter une propriété intialcolor à cette classe).
Qu'est-ce que tu préfères ? (mes 3 propositions vont dans l'order croissant du travail nécessaire, mais aussi de la correction dans la programmation orientée-objet)