Declaration de variables dependantes

morpheez Messages postés 4 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 28 janvier 2007 - 28 janv. 2007 à 12:33
 Utilisateur anonyme - 28 janv. 2007 à 17:31
Bonjour à tous,

J'ai un petit souci : je voudrais creer des variables globales en fonction d'autre : Je scan un tableau xml qui me renvoi un nombre de valeurs dans une varibable "compte". Ensuite je declare une srtucture qui utilise "compte" : sommetG(compte).x

Mon problème est que le scan du fichier est fait dans une Sub et que je voudrais créer cette structure sommetG en global.

J'ai essayé de délacré mon sommetG directement avant la sub pensant qu'il prendrait en compte le changement de la variable "compte" mais ça ne marche pas.

J'ai d'autre chose du même genre avec un tableau qui d'une sub à l'autre n'a pas les même propriété..

Pouvez vous m'aider, merci d'avance,

Morph

3 réponses

Utilisateur anonyme
28 janv. 2007 à 13:07
"mais ça ne marche pas.", mais pourquoi ? quel est l'erreur ? ou est ton code ?








__________
Kenji
0
morpheez Messages postés 4 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 28 janvier 2007
28 janv. 2007 à 17:15
Voici le code

Public Class Principal
   Public Structure Sommet
           Dim id As String
           Dim nom As String
           Dim valeur As String
           Dim x As String
           Dim y As String
           Dim par As Boolean
      End Structure
       Dim XmlDoc As Xml.XmlDocument = New Xml.XmlDocument()
    Dim element As Xml.XmlNodeList
    Dim noeud, noeudEnf As Xml.XmlNode
    Dim compte1 As String
    Dim tempid As String
    Dim tempiddepart As String
    Dim Tab1 As String
    Dim Tab2 As String
    Dim i As Integer
    Dim j As Integer
    Dim k As Integer
    Dim l As Integer
    Dim m As Integer
    Dim n As Integer
    Dim q As Integer
        Dim Tab(compte, compte + 1) As String
        Dim SommetG(compte) As Sommet
        Dim LienG(compte1) As Lien

     Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
   
        compte = 0
        compte1 = 0
        XmlDoc.Load("c:\graph\graph.XML")
        element = XmlDoc.DocumentElement.GetElementsByTagName("sommet")
        BarreProg.Show()
        BarreProg.Bar1.Increment(10)
        For Each noeud In element
            For Each noeudEnf In noeud.ChildNodes
                If noeudEnf.LocalName = "id" Then
                    tempid = noeudEnf.InnerText
                    compte = compte + 1
                End If
            Next
        Next
        element = XmlDoc.DocumentElement.GetElementsByTagName("lien")
        BarreProg.Bar1.Increment(10)
        For Each noeud In element
            For Each noeudEnf In noeud.ChildNodes
                If noeudEnf.LocalName = "idDepart" Then
                    tempiddepart = noeudEnf.InnerText
                    compte1 = compte1 + 1
                End If
            Next
        Next
        BarreProg.Bar1.Increment(10)
        nbrso.Text = compte
        nbrlien.Text = compte1
        TabA.ColumnCount = 0
 end sub

pivate sub bouton2 ()
Avec ce code, lorsque je souhaite utiliser les valeurs de sommetG ici j'ai une structure de 2 elements alors que compte = 16 si je place les instructions rouge dans bouton1.click, sommetg est inconnu dans bouton2.click, il me faut donc une déclaration globale
end sub
end class
0
Utilisateur anonyme
28 janv. 2007 à 17:31
Il faudrais aussi le créer ce tableau
Comme ce n'est pas une taille fixe, on ne spécifie pas de taille. On fait l'initalisation dés qu'on a le nombre de valeurs

Dim SommetG() As Sommet



Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
  Dim compte As Integer

  ' ... Ton Code ... '

  SommetG = CType(System.Array.CreateInstance(GetType(Sommet), compte), Sommet())
End Sub




__________
Kenji
0
Rejoignez-nous