Problema al leer linea archivo txt [Solucionado]

Iniciado por skapunky, 16 Octubre 2008, 12:35 PM

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

skapunky

Buenas, haber estoy que voy a cojer el ordenador y lo voy a tirar por la ventana. He buscado por google y no he encontrado algo efectivo.

El caso esque en una variable tipo string, quiero almazenar solamente la segunda línea de un archivo txt. El problema esque si este archivo tiene mas de 2 lineas sale el error de "La entrada de datos a sobrepasado el final del archivo".

Para ello he declarado 3 variables para almazenar almenos las 3 primeras lineas, pero de esta manera sale también un error ya que si el txt solo tiene dos lineas sobra una variable y da error.

Para leer he utilizado lo siguiente:

Código (vb) [Seleccionar]

dim linea1,linea2 as string
Open Archivo For Input As #1

Do While Not EOF(1)
Line Input #1, linea1
Line Input #1, linea2
Loop
Close #1


lo que habia pensado, es hacer una funcion que lea el numero de lineas y luego con una matriz declarar el numero de variables lineaX segun las lineas totales...Alguien tiene alguna idea o solución mas práctica ?
Killtrojan Syslog v1.44: ENTRAR

skapunky

#1
Haber, ya lo he resuelto despues de lagrimas,sangre y sudor.

He volcado el contenido del txt entero en un listbox.

Y he hecho que:

linea2 = List1.List(1)

Así guardo la segunda línea directamente en linea2.

Saludos !!!
Killtrojan Syslog v1.44: ENTRAR

cobein

Otra manera de hacerlo, en realidad hay muchas, podrias hacer lo mismo que en tu primer ejemplo y salir del loop con un contador que se incrementa en cada vuelta.


Private Sub Form_Load()
    Dim sData As String
   
    Open "c:\test.txt" For Binary Access Read As #1
    sData = Space(LOF(1))
    Get #1, , sData
    sData = Split(sData, vbCrLf)(1)
    Close #1
   
    Debug.Print sData
   
End Sub
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.