Comment faire pour ...

Danyelk Messages postés 69 Date d'inscription samedi 25 décembre 2004 Statut Membre Dernière intervention 21 août 2008 - 10 juil. 2005 à 14:01
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 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.

10 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 129
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/
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
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 !?
0
Danyelk Messages postés 69 Date d'inscription samedi 25 décembre 2004 Statut Membre Dernière intervention 21 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 ;)
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
10 juil. 2005 à 18:49
Milliers d'objets ? explique un peu plus STP.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0

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

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 129
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/
0
Danyelk Messages postés 69 Date d'inscription samedi 25 décembre 2004 Statut Membre Dernière intervention 21 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.

=72978 liquide
Et oui pas le choix !!!

DARKSIDIOUS
Hmmm peux tu m'en dires plus, car je saisi pas completement ce que tu entends par reference d'objet.
Un petit exemple serait le top ;)

En vous remerciant tt les 3.
0
Danyelk Messages postés 69 Date d'inscription samedi 25 décembre 2004 Statut Membre Dernière intervention 21 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 ;)
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
10 juil. 2005 à 20:38
Pour un ex en vb.net, je ne pourrai t'en donner un que demain dans la journée. Je n'ai pas encore vb.net chez moi.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
Danyelk Messages postés 69 Date d'inscription samedi 25 décembre 2004 Statut Membre Dernière intervention 21 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 ...

Je sais plus ou et quoi chercher moi ... :(

ps: np canis ;)
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
10 juil. 2005 à 23:18
Bonsoir,

Je ne connais le .Net, mais voici la solution en VB6, pour ceux que celà intéressent.



Private Sub Command1_Click()

Dim madonnée

Set madonnée = image_base_1.Picture

Set image_affichage.Picture = madonnée

End Sub



jpleroisse
0