Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: 79137913 en Abril 17, 2014, 02:26:37 pm
-
HOLA!!!
Quisiera si alguien me puede ayudar con esto:
(si, necesito codigo, me estoy quemando la cabeza y no me sale)
El tema es el siguiente, tengo un archivo como este:
HKCU\AppEvents\Schemes
HKCU\AppEvents\Schemes\Apps
HKCU\AppEvents\Schemes\Apps\.Default
HKCU\AppEvents\Schemes\Apps\.Default\.Default
HKCU\AppEvents\Schemes\Apps\.Default\.Default\.Current
HKCU\AppEvents\Schemes\Apps\.Default\.Default\.Default
HKCU\AppEvents\Schemes\Apps\.Default\AppGPFault
HKCU\AppEvents\Schemes\Apps\.Default\AppGPFault\.Current
HKCU\AppEvents\Schemes\Apps\.Default\AppGPFault\.Default
HKCU\AppEvents\Schemes\Apps\.Default\CCSelect
HKCU\AppEvents\Schemes\Apps\.Default\Close
HKCU\AppEvents\Schemes\Apps\.Default\Close\.Current
HKCU\AppEvents\Schemes\Apps\.Default\Close\.Defaulty mucho mas largo, que son las claves de registro con sus path.
Necesito poblar un listview con ese arbol, pero no se me ocurre como hacer una funcion recursiva para que me haga ese tipo de metodo.
Espero que me hayan entendido.
Muchas Gracias.
GRACIAS POR LEER!!!
-
Private Sub Form_Load()
AddNodes "HKCU\AppEvents\Schemes"
AddNodes "HKCU\AppEvents\Schemes\Apps\.Default\Close\.Current"
AddNodes "HKCU\AppEvents\Schemes\Apps\.Default"
AddNodes "HKCU\AppEvents\Schemes\Apps\.Default\AppGPFault\.Current"
AddNodes "HKCU\AppEvents\Schemes\Apps\.Default\.Default\.Current"
End Sub
Private Sub AddNodes(ByVal sData As String)
Dim cColl As Collection
Set cColl = SplitItems(sData)
Insert cColl, Nothing
End Sub
Private Function Insert(ByVal cItems As Collection, ByVal objParent As Node)
Dim objNode As Node
If Not cItems.Count = 0 Then
If objParent Is Nothing Then
For Each objNode In TreeView1.Nodes
If objNode.Text = cItems.Item(1) Then
Set objParent = objNode
cItems.Remove 1
Insert cItems, objParent
Exit Function
End If
Next
Set objParent = TreeView1.Nodes.Add(Text:=cItems.Item(1))
cItems.Remove 1
Insert cItems, objParent
Else
For Each objNode In TreeView1.Nodes
If objNode.Text = cItems.Item(1) Then
If objNode.Parent = objParent Then
Set objParent = objNode
cItems.Remove 1
Insert cItems, objParent
Exit Function
End If
End If
Next
Set objParent = TreeView1.Nodes.Add(objParent, tvwChild, Text:=cItems.Item(1))
cItems.Remove 1
Insert cItems, objParent
End If
End If
End Function
Private Function SplitItems(sData As String) As Collection
Dim svItems() As String
Dim i As Long
Set SplitItems = New Collection
svItems = Split(sData, "\")
For i = 0 To UBound(svItems)
SplitItems.Add svItems(i)
Next
End Function
-
HOLA!!!
Mil Gracias cobein!
El lunes lo testeo :D
GRACIAS POR LEER!!!