1217meyrin
Messages postés159Date d'inscriptionlundi 5 avril 2004StatutMembreDernière intervention 6 février 2007
-
10 janv. 2006 à 08:40
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 2006
-
10 janv. 2006 à 11:18
Bonjour,
peut-on convertir une string en control?
exemple que j'aimerai faire:
ctrl et triangle2 sont des controls et triangle est une string
triangle=ctrl.name
triangle2.name=triangle
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 10 janv. 2006 à 09:17
Salut,
Oula, tu es en VB ici, pas en LISP ! Les variables sont typées, donc il
n'est pas possible de faire passer une simple chaîne de caractère
nommée en DBGrid2WidthManyColumns en une DBGrid qui comporterait un bon
millier de colonne, il faut pas rêver !
Maintenant, il existe des variables de type Object qui peuvent peut-être t'aider :
Dim Triangle As Object
Set Triangle = ctrl.name
MsgBox Triangle.Name 'IDEM que ctrl.Name
Triangle2.Name = Triangle.Name 'là par contre BUG : 2 contrôles
différents ne peuvent avoir le même nom ! A moins qu'ils ne fassent
partit d'un groupe de contrôle et que tu puisse les distinguer par un
index !
Sinon, il existe aussi les collection qui permettent de référencer chaque contrôle de la collection par leur nom par exemple.
Mais précise nous quel est le but que tu cherche à atteindre, ce sera
plus simple pour te dire quelle méthode est la plus adaptée et la plus
optimisée.
1217meyrin
Messages postés159Date d'inscriptionlundi 5 avril 2004StatutMembreDernière intervention 6 février 2007 10 janv. 2006 à 10:43
Voilà, je fait des boucle pour trouver parmi plusieurs controls avec des chiffres, le chiffre le plus élevé. dans la boucle quand il trouve le premier chiffre, il remplit la variable comme suit.
triangleaposer = ctrl5.Name
ensuite, pour le prochain passage, il compare le chiffre qu'il a calculé avec le chiffre de l'objet précédent et si il est plus élevé, il remplace triangleaposer par le nouveau nom de l'objet, etc.
à la fin de la boucle, il aura trouvé le nom de l'objet avec le plus grand chiffre. maintenant, j'aimerai afficher cet objet(control)
pour ce faire, voici le code
triangletrouve.Name = triangleaposer
triangletrouve.Left = posx
triangletrouve.Top = posy
triangletrouve.Visible = True
triangletrouve.Enabled =
True
mais, il me retourne cette erreur
Informations supplémentaires : La référence d'objet n'est pas définie à une instance d'un objet.
1217meyrin
Messages postés159Date d'inscriptionlundi 5 avril 2004StatutMembreDernière intervention 6 février 2007 10 janv. 2006 à 11:03
en fait, la variable triangleaposer est une string et contient le nom du control ayant le plus grand chiffre.
exemple: triangleaposer est peut-etre = a "triangle30_2" et j'aimerai pouvoir utiliser ce nom *triangle30_2" qui correspond automatiquement dans mon prog. à un control.
j'aimerai lui dire maintenant
triangle30_2.left=10 ou quelque chose comme ca
Vous n’avez pas trouvé la réponse que vous recherchez ?