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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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