jannoman
Messages postés256Date d'inscriptionjeudi 17 avril 2003StatutMembreDernière intervention20 février 2008
-
11 janv. 2006 à 16:46
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
12 janv. 2006 à 12:21
Salut !
J'aurai voulu savoir s'il y avait un moyen de se créer des listes de type perso (j'ai essayé et ca marchait pas, avec Dim a as new colleection, a.add b où b est de type typeperso)
Merci de répondre.
A+.
Thomas.
P.S : je repose ce message parce que sur l'autre j'ai eu plusieurs réponses qui ne marchaient pas, et du coup ceux qui avaient peut être la réponse n'ont pas répondu prce qu'ils ont vu qu'il y avait déja 6 réponses à mon problème
mrdep1978
Messages postés402Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention 7 juin 20097 11 janv. 2006 à 17:09
Salut,
Pour ce que j'en sais, il est impossible d'ajouter un objet de type perso à une collection.
Le seul moyen que j'ai trouvé pour faire ça, c'est de créer un module de classe.
Exemple :
J'ai créé un module de classe (CTest) qui contient
-----------------------------------
Option Explicit
Public Nom As String
Public Prenom As String
------------------------------------
Ensuite je fais :
-------------------------------------
Public Sub test()
Dim lCol As New Collection
Dim l_Test As CTest
'Ajout d'un élément à la collection
Set l_Test = New CTest
With l_Test
.Nom = "MAJAX"
.Prenom = "Gérard"
End With
lCol.Add l_Test, "Perso1"
'Ajout d'un 2e élément à la collection
Set l_Test = New CTest
With l_Test
.Nom = "GARCIMORE"
.Prenom = "???"
End With
lCol.Add l_Test, "Perso2"
jpleroisse
Messages postés1788Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention11 mars 200627 11 janv. 2006 à 21:15
Bonsoir,
Je te remets ici un code que j'avais placé sur ton post précédant.
Ce code fonctionne très bien, Donc je me répette, si celà ne te
convient pas, Explique clairement ce que tu veux faire et qu'est que
c'est ce typeperso ??
Private Sub Command1_Click()
Dim a As New Collection
a.Add ("1230")
a.Add ("2460")
a.Add ("Bonjour")
MsgBox a.Item(1)
MsgBox a.Item(3)
End Sub
jpleroisse
Si une réponse vous convient, cliquez Réponse Acceptée.
jannoman
Messages postés256Date d'inscriptionjeudi 17 avril 2003StatutMembreDernière intervention20 février 20081 12 janv. 2006 à 09:45
jean pierre :
ton code fonctionne, il n'y a aucun probleme.
ce que je veux : (effectivement je me suis peut etre pas expliqué assez clairement)
je veux avoir une liste de type perso c'est à dire pas une liste d'entiers, ni une liste de chaines de caractères, mais par exemple une liste de couples d'entiers ou autre.
pour etre plus clair voila mon projet : on commande un petit visseau qui tire des missiles. Les missiles ont 3 propriétés : 1 : leur puissance, codé sur un entier, 2 leur x et 3 leur y.
Quand un missile arrive en haut de l'écran on le supprime, et quand on appuie sur espace ca en tire 1. Il faut donc traiter ce probleme avec les listes et j'aimerai avoir une liste des missiles qui sont sur l'écran (avec leurs 3 propriétés dedans)
type missile
power as integer
x as integer
y as integer
end type
J'ai fait une solution batarde qui consiste à utiliser 3 listes ("Collection") en même temps, et ca marche, mais c'est pas propre.
Je suis aussi sur un autre projet où il faudrait la liste des rectangles dessinés dans une picture box. il faut 4 coordonnées pour chacun, ainsi que 1 numéro pour chacun correspondant à ce que contient le rectangle, et 1 autre pour la couleur. C'est pour ca que je me demandais si quelqu'un connaissait une solution pour faire 1 Collection au lieu de 6 dans ce cas.
A+.
Thomas.
PS : j'ai pas encore essayé le code de mrdep1978
PS 2 : si je fais un message trop long les gens vont moins répondre
PS 3 : c'est vrai que si vous avez jamais programmé en camL vous serez moins à même de comprendre ce que j'ai voulu dire. je m'expliquerai mieux la prochaine fois. désolé
Vous n’avez pas trouvé la réponse que vous recherchez ?