none
Listbox solo nombre RRS feed

  • Pregunta

  • Buena dia, 

    tengo un ListBox el cual me da en lista las carpetas 

    deseo solo me muestre solo el nombre de la carpeta sin toda su ruta completa.

            Dim matriz As String() = System.IO.Directory.GetDirectories(TextBox1.Text)
    Dim directorio As String        
    ListBox1.Items.Clear()        
    For Each directorio In matriz            
    ListBox1.Items.Add(directorio)        
    Next

    Gracias por su ayuda

    domingo, 30 de julio de 2017 23:36

Respuestas

  • Hola

       Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
            Dim Directorio As New DirectoryInfo("C:\")
            For Each file As IO.FileInfo In Directorio.GetFiles
                ListBox1.Items.Add(file.Name)
            Next
    

    si deseas algo más elaborado te recomiendo esta respuesta de Enrique Montejo sobre el tema

    https://social.msdn.microsoft.com/Forums/es-ES/452b2846-ccb1-48c0-bfed-04f3b83687c6/mostrar-solo-el-nombre-del-archivo-selccionado-con-un-openfiledialog?forum=vbes

    Saludos

    lunes, 31 de julio de 2017 0:49
  • Puedes utilizar la función GetFileName(), aunque comúnmente es utilizada para recuperar el nombre del archivo de una ruta de disco también funciona para obtener el último nodo de un árbol de directorios dado que extrae la parte posterior al último carácter delimitador (barra inversa '\').

    Dim Root = "D:\PathRoot"
    
    'Enlazando los datos a una lista
    ListBox1.DataSource = Directory.GetDirectories(Root, "*", SearchOption.AllDirectories).
    	Select(Function(d) Path.GetFileName(d)).ToList()
    
    'Utilizando el método Add()
    For Each Dir As String In Directory.GetDirectories(Root, "*", SearchOption.AllDirectories)
    	ListBox1.Items.Add(Path.GetFileName(Dir))
    Next


    Nuestra profesión exige tener pasión por resolver problemas de una manera óptima y eficiente.
    lunes, 31 de julio de 2017 3:05

Todas las respuestas

  • Hola

       Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
            Dim Directorio As New DirectoryInfo("C:\")
            For Each file As IO.FileInfo In Directorio.GetFiles
                ListBox1.Items.Add(file.Name)
            Next
    

    si deseas algo más elaborado te recomiendo esta respuesta de Enrique Montejo sobre el tema

    https://social.msdn.microsoft.com/Forums/es-ES/452b2846-ccb1-48c0-bfed-04f3b83687c6/mostrar-solo-el-nombre-del-archivo-selccionado-con-un-openfiledialog?forum=vbes

    Saludos

    lunes, 31 de julio de 2017 0:49
  • Puedes utilizar la función GetFileName(), aunque comúnmente es utilizada para recuperar el nombre del archivo de una ruta de disco también funciona para obtener el último nodo de un árbol de directorios dado que extrae la parte posterior al último carácter delimitador (barra inversa '\').

    Dim Root = "D:\PathRoot"
    
    'Enlazando los datos a una lista
    ListBox1.DataSource = Directory.GetDirectories(Root, "*", SearchOption.AllDirectories).
    	Select(Function(d) Path.GetFileName(d)).ToList()
    
    'Utilizando el método Add()
    For Each Dir As String In Directory.GetDirectories(Root, "*", SearchOption.AllDirectories)
    	ListBox1.Items.Add(Path.GetFileName(Dir))
    Next


    Nuestra profesión exige tener pasión por resolver problemas de una manera óptima y eficiente.
    lunes, 31 de julio de 2017 3:05
  • Encontre este ejemplo: pero solo es de eliminar "\" del resultado final para que quede solo el nombre

    Dim carpertas() As String = Directory.GetDirectories("path carpeta") For Each carpeta As String In carpetas

    Dim nombre As String = carpeta.Substring(carpeta.LastIndexOf("\"), carpeta.Length - carpeta.LastIndexOf("\")) listbox1.Items.Add(nombre) Next


    lunes, 31 de julio de 2017 5:20