rbidocho
Messages postés41Date d'inscriptionjeudi 7 juin 2007StatutMembreDernière intervention15 septembre 2008
-
14 juin 2007 à 16:37
gordonbrown
Messages postés14Date d'inscriptionmardi 29 mai 2007StatutMembreDernière intervention15 juin 2007
-
15 juin 2007 à 10:02
Bonjour,
Voilà, je suis en train de créer une classe qui me servira à passer des tableaux entre plusieurs form. Comme apparemment (si j'ai bien cherché !!??) on ne peut pas faire de Property sur des tableaux, je créer donc des Arraylist à la place de mes tableaux pour pouvoir récupérer la valeur via un Property.
Sur le tableau 1D pas de soucis : je donne et récupère la valeur sans problème
sur le Tableau 2D, les problème surviennent
Voici le code de ma classe :
Imports System
Imports System.Collections
Imports System.Windows.Forms
Imports Microsoft.VisualBasic
Namespace EssaiTableau
Public Class ValeurTableau1DSingle ' Défini et redonne la valeur Private ZValeur As Single
Public Sub New(ByVal TabValeur As Single)
Valeur = TabValeur
End Sub
Property Valeur() As Single
Get
Return ZValeur
End Get
Set(ByVal value As Single)
Zvaleur = value
End Set
End Property
End Class
Public Class Tableau1DSingle ' Fabrication d'un "Tableau" 1D
Private T1DSingle As ArrayList
Public Sub New()
T1DSingle = New ArrayList()
End Sub
Public Function Add(ByVal Ind1 as Long, ByVal TabValeur As Single) As ValeurTableau1DSingle ' Assignation de la valeur avec un truc du genre Tab.add(i,valeur) Dim TabVal As New ValeurTableau1DSingle(TabValeur)
T1DSingle.Insert(Ind1,TabVal)
Add = TabVal
End Function
Public ReadOnly Property Item(ByVal Ind1 As Integer) As ValeurTableau1DSingle
Get
Item = (CType(T1DSingle.Item(Ind1), ValeurTableau1DSingle))
' Récupération de la valeur avec un truc du genre Tab.item(i).valeur
End Get
End Property
End Class
Public Class Tableau2DSingle' Fabrication d'un "Tableau" 2D
Private T2DSingle As ArrayList
Private T1DSingle as ArrayList
Public Sub New()
T2DSingle = New ArrayList()
T1DSingle = New ArrayList
End Sub
Public Function Add(ByVal Ind1 as Long, ByVal Ind2 as Long, ByVal TabValeur As Single) As ArrayList Assignation de la valeur avec un truc du genre Tab.add(i,j,valeur)
Dim TabVal As New ValeurTableau1DSingle(TabValeur)
T1DSingle.Insert(Ind2,TabVal)
T2DSIngle.insert(Ind1,T1DSingle)
Add = T2DSIngle
End Function
Public ReadOnly Property Item(ByVal Ind1 As Integer, ByVal Ind2 as Long) As ValeurTableau1DSingle
Get
Item = Ctype(CType(T2DSingle.Item(Ind1), ArrayList).Item(Ind2),ValeurTableau1DSingle)
' Récupération de la valeur avec un truc du genre Tab.item(i,j).valeur End Get
End Property
End Class
End Namespace
je vois bien que mon soucis vient de la partie en rouge, mais je ne vois plus comment faire.
gordonbrown
Messages postés14Date d'inscriptionmardi 29 mai 2007StatutMembreDernière intervention15 juin 2007 15 juin 2007 à 10:02
declaration des arraylists n'est pas la meme ?
T2DSingle = New ArrayList()
T1DSingle = New ArrayList
et
T1DSingle.Insert(Ind2,TabVal)
T2DSIngle.insert(Ind1,T1DSingle)
et
la deuxieme "insert" est en miniscule, peut etre une signe que ce n'est pas reconnu par la complilateur
et