none
¿COMO AGREGAR LOS ITEMS DE UN LISTBOX A UN TXT?

    Pregunta

  • Buen dia.

    me podrian apoyar con los siguiente. Estoy realizando un programa que necesito selecionar los procesos abiertos que estan en mi pc y estos los agrega a un segundo listbox, este segundo los procesos que seleccione los quiero pasar a un archivo de texto pero en multilinea.

    tengo el siguiente codigo pero solo me guarda el primero

      Dim oSW As New StreamWriter("C:\config\proceso.txt")
                Dim i As Integer
                For i = 0 To Form1.ListBox2.Items.Count - 1
                    Dim Linea = Form1.ListBox2.Items(i).ToString()
                    oSW.WriteLine(Linea)
                    oSW.Flush()
                    FileClose()
                    oSW.Close()
                Next

    viernes, 24 de marzo de 2017 3:36

Respuestas

  • Hola marcks89,

    Lo que pasa es que estás cerrando el archivo en cada iteración del For.

    - Puedes hacer uso del método WriteAllText de la clase File para crear el archivo con el contenido en una ruta específica.

    Algo como :

    Try
        Dim ruta As String = "C:\config\proceso.txt"
    
        'Obtenemos los items del ListBox como un arreglo y mediante
        'el método Join de la clase String lo separamos por un salto de línea
        Dim items As String = String.Join(Environment.NewLine,
                                Form1.ListBox2.Items.OfType(Of String).ToArray())
    
        'Creamos el archivo
        File.WriteAllText(ruta, items)
    
        'Mensaje informativo
        MessageBox.Show("Archivo creado!")
    
    Catch ex As Exception
        'Si se produce algún error lo mostramos
        MessageBox.Show(ex.Message)
    End Try

    O si quieres seguir usando la clase 'StreamWriter' cambiarías por : Mediante el using cierro el archivo y libero el objeto utilizado.

    Using oSW As New StreamWriter("C:\config\proceso.txt")
        For i = 0 To Form1.ListBox2.Items.Count - 1
            Dim Linea = Form1.ListBox2.Items(i).ToString()
            oSW.WriteLine(Linea)
        Next
    End Using

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    viernes, 24 de marzo de 2017 4:06