Visual Basic - leer la ultima parte de una linea

Life is soft - evento anual de software empresarial
 
Vista:

leer la ultima parte de una linea

Publicado por Angelux (14 intervenciones) el 09/12/2006 19:22:41
Hola a todos(as) tengo un pekeño problema kisiera k alguien me ayudara a poder leer la
ultima palabra de una linea de un txt:

tengo esta cadena en un archivo de texto:

listas/listastsjviesca/LISTAS_archivo 5611010206.pdf
listas/listastsjviesca/LISTAS_archivo 5711010206.pdf
listas/listastsjviesca/LISTAS_archivo 5811010206.pdf
listas/listastsjviesca/LISTAS_archivo 5911010206.pdf

ya tengo para leer linea por linea y como mandar lo la cadena a una variable en visual lo k kiero hacer es poder leer el "5611010206.pdf"

si alguien me pudiera decir como se los agradecere mucho
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:leer la ultima parte de una linea

Publicado por AlbertoV (200 intervenciones) el 09/12/2006 20:24:32
Si lo que querés es la última palabra, y ya lo tenés en una variable, la instrucción

Posi = InStrRev(<Variable>, " ")

te dará en Posi la posición del primer espacio en blanco que encuentre a partir del final de la cadena, pero la posición estará contada desde el principio. Luego la función Mid(<Variable>, Posi +1) te dará lo que queda de la cadena desde Posi + 1 hasta el final.
----------------------------------------
Creo que tendrías que cambiar tu teclado, parece que tiene algún problema con la q.
Eso puede tolerarse en los mensajes por celular, pero aquí dispones de un teclado completo, y mientras más difícil sea leerte menos gente procurará ayudarte.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:leer la ultima parte de una linea

Publicado por Angelux (14 intervenciones) el 11/12/2006 17:41:23
muchas gracias por el consejo de las q eso es por la costumbre del chat pero voy a tratar de quitarme ese habito y con lo de tu ayuda haber si me explico mejor

tengo este codigo en un boton de VB

Dim sSourceUrl,
Dim angelux As Integer
angelux = 0

Open App.Path & "\angelux.txt" For Input As #1
If Not EOF(1) Then
Do Until EOF(1)
Line Input #1, linea
linea = linea

sSourceUrl= "http://www.poderjudicialcoahuila.gob.mx/pag/TSJ/listas/listastsjviesca/LISTAS_archivo/" & linea

DownloadFile sSourceUrl, App.Path & "\" & linea

Loop
End If
Close #1, #2

dentro del archivo angelux.txt estan estas lineas de texto:
listas/listastsjviesca/LISTAS_archivo 5611010206.pdf
listas/listastsjviesca/LISTAS_archivo 5711010206.pdf listas/listastsjviesca/LISTAS_archivo 5811010206.pdf
.... (asi como 200 lineas mas hacia a bajo)

en la variable linea quiero que se guarde el valor 5611010206.pdf para completar el URL y bajar el archivo con ese nombre despues se pase a la sig linea y lea la siguiente cadena 5711010206.pdf y asi en todas las lineas

ojala este mejor entendible y puedas ayudarme gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:leer la ultima parte de una linea

Publicado por Angelux (14 intervenciones) el 11/12/2006 19:48:07
por fin logre hacer lo que necesitaba tan simple como poner una linea de codigo que me le la ultima parte de una linea aqui les dejo el resultado para los que lo necesiten:

Private Sub Command2_Click()
Dim sSourceUrl As String

Open App.Path & "\angelux.txt" For Input As #1
If Not EOF(1) Then
Do Until EOF(1)
Line Input #1, linea
linea = linea
------------------------------------------------------------------------------------------------
'linea contiene "listas/listastsjviesca/LISTAS_archivo 5611010206.pdf"
'con la siguiente linea se obtiene nada mas el "5611010206.pdf "

------------------------------------------
'esta es la linea en cuestion con esta linea se lee desde la derecha en una linea
'de texto del archivo "angelux.txt" y cuenta 14 caracteres a la izquierda

linea = Right(linea, 14)
------------------------------------------
sSourceUrl= "http://www.poderjudicialcoahuila.gob.mx/pag/TSJ/listas/listastsjviesca/LISTAS_archivo/" & linea

DownloadFile sSourceUrl, App.Path & "\" & linea

Loop
End If
Close #1, #2
End Sub

asi puedo bajar varios archivos de internet teniendo el nombre de los archivos en un archivo indice de forma automatica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:leer la ultima parte de una linea

Publicado por AlbertoV (200 intervenciones) el 11/12/2006 20:02:03
¡Bravo! ahora se entiende sin esfuerzo.
Te cuento lo que yo veo en tu código:

Open App.Path & "\angelux.txt" For Input As #1
If Not EOF(1) Then
Do Until EOF(1)
Line Input #1, linea
linea = linea

en este tramo la If Not EOF(1) está de más, pues esa condición la vuelve a evaluar la línea siguiente:

Do Until EOF(1)

yo sacaría el If Not EOF y por supuesto el End IF.
Después de la lectura en "linea" hacés

linea = linea

esto únicamente consume un chispazo de tiempo, pero deja al mundo como estaba, incluyendo a la variable linea.
Al final decís que en "angelux.txt" cada dato viene en el formato:

listas/listastsjviesca/LISTAS_archivo 5611010206.pdf

entonces cuando armás la sSourceUrl tenés que llegar sólo hasta la barra después de TSJ. Sería

sSourceUrl = "http://www.poderjudicialcoahuila.gob.mx/pag/TSJ/" & linea

y recién ahora tenés que extraer la última parte de linea haciendo

linea = Mid(linea, InStrRev(linea, " ") + 1) 'con esto tomás sólo lo que hay después del último espacio hacia la derecha.

el contenido de linea te quedaría:

antes: listas/listastsjviesca/LISTAS_archivo 5611010206.pdf
después: 5611010206.pdf

y con eso ya podés armar el nombre del destino para DownloadFile.

Espero haberte interpretado, pero si no es así, tratá de explicarlo de nuevo.
Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:leer la ultima parte de una linea

Publicado por Angelux (14 intervenciones) el 12/12/2006 21:09:18
Muchas gracias ya lo probe y si me ahorro lineas de codigo y como dices un chispazo de tiempo que es lo importante en mi sistema ahorrar tiempo me sirvio de mucho una vez mas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar