OVH Cloud OVH Cloud

Délacer élément de collection

6 réponses
Avatar
Loïc BERTHOLLET
Bonjour.

Quelqu'un sait-il comment déplacer des élémens d'une collection homogène au
sein de cette même collection ?

Je m'explique: la collection ne contient que des objet d'une même classe que
j'ai définie moi-même. Cette collecton est affichée sous forme de liste et le
client veut délacer les différents éléments à sa guise. Mais comme on est
lundi, et que je ne suis pas en forme, je me demandais s'il n'y avait pas un
moyen moins bourrin que de créer dans ma classe une méthode "clone",
l'insérer ou je veux et détruire l'originale... (après tout, si on fait du
VB, c'est quand même pas pour tout refaire, style C++ !!!!)

6 réponses

Avatar
Eric
on 9/20/2004, Loïc BERTHOLLET supposed :
Bonjour.

Quelqu'un sait-il comment déplacer des élémens d'une collection homogène
au sein de cette même collection ?

Je m'explique: la collection ne contient que des objet d'une même classe que
j'ai définie moi-même. Cette collecton est affichée sous forme de liste et
le client veut délacer les différents éléments à sa guise. Mais comme
on est lundi, et que je ne suis pas en forme, je me demandais s'il n'y avait
pas un moyen moins bourrin que de créer dans ma classe une méthode
"clone", l'insérer ou je veux et détruire l'originale... (après tout, si
on fait du VB, c'est quand même pas pour tout refaire, style C++ !!!!)



Bonjour,
je n'ai pas bien compris votre question. On accède à un élément d'une
collection par son index ou sa clef de type string où est le problème?
Par contre si vous voulez cloner un objet c'est autre chose. A ma
connaissance, vous devez passer par une méthode de recopie.

@+ Eric

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com
Avatar
Loïc BERTHOLLET
Imaginons que j'ai une liste de 5 objets "Guignol" dans ma collection, je
souhaite que l'utilisateur puisse déplacer, par exemple, "Guignol n°5" avant
"Guignol n°2".

Hélas, J'ai bien peur d'être obligé de créer une méthode de copie dans ma
classe !
Puis de faire moi-même les déplacements
Le truc, c'est que j'aurais bien aimé m'en passer !
...Histoire de pas créer de bug quand je modifie les données de ma classe
"Guignol"

Comme la collection sait ajouter, détruire, énumérer, j'escomptais qu'elle
sache déplacer !

merci quand même.
Loic BERTHOLLET

"Eric" a écrit :

on 9/20/2004, Loïc BERTHOLLET supposed :
> Bonjour.
>
> Quelqu'un sait-il comment déplacer des élémens d'une collection homogÚne
> au sein de cette même collection ?
>
> Je m'explique: la collection ne contient que des objet d'une même classe que
> j'ai définie moi-même. Cette collecton est affichée sous forme de liste et
> le client veut délacer les différents éléments à sa guise. Mais comme
> on est lundi, et que je ne suis pas en forme, je me demandais s'il n'y avait
> pas un moyen moins bourrin que de créer dans ma classe une méthode
> "clone", l'insérer ou je veux et détruire l'originale... (aprÚs tout, si
> on fait du VB, c'est quand même pas pour tout refaire, style C++ !!!!)

Bonjour,
je n'ai pas bien compris votre question. On accède à un élément d'une
collection par son index ou sa clef de type string où est le problème?
Par contre si vous voulez cloner un objet c'est autre chose. A ma
connaissance, vous devez passer par une méthode de recopie.

@+ Eric

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com




Avatar
Patrice Henrio
Il n'y aurait pas de méthode index ?
Parce que dans ce cas c'est simple il suffit d'intervertir les deux index.

"Loïc BERTHOLLET" a écrit dans le
message de news:
Imaginons que j'ai une liste de 5 objets "Guignol" dans ma collection, je
souhaite que l'utilisateur puisse déplacer, par exemple, "Guignol n°5"
avant
"Guignol n°2".

Hélas, J'ai bien peur d'être obligé de créer une méthode de copie dans ma
classe !
Puis de faire moi-même les déplacements
Le truc, c'est que j'aurais bien aimé m'en passer !
...Histoire de pas créer de bug quand je modifie les données de ma classe
"Guignol"

Comme la collection sait ajouter, détruire, énumérer, j'escomptais qu'elle
sache déplacer !

merci quand même.
Loic BERTHOLLET

"Eric" a écrit :

on 9/20/2004, Loïc BERTHOLLET supposed :
> Bonjour.
>
> Quelqu'un sait-il comment déplacer des élémens d'une collection
> homogÃsne
> au sein de cette même collection ?
>
> Je m'explique: la collection ne contient que des objet d'une même
> classe que
> j'ai définie moi-même. Cette collecton est affichée sous forme de
> liste et
> le client veut délacer les différents éléments à sa guise. Mais
> comme
> on est lundi, et que je ne suis pas en forme, je me demandais s'il n'y
> avait
> pas un moyen moins bourrin que de créer dans ma classe une méthode
> "clone", l'insérer ou je veux et détruire l'originale... (aprÃss
> tout, si
> on fait du VB, c'est quand même pas pour tout refaire, style C++
> !!!!)

Bonjour,
je n'ai pas bien compris votre question. On accède à un élément d'une
collection par son index ou sa clef de type string où est le problème?
Par contre si vous voulez cloner un objet c'est autre chose. A ma
connaissance, vous devez passer par une méthode de recopie.

@+ Eric

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com






Avatar
Quasimodo
Patrice Henrio presented the following explanation :
Il n'y aurait pas de méthode index ?
Parce que dans ce cas c'est simple il suffit d'intervertir les deux index.

"Loïc BERTHOLLET" a écrit dans le
message de news:
Imaginons que j'ai une liste de 5 objets "Guignol" dans ma collection, je
souhaite que l'utilisateur puisse déplacer, par exemple, "Guignol n°5"
avant
"Guignol n°2".

Hélas, J'ai bien peur d'être obligé de créer une méthode de copie dans ma
classe !
Puis de faire moi-même les déplacements
Le truc, c'est que j'aurais bien aimé m'en passer !
...Histoire de pas créer de bug quand je modifie les données de ma classe
"Guignol"

Comme la collection sait ajouter, détruire, énumérer, j'escomptais qu'elle
sache déplacer !

merci quand même.
Loic BERTHOLLET

"Eric" a écrit :

on 9/20/2004, Loïc BERTHOLLET supposed :
Bonjour.

Quelqu'un sait-il comment déplacer des élémens d'une collection
homogÃsne
au sein de cette même collection ?

Je m'explique: la collection ne contient que des objet d'une même
classe que
j'ai définie moi-même. Cette collecton est affichée sous forme de
liste et
le client veut délacer les différents éléments à sa guise. Mais
comme
on est lundi, et que je ne suis pas en forme, je me demandais s'il n'y
avait
pas un moyen moins bourrin que de créer dans ma classe une méthode
"clone", l'insérer ou je veux et détruire l'originale... (aprÃss
tout, si
on fait du VB, c'est quand même pas pour tout refaire, style C++
!!!!)



Bonjour,
je n'ai pas bien compris votre question. On accède à un élément d'une
collection par son index ou sa clef de type string où est le problème?
Par contre si vous voulez cloner un objet c'est autre chose. A ma
connaissance, vous devez passer par une méthode de recopie.

@+ Eric

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com









Bonjour,
oui et comment ?

@+ Q

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com
Avatar
Quasimodo
Loïc BERTHOLLET pretended :
Imaginons que j'ai une liste de 5 objets "Guignol" dans ma collection, je
souhaite que l'utilisateur puisse déplacer, par exemple, "Guignol n°5"
avant "Guignol n°2".

Hélas, J'ai bien peur d'être obligé de créer une méthode de copie dans
ma classe !
Puis de faire moi-même les déplacements
Le truc, c'est que j'aurais bien aimé m'en passer !
...Histoire de pas créer de bug quand je modifie les données de ma classe
"Guignol"

Comme la collection sait ajouter, détruire, énumérer, j'escomptais qu'elle
sache déplacer !

merci quand même.
Loic BERTHOLLET

"Eric" a écrit :

on 9/20/2004, Loïc BERTHOLLET supposed :
Bonjour.

Quelqu'un sait-il comment d�©placer des �©l�©mens d'une collection
homog�šne au sein de cette m�ªme collection ?

Je m'explique: la collection ne contient que des objet d'une m�ªme classe
que j'ai d�©finie moi-m�ªme. Cette collecton est affich�©e sous
forme de liste et le client veut d�©lacer les diff�©rents
�©l�©ments � sa guise. Mais comme on est lundi, et que je ne suis
pas en forme, je me demandais s'il n'y avait pas un moyen moins bourrin
que de cr�©er dans ma classe une m�©thode "clone", l'ins�©rer ou je
veux et d�©truire l'originale... (apr�šs tout, si on fait du VB,
c'est quand m�ªme pas pour tout refaire, style C++ !!!!)



Bonjour,
je n'ai pas bien compris votre question. On accède à un élément d'une
collection par son index ou sa clef de type string où est le problème?
Par contre si vous voulez cloner un objet c'est autre chose. A ma
connaissance, vous devez passer par une méthode de recopie.

@+ Eric

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com







re,
peut être avec le Dictionary Object du Microsoft Scripting Runtime.
exemple :
--------------
form principal
--------------

Option Explicit

Private m_dicObjects As Dictionary

Private Sub Command1_Click()

Dim lngNbr As Long
Dim lngCpt As Long
Dim objLocal As clsToto

lngNbr = 5
Set m_dicObjects = New Dictionary
For lngCpt = 1 To lngNbr
Set objLocal = New clsToto
objLocal.whoIAM = "IAMthe_" & CStr(lngCpt)
m_dicObjects.Add objLocal.whoIAM, objLocal
Set objLocal = Nothing
Next lngCpt

For lngCpt = 1 To m_dicObjects.Count
Debug.Print m_dicObjects.Item("IAMthe_" & CStr(lngCpt)).whoIAM
Next lngCpt

Set objLocal = m_dicObjects.Item("IAMthe_1")
Set m_dicObjects.Item("IAMthe_1") = m_dicObjects.Item("IAMthe_5")
Set m_dicObjects.Item("IAMthe_5") = objLocal
Set objLocal = Nothing

Set objLocal = m_dicObjects.Item("IAMthe_2")
Set m_dicObjects.Item("IAMthe_2") = m_dicObjects.Item("IAMthe_4")
Set m_dicObjects.Item("IAMthe_4") = objLocal
Set objLocal = Nothing

For lngCpt = 1 To m_dicObjects.Count
Debug.Print m_dicObjects.Item("IAMthe_" & CStr(lngCpt)).whoIAM
Next lngCpt

End Sub

----------
Class toto
----------

Option Explicit

Private m_strwhoIAM As String

Public Property Get whoIAM() As String

whoIAM = m_strwhoIAM

End Property

Public Property Let whoIAM(ByVal strNewValue As String)

m_strwhoIAM = strNewValue

End Property

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com
Avatar
christophe-pasde
Bonjour,

Pour que l'utilisateur puisse déplacer un guignol il faut qu'il le
selectionne, l'utilisateur indique par exemple le N° du guignol à
déplacer : NumG$
soit (non testé)

ClsGuignol
ClsGuignols

Dim TmpObj as Guignol
set TmpObj= new clsguignol

set TmpObj= ClsGuignol("Guignol N°" & NumG$)
ClsGuignols.delete TmpObj
ClsGuignols.add TmpObj,"Guignol N°" & NumG$, "Guignol N°2"
set TmpObj=nothing

christophe

Loïc BERTHOLLET a écrit :

Imaginons que j'ai une liste de 5 objets "Guignol" dans ma collection, je
souhaite que l'utilisateur puisse déplacer, par exemple, "Guignol n°5" avant
"Guignol n°2".

Hélas, J'ai bien peur d'être obligé de créer une méthode de copie dans ma
classe !
Puis de faire moi-même les déplacements
Le truc, c'est que j'aurais bien aimé m'en passer !
...Histoire de pas créer de bug quand je modifie les données de ma classe
"Guignol"

Comme la collection sait ajouter, détruire, énumérer, j'escomptais qu'elle
sache déplacer !

merci quand même.
Loic BERTHOLLET

"Eric" a écrit :


on 9/20/2004, Loïc BERTHOLLET supposed :

Bonjour.

Quelqu'un sait-il comment déplacer des élémens d'une collection homogÚne
au sein de cette même collection ?

Je m'explique: la collection ne contient que des objet d'une même classe que
j'ai définie moi-même. Cette collecton est affichée sous forme de liste et
le client veut délacer les différents éléments à sa guise. Mais comme
on est lundi, et que je ne suis pas en forme, je me demandais s'il n'y avait
pas un moyen moins bourrin que de créer dans ma classe une méthode
"clone", l'insérer ou je veux et détruire l'originale... (aprÚs tout, si
on fait du VB, c'est quand même pas pour tout refaire, style C++ !!!!)



Bonjour,
je n'ai pas bien compris votre question. On accède à un élément d'une
collection par son index ou sa clef de type string où est le problème?
Par contre si vous voulez cloner un objet c'est autre chose. A ma
connaissance, vous devez passer par une méthode de recopie.

@+ Eric

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com