Hola lo que yo queria es que cuando tengo seleccionado un texto saber en que numero de linea se encuentra en la 3,5,88,9999, la que sea gracias a quien pueda ayudarme
No te entendi :huh: exlicate un poco mejor :-(
Lo que quiero es abrir un archivo de texto y en una de las lineas del texto comenzara por "Pass" no se cual es la linea pero tiene que ser la linea que empiece el texto con los mismos caracteres "Pass" lo entendiste ahora.Gracias por tu interes
Suponiendo que tu archivo esta cargado en la variable Texto
For i = 1 to len(Texto)
If Mid(Texto, i, 4) = "Pass" then
MsgBox "Pass se encuentra en la linea " & i
End If
Next i
No se si es eso lo que buscas...
Cita de: NYlOn en 1 Mayo 2006, 04:14 AM
Suponiendo que tu archivo esta cargado en la variable Texto
For i = 1 to len(Texto)
If Mid(Texto, i, 4) = "Pass" then
MsgBox "Pass se encuentra en la linea " & i
End If
Next i
No se si es eso lo que buscas...
Eso es erroneo. Eso te diria la posicion respecto de los caracteres en la que se encuentra pero no la linea en la que esta. A ver si es esto lo que buscas:
Open "archivo.txt" For Input As #1
For i = 1 To LOF(1)
Input #1, linea
If left(linea, 4) = "pass" Then encontrado = i
Next i
No lo he probado en VB ya que no tengo el compilador instalado pero supongo que funcionara.
Hola en esta linea me da el error
Input #1, linea '
"La entrada de datos ha sobrepasado el final del archivo, erro 62.
no lo entiendo...
Fallo mio. Creo que es por esto:
For i = 0 To LOF(1)
Cambialo por:
For i = 1 To LOF(1)
Sigue dandome el mismo error.
El problema está en que input se usa así:
resultado=input(numero de caracteres, #canal)
Necesitas saber el número de caracteres a recoger por lo que deberías cargar todo el archivo en memória i buscar.
Personalmente prefiero hacerlo de este modo:
encontrado=false
while not eof(1) and not encontrado
line input #1, linia
cnt=cnt+1
if left$(linia,4)="Pass" then
encontrado=true
msgbox "Encontrado en" & cnt
endif
wend
Cual es mejor? pues uno te consume mas memoria y el otro mas entradas y salidas, aunque a este nivel es indiferente.
Saludos