Danyelk
Messages postés69Date d'inscriptionsamedi 25 décembre 2004StatutMembreDernière intervention21 août 2008
-
10 juil. 2005 à 14:01
jpleroisse
Messages postés1788Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention11 mars 2006
-
10 juil. 2005 à 23:18
Salut,
Comment faire pour definir un nom d'objet a partir d'une donnee string ?
Je m'explique :
Je recupere par une routine, le nom d'un objet image, dans une donnee string
(par exemple : madonnee = "image_base_1")
et a partir de cette donnee, je veux pouvoir l'attribuer à un autre emplacement d'image
(par exemple : image_affichage.image = madonnee.image)
Mais bien sur, ca ne fonctionne pas car les types sont differents.
D'ou ma question, comment faire pour que cela puisse fonctionner ???
Merci de votre aide.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 10 juil. 2005 à 18:00
Et pourquoi ne pas passer l'objet directement, car je ne pense pas que
ton truc puisse fonctionner : comment veux-tu que VB puisse reconnaître
le type d'objet uniquement par son nom ? On n'est pas en LISP ici, lol
;)
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200621 10 juil. 2005 à 18:01
Salut,
Je ne sais pas si j'ai bien compris mais, à ma connaissance, il n'est pas possible de repérer directement un controle à partir d'une donnée string. Il faut parcourir la collection de controles de la form jusqu'à trouver le bon :
Dim c As Control
For Each c In Me.Controls
If c.Name = madonnee Then
image_affichage.image = c.image
exit for
End If
Next
-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
Danyelk
Messages postés69Date d'inscriptionsamedi 25 décembre 2004StatutMembreDernière intervention21 août 2008 10 juil. 2005 à 18:34
Merci Dark et Canis.
J'ai deja vu cette methode de recherche a partir d'une collection de controles, mais je la trouve peu efficace et surtout peu optimisee et optimisable sur une collection de plusieurs milliers d'objets ...
J'ai beau chercher et demander un peu de partout, mais tjrs aucune autre solution.
Merci.
Si vous avez une autre solution 'viable', n'hesitez pas ;)
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 10 juil. 2005 à 18:53
C'est pour cà que je te suggère de passer directement une référence
d'objet et non une chaîne correspondant au nom de l'objet : c'est moins
souple à utiliser, mais c'est bien plus optimisé !
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
Danyelk
Messages postés69Date d'inscriptionsamedi 25 décembre 2004StatutMembreDernière intervention21 août 2008 10 juil. 2005 à 19:06
169075 CanisLupus Pour rentrer plus dans le detail, c'est plutot qq centaines et pas milliers d'objet ... (j'ai fourche ;))
Il s'agit en fait de pages de sprites (directement inclus dans des form)
Ca fonctionnais tres bien avec les index en vb6, mais comme je dois retranscrire en .net, je galere pour definir et recreer un algo ou routine efficace et fiable.
Danyelk
Messages postés69Date d'inscriptionsamedi 25 décembre 2004StatutMembreDernière intervention21 août 2008 10 juil. 2005 à 19:19
Oupsssss, j'ai oublie de signaler que c'est du vb.net dans mon premier post ... arf
Oui pour le ctype / gettype, mais je vois pas comment faire pour un objet image.
Un petit exemple serait encore le top ;)
Danyelk
Messages postés69Date d'inscriptionsamedi 25 décembre 2004StatutMembreDernière intervention21 août 2008 10 juil. 2005 à 21:14
Merci pour ton aide, mais ...
dim MonObj as image = ctype(image_base_1, image)
La definition 'as image' n'existe pas, et j'ai rien trouve de correspondant à une image ou picture.
Deplus, quand je fais un : Console.WriteLine("Donnees : ", image_base_1.GetType())
Il me retourne vide ...