passage de tableau en paramètre (sub ou classe)
Bonjour à tous,
je souhaiterai passer en paramètre un tableau(,) du module principale vers un sub d'une classe et ensuite le récupérer, modifié (rempli) dans le module principale.
La même chose, faire un appel à un sub de classe à partir de mon module principale, passer comme parametre le tableau et me servir de ce dernier afin de remplir un datagridview via le sub de cette classe.
Ci-dessous un extrait de la classe :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| Imports System.Xml
Public Class cls_tools
Public Sub xml_Parsing(ByVal xml_FileName As String, ByVal xml_xpath As String, ByRef xml_array(,) As String)
' création de l'objet XmlDocument et load du fichier xml
Dim myxdoc As XmlDocument = New XmlDocument
myxdoc.Load(xml_FileName) '(Application.StartupPath & "Newsite.XML")
' se placer sur la balise (tag) parent a lire (root)
Dim xml_MainRoot As XmlNodeList
xml_MainRoot = myxdoc.SelectNodes(xml_xpath)
'Définition des variables Nodes
Dim xml_BlocNode, xml_EnfantNode As XmlNode
Dim mycol, myrow As Short
myrow = 0
For Each xml_BlocNode In xml_MainRoot
mycol = 0
For Each xml_EnfantNode In xml_BlocNode.ChildNodes
xml_array(myrow, mycol) = xml_EnfantNode.InnerText
mycol += 1
Next
myrow += 1
Next
myxdoc = Nothing
End Sub
Public Sub fill_dgv(ByRef mydgv As DataGridView, ByVal xml_array(,) As String)
For row = 0 To xml_array.GetUpperBound(0)
mydgv.Rows.Add()
For col = 0 To xml_array.GetUpperBound(1)
mydgv.Item(col, row).Value = xml_array(row, col)
Next
Next
End Sub
End Class |
ici, le sub xml_parsing va parser le fichier xml et remplir le tableau xml_array(,).
le sub fill_dgv permet de remplir un datagridview avec le tableau précédement rempli avec le contenu du xml.
ci-dessous une part du code appelant :
Code:
1 2 3 4 5 6
| Public Sub Test_Class_Click(sender As System.Object, e As System.EventArgs) Handles Test_classe.Click
Dim xml_array(0, 0) As Array
tools.xml_Parsing(xml_FileName, xml_xpath, xml_array(0, 0))
End Sub |
J'ai donc bien déclaré ma classe. ça, ça va.
En revanche je ne vois pas comment je peux déclarer et transférer mon tableau vers la classe...
Une idées ???
Est-ce dim mytab(,) as array ou string ?
Est-ce ...ByVal xml_xpath As String, ByRef xml_array(,) As String ou array) ?
Merci
Patrick