Leer linea por linea un archivo de texto mediante un bucle
Tengo un archivo de texto con un numero de lineas q no conozco y deseo leerlo linea por linea. Lo que yo intente es lo siguiente:
Dim L(1 To 60) As Integer
fn = FreeFile
Open "a.txt" For Input As #fn
For i = 0 To Val(Text1.Text)
Line Input #fn, L(i)
Next i
Close #fn
Pero me da un error diciendo "Type Mismatch" alguien sabe porq?? o alguna otra manera de leerlo linea por linea aunque no sepas el numero total de lineas q tenga?
Dim L(1 To 60) As Integer
fn = FreeFile
Open "a.txt" For Input As #fn
For i = 0 To Val(Text1.Text)
Line Input #fn, L(i)
Next i
Close #fn
Pero me da un error diciendo "Type Mismatch" alguien sabe porq?? o alguna otra manera de leerlo linea por linea aunque no sepas el numero total de lineas q tenga?
Hay varios errores:
el array que estás usando ha de ser de Strings: dim L(1 to 60) as string
el array lo has creado de 1 a 60, pero luego comienzas por el 0, debería ser: for i =1 to val . . . o poner el array desde 0 DIM L(0 to 60) as string
en esta línea: For i = 0 to val text1.text qué valor hay en text1 ?
de cualquier manera, lo que preguntas es cómo saber el número de líneas, supongo que es para saber cuándo dejar de leer líneas, verdad?
SI es eso, lo que has de hacer es usar EOF, de esta manera:
pon un Listbox en el formulario y el siguiente código
Private Sub Form_Load()
Dim L() As String
Dim i As Long
fn = FreeFile
Open "c:prueba.txt" For Input As #fn
Do While Not EOF(fn)
ReDim Preserve L(i) As String
Line Input #fn, L(i)
i = i + 1
Loop
Close #fn
' y ahora para comprobar el contenido de L:
For i = 0 To UBound(L)
List1.AddItem L(i)
Next i
End Sub
el array que estás usando ha de ser de Strings: dim L(1 to 60) as string
el array lo has creado de 1 a 60, pero luego comienzas por el 0, debería ser: for i =1 to val . . . o poner el array desde 0 DIM L(0 to 60) as string
en esta línea: For i = 0 to val text1.text qué valor hay en text1 ?
de cualquier manera, lo que preguntas es cómo saber el número de líneas, supongo que es para saber cuándo dejar de leer líneas, verdad?
SI es eso, lo que has de hacer es usar EOF, de esta manera:
pon un Listbox en el formulario y el siguiente código
Private Sub Form_Load()
Dim L() As String
Dim i As Long
fn = FreeFile
Open "c:prueba.txt" For Input As #fn
Do While Not EOF(fn)
ReDim Preserve L(i) As String
Line Input #fn, L(i)
i = i + 1
Loop
Close #fn
' y ahora para comprobar el contenido de L:
For i = 0 To UBound(L)
List1.AddItem L(i)
Next i
End Sub
Mira te doy solo una parte del código lo otro descubrelo tu mismo. ( "este codigo es el que uso más")
Do While eof( archivo )
'sentencias que debes descubrir
loop
Do While eof( archivo )
'sentencias que debes descubrir
loop
