- Public Sub LoadData(File as string, twMenu as Treeview)
- Dim f As Byte
- Dim currentLevel As Long, lastLevel As Long
- Dim lin As String, txt As String, key As Byte
- Dim nodes() As Node
- Dim MaxLvl As Integer
-
- ReDim nodes(0) As Node
-
- f = FreeFile
- 'ouverture fichier
- Open File For Input As #f
- Do
- 'on lit la ligne
- Line Input #f, lin
- 'on regarde le nombre d'espace qui correspond au nombre de parents
- currentLevel = Len(lin) - Len(LTrim$(lin))
- txt = LTrim$(lin)
-
- 'on redimensionne le tableau si un nouveau niveau existe
- If currentLevel > MaxLvl Then
- MaxLvl = MaxLvl + 1
- ReDim Preserve nodes(MaxLvl) As Node
- End If
-
- 'On enregistre dans le tableau le noeud courant et son niveau dans l'arbre
- If currentLevel <> 0 Then
- Set nodes(currentLevel) = twMenu.nodes.Add(nodes(currentLevel - 1).key, tvwChild, "a" & twMenu.nodes.Count, txt)
- Else
- Set nodes(currentLevel) = twMenu.nodes.Add(, , "a" & twMenu.nodes.Count, txt)
- End If
- lastLevel = currentLevel
- Loop While Not EOF(f)
- Close f
- End Sub
Public Sub LoadData(File as string, twMenu as Treeview)
Dim f As Byte
Dim currentLevel As Long, lastLevel As Long
Dim lin As String, txt As String, key As Byte
Dim nodes() As Node
Dim MaxLvl As Integer
ReDim nodes(0) As Node
f = FreeFile
'ouverture fichier
Open File For Input As #f
Do
'on lit la ligne
Line Input #f, lin
'on regarde le nombre d'espace qui correspond au nombre de parents
currentLevel = Len(lin) - Len(LTrim$(lin))
txt = LTrim$(lin)
'on redimensionne le tableau si un nouveau niveau existe
If currentLevel > MaxLvl Then
MaxLvl = MaxLvl + 1
ReDim Preserve nodes(MaxLvl) As Node
End If
'On enregistre dans le tableau le noeud courant et son niveau dans l'arbre
If currentLevel <> 0 Then
Set nodes(currentLevel) = twMenu.nodes.Add(nodes(currentLevel - 1).key, tvwChild, "a" & twMenu.nodes.Count, txt)
Else
Set nodes(currentLevel) = twMenu.nodes.Add(, , "a" & twMenu.nodes.Count, txt)
End If
lastLevel = currentLevel
Loop While Not EOF(f)
Close f
End Sub