morpheez
Messages postés4Date d'inscriptionlundi 22 janvier 2007StatutMembreDernière intervention28 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
A voir également:
"Server api" "build date" "php version 4.4.3" "php variables"
morpheez
Messages postés4Date d'inscriptionlundi 22 janvier 2007StatutMembreDernière intervention28 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
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