cs_rafanel
Messages postés21Date d'inscriptionlundi 17 mars 2003StatutMembreDernière intervention 8 mars 2012
-
8 mars 2012 à 09:47
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
8 mars 2012 à 12:46
c'est mon premier dev en vb.net en vb6 j'utilise les strutures TYPE et tout fonctionne correctement.
je n'arrive pas à remplir le tableau dans ma structure
'voici ma partie déclaration ' Structure d'un carton
Public Structure Carton
Dim Numero(,) As Short
Dim Sortie(,) As Boolean
Public Sub Initialize()
ReDim Numero(9, 2)
ReDim Sortie(8, 2)
End Sub
End Structure
Public TabCarton() As Carton
'Dans mon code du load de la form ' Lecture du nombre de carton
NbCarton = CInt(Get_Private_Profile_String("Cartons", "nb", "", FichierIni))
' Init Variables
TabCarton = New Carton(NbCarton) {}
TabCarton.Initialize()
' je remplis ma structure
For i = 0 To 8
'Ligne 1
If TxtLigne1(i).Text <> "" Then
Le problème est ici quand j'écris TabCarton(Carton).Numero(i, 0) = CInt(TxtLigne1(i).Text)
TabCarton(Carton).Sortie(i, 0) = False
....
Qu'est ce que j'ai oublier ou mal fait ???
merci par avance d'une aide
TR
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 8 mars 2012 à 10:15
Bonjour,
Tabcarton est déjà une structure en soi, puisque définie as carton !
=>>
Tabcarton.numero(1,0) pointe donc vers l'élément 1,0 du tableau numero, lui-même membre de tabcarton
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
cs_rafanel
Messages postés21Date d'inscriptionlundi 17 mars 2003StatutMembreDernière intervention 8 mars 2012 8 mars 2012 à 10:44
ok erreur de ma part
j'ai changer mon code en renomment ma variable local au sub de carton en MyCarton
Mais même pb voici le nouveau code
For i = 0 To 8
'Ligne 1
If TxtLigne1(i).Text <> "" Then
TabCarton(MyCarton).Numero(i, 0) = CInt(TxtLigne1(i).Text)
Erreur L'exception NullRerenceException n'a pas été gérée pour la ligne ci-dessus
je me demande si Numero est bien déclarer comme tableau car en passant la sourie en mode débug j'ai TabCarton(1).Numero Nothing
....
aurais-tu un exemple de code pour que je m'adapte ?
TR
tu persistes et signes !
Relis-moi !
Tabcarton est une structure. l'un de ses membres est numero (et c'est un tableau) ===>>
TabCarton.Numero(i, 0) = ....
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
cs_rafanel
Messages postés21Date d'inscriptionlundi 17 mars 2003StatutMembreDernière intervention 8 mars 2012 8 mars 2012 à 11:55
j'ai trouvé, mais il existe peut être mieux vous de me le dir...
Puisque je veux avoir un tableau avec comme définition une structure qui contient des tableaux.
il faut relancer TabCarton(NbCarton).Initialize() à chaque fois qu'on ajoute un nouvel indice au tableau TabCarton
voici mon code corrigé
'voici ma partie déclaration ' Structure d'un carton
Public Structure Carton
Dim Numero(,) As Short
Dim Sortie(,) As Boolean
Public Sub Initialize()
ReDim Numero(9, 2)
ReDim Sortie(8, 2)
End Sub
End Structure
Public TabCarton() As Carton
'Dans mon code du load de la form ' Init Variables
NbCarton = +1
ReDim TabCarton(NbCarton)
TabCarton(NbCarton).Initialize()
'je remplis ma structure
For i = 0 To 8
'Ligne 1
If TxtLigne1(i).Text <> "" Then
Le problème est ici quand j'écris
TabCarton(MyCarton).Numero(i, 0) = CInt(TxtLigne1(i).Text)
TabCarton(MyCarton).Sortie(i, 0) = False
....
TR
Vous n’avez pas trouvé la réponse que vous recherchez ?
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 8 mars 2012 à 12:46
Pour moi, la chose est simple :
c'est tout simplement
Public TabCarton As Carton
puis ce que j'en ai déjà dit plus haut
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient