Visual Basic - funcion Instr

Life is soft - evento anual de software empresarial
 
Vista:

funcion Instr

Publicado por nfalcondelgado (13 intervenciones) el 18/01/2010 11:52:46
Buenos dias, a ver si alguien me puede ayudar, necesito que la variable lotenew obtenga de el siguiente fichero el ultimo numero, en este caso el 928.

!WV63|WW60|WW61|WW68|GT00|LX02
1|3|0|928

Sería un fichero de texto con estas 2 lineas, y yo necesitaria coger el 928 e igualarlo a la variable lotenew, creo que se hace con la funcion Instr, pero no estoy seguro de como se hace ya que nunca la habia usado hasta ahora. Gracias.
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:funcion Instr

Publicado por maximiliano (8 intervenciones) el 19/01/2010 00:06:59
usa la funcion split

dim Strs as string ,sDato() as string

lees los datos

strs=datos del archivo
strdato()=split(strs,"|")

lotenew =strdato(ubound(strdato))
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:funcion Instr

Publicado por nfalcondelgado (13 intervenciones) el 19/01/2010 10:24:53
Gracias por la respuesta, pero como puedo igualar la variable strs a la segunda linea del fichero que cargo, es decir del fichero txt que cargo desde una ruta que es

!WV63|WW60|WW61|WW68|GT00|LX02
1|3|0|928

ignorar la primera linea y coger solo la segunda, para despues con la funcion que me dejaste igualar la variable lotenew al '928' que es el dato que necesito.
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:funcion Instr

Publicado por maximiliano (8 intervenciones) el 22/01/2010 03:36:06
pon esto

si solo quieres obtener la segunda linea

lineinput #1 , str
lineinput #1 , str
asi vas a leer la segunda linea

y usas la funciion split
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:funcion Instr

Publicado por nfalcondelgado (13 intervenciones) el 25/01/2010 13:33:55
A ver si me puedes ayudar, este es el tramo de codigo que coge el fichero de la ruta, he puesto la funcion split, pero sigue sin salirme, a ver si tu puedes ver donde esta el fallo. Gracias

If Index = 0 Then
ruta = "I:\BIZEBA\BCT\BCF\Output\key01.txt"
ruta2 = "I:\BIZEBA\BCT\BCF\Output\suma101.txt"
ruta3 = "I:\BIZEBA\BCT\BCF\Output\record01.txt"
rutaaux = "I:\BIZEBA\BCT\BCF\Temp\record01.txt"
ElseIf Index = 1 Then
ruta = "I:\BIZEBA\BCT\BCF\Output\key02.txt"
ruta2 = "I:\BIZEBA\BCT\BCF\Output\suma102.txt"
ruta3 = "I:\BIZEBA\BCT\BCF\Output\record02.txt"
rutaaux = "I:\BIZEBA\BCT\BCF\Temp\record02.txt"
ElseIf Index = 2 Then
ruta = "I:\BIZEBA\BCT\BCF\Output\key03.txt"
ruta2 = "I:\BIZEBA\BCT\BCF\Output\suma103.txt"
ruta3 = "I:\BIZEBA\BCT\BCF\Output\record03.txt"
rutaaux = "I:\BIZEBA\BCT\BCF\Temp\record03.txt"
End If
ContentItem = Dir(ruta)
If ContentItem <> "" Then

If Not EOF(1) Then
Line Input #1, linea
'Comprobar si el dato se corresponde con una tecla de función
lin = Mid(linea, 2, 4)

If lin = "WV63" Then
'Hay que distinguir si se trata de un dato numérico de entrada o la selección de un
'elemento de menu
datos_recibidos = Mid(linea, 22, 4)
Line Input #1, linea
t_enter = Mid(linea, 5, 1)
If t_enter = 0 Then

If datos_recibidos = "GT00" Then
'lees los datos de la segunda linea del fichero
Line Input #1, Strs
Line Input #1, Strs

strDato() = Split(Strs, "|")

lotenew = strDato(UBound(strDato))
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