Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Treeview da file txt

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Ovviamente non è esatto quello che affermi.
    Però finché non mostri il codice della funzione ricorsiva, ed il codice che mostri è preso 'a pezzi ' qua e la, non so su cosa si possa discutere.

  2. #2

    Treeview da file txt

    Quote Originariamente inviata da gibra Visualizza il messaggio
    Ovviamente non è esatto quello che affermi.
    Però finché non mostri il codice della funzione ricorsiva, ed il codice che mostri è preso 'a pezzi ' qua e la, non so su cosa si possa discutere.
    Scusate il ritardo ma sono stato fuori per qualche giorno. Allora:

    ho scritto la procedura che si attiva quando premo il pulsante e la funzione ricorsiva richiamata per ricostruire l'albero. Ma non funziona!

    Private Sub btn_apri_Click(sender As Object, e As EventArgs) Handles btn_apri.Click
    Dim linee As String(), scomponi() As String
    linee = IO.File.ReadAllLines(percorso_file & prova1.Text))
    For i As Integer = 0 To linee.Count - 1
    'dentro scomponi ho tutti i campi separati
    scomponi = Split(linee(i), "|")
    'il primo valore della prima linea è la prima root, la inserisco direttamente
    If i = 0 Then trw_todo.Nodes.Add(scomponi(0))
    For k = 1 To UBound(scomponi) - 1
    'scorre l'albero per trovare il nodo corrente
    Dim nodo_sel As TreeNode = getNodeByVal(trw_todo.Nodes, scomponi(k))
    nodo_sel.Nodes.Add(scomponi(k + 1))
    Next
    Next
    End sub

    'Funzione che cerca il nome del nodo. Se lo trova lo restituisce
    Public Function getNodeByVal(ByVal nodes As TreeNodeCollection, ByVal text As String) As TreeNode
    Dim node As New TreeNode()
    For i As Integer = 0 To nodes.Count Step 1
    If nodes(i).Text.Equals(text) Then
    node = nodes(i)
    Exit For
    End If
    getNodeByVal(nodes(i).Nodes, text)
    Next
    Return node
    End Function

    Il file prova1.txt ha la struttura già indicata in precedenza, che riporto per completezza:

    primo|primoA|primoAA|primoAAA
    primo|primoA|primoAA|primoAAB
    primo|primoA|primoAB
    primo|primoB

    La funzione dovrebbe trovare il nodo in base al suo nome e restituirlo alla procedura di pressione pulsante, la quale aggiunge il figlio successivo. Al primo ciclo si blocca perché non trova il nodi "i-esimo", come se l'albero trw_todo non si aggiornasse in tempo reale. Qualcuno ha un'idea?
    Grazie 1000!.

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.