Rellenar listbox con archivo de texto

Iniciado por rob1104, 5 Enero 2007, 08:02 AM

0 Miembros y 1 Visitante están viendo este tema.

rob1104

Hola a todos, bueno estoy desarrollando una aplicacion en vb, y me tope con algo que nunca habia necesitado, necesito rellenar un listbox con un datos de un archivo de texto. El archivo esta de esta forma:
CitarFila1
Fila2
Fila3
Fila4
Tenia pensado hacerlo con arreglos, leer cada linea, almacenarla en un array y vaciarla al listbox con el ciclo for, el problema es que no se como identificar el fin de linea. Alguien podria guiarme un poco, ya sea explicando o con un ejemplo.

Saludos
Sin análisis de requisitos o sin diseño, programar es el arte de crear errores en un documento de texto vacío.

~~

Cada linea esta separada por un "||" o lo q es lo mismo un vbCrLf (indica la linea siguiente). Lo mejor q puedes hacer es partir la string q te devuelve el archivo por el vbCrLf (la partes con un Split) e ir metiendo cada uno de los trozos en la lista.

Es muy facil, pero si tienes dudas te digo exactamente como seria
1S4ludo  ;)

CeLaYa

dale en "búscar", ya se ha tratato ese tema un monton de veces
"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.

rob1104

Hola, gracias a los 2, Celaya te juro que lo busque, inclusive busque en otros foros, pero no doy con ese problema especifico, si te moleste disculpa por favor  :-[

EON, nunca he utilizado un split, mira tengo este codigo
    Dim strDato As String
    Dim archivo As String
    archivo = App.Path & ".\prueba.txt"
    Open archivo For Input As #1
    For i = 0 To ?? <- no se que poner aqui :(
        Input #1, strDato
        frmOpciones!lstSpyware.AddItem strDato
    Next i
    Close #1
Donde lstSpyware es un listbox, no se que utilizar en el for para que recorra linea por linea, es todo lo que necesito para terminar mi aplicacion, un saludo a todos.
Sin análisis de requisitos o sin diseño, programar es el arte de crear errores en un documento de texto vacío.

ReViJa

NO uses un for prueba asi...

Do While Not EOF(1)

Loop


Donde EOF es fin de archivo.

~~

Es mucho mas simple, mira, te e hecho un code muy bien comentado, despues de esto ya no puede haber dudas xDD

Private Sub Command1_Click()

Open "C:\hola.txt" For Binary As #1
    Dim Todo As String   'Aki guardamos el contenido de todo el archivo
    Todo = Space(LOF(1)) 'Definimos todo como todo el archivo xDD
    Get #1, , Todo
Close #1

MsgBox Todo 'Como veras se extrae todo correctamente

Dim Linea As Variant 'En esta matriz guardamos todas las lineas separadas
Linea = Split(Todo, vbCrLf) 'Partimos el contenido de todo el archivo por el final de linea

Dim n As Integer
For n = 0 To UBound(Linea) 'Desde la linea 0 hasta la del final
List1.AddItem Linea(n)
Next n

End Sub


1S4ludo