Visual Basic - como regresarme y leer una linea anterior

Life is soft - evento anual de software empresarial
 
Vista:

como regresarme y leer una linea anterior

Publicado por Angellux (14 intervenciones) el 13/02/2007 19:43:29
hola!!!
ojala alguien me pueda decir como solucionar este problema necesito leer una serie de lineas de un archivo txt y guardarlas en una variable para pasarla a una base de datos y si lo hace bien pero nececito que cuando leea una liea especifica deje de leer las lineas y guarde los datos y en la ultima linea se regrese una linea y comenzar a leer desde esa linea.
ojala alguien pueda decirme como gracias al que me ayude.
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:como regresarme y leer una linea anterior

Publicado por Matías Freire (421 intervenciones) el 13/02/2007 19:48:04
Santo Dios!.... uno no pide a Shakespeare, pero por lo menos escribí como para que se entienda algo... sino, no te podemos ayudar.
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:como regresarme y leer una linea anterior

Publicado por Angellux (14 intervenciones) el 13/02/2007 19:52:55
ok perdon, ando un poco estresado
haber si se me entiende

tengo un archivo txt con varias lineas, esas lineas las leeo una por una y las guardo en una variable, cuando leeo una linea que tiene por ejemplo "/" guardo lo que tiene la variable en una base de datos, ahora lo que quiero es que cuando se encuentre la "/" se regrese una linea en el archivo txt y comenzar a leer mas lineas desde ahi.

ojala se entienda mejor y me ayuden
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:como regresarme y leer una linea anterior

Publicado por Matías Freire (421 intervenciones) el 13/02/2007 21:20:52
Si luego de grabar lo acumulado, debe seguir acumulando desde la misma linea en donde encontró la /, utiliza esto:

dim cadena as string
dim linea as string

open miarchivo for input as #1

do while not EOF(1)
Line input #1, linea

'Si encuentra el caracter, graba en la DB y pone en cero la variable que acumula
'los textos
if instr(1,linea,"/") > 0 then
call GrabarEnDB(cadena)
cadena = ""
End If

'una vez grabada, y en cero, agrega la linea que leyó con la "/"
'y si no tuvo que grabar porque no había "/ ", sigue acumulando
cadena = cadena & linea
Loop

Close

Si luego de grabar lo acumulado, debe seguir acumulando desde la próxima linea en donde encontró la /, utiliza esto:

dim cadena as string
dim linea as string

open miarchivo for input as #1

do while not EOF(1)
Line input #1, linea

'Si encuentra el caracter, graba en la DB y pone en cero la variable que acumula
'los textos
if instr(1,linea,"/") > 0 then
call GrabarEnDB(cadena)
cadena = ""
Else
cadena = cadena & linea
End If
Loop

Close


Saludos y espero que sea lo que necesitabas
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:como regresarme y leer una linea anterior

Publicado por Lucas (1 intervención) el 13/02/2007 21:50:53
Otra vez con lo mismo? mira Matias si pones un código, lo compruebas primero a ver si funca.
No haces mas que confundir a los foreros.
Lucas (c.VIX a.m VIMXCIV)
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:como regresarme y leer una linea anterior

Publicado por Angelux (1 intervención) el 14/02/2007 18:19:48
el problema es este:
cuando empieza a leer se encuentre con el 29/03 en la pimera linea y despues tiene que leer la segunda para ver si tiene una "/", si la tiene pasa a la parte donde guarda la informacion sino la tiene almacena esa linea y cuando lee la siguiente se la suma a la anterior para formar la linea nueva, ya que un registro consta desde el 29/03 hasta una linea anterior donde se encuentre otra "/", cuando lee la siguiente linea y tiene "/" almacena todo lo anterior a esa linea pero como ya ha leeido esa linea y al momento de leer la siguiente se puede encontrar una "/" como en ejemplo donde esta el 11/07 y el 77/07se brinca una linea y no la toma en cuenta quiero que cuando lea una linea y se encuentre una "/" en la linea para guardarlo se regrese una linea para leerla otra vez y empezar a comparar otra vez

29/03 EJEC MERCANTIL PROMOV
POR LIC. RAFAEL CHAIREZ CASTRO EN PROC. DE ROSA RODRIGUEZ
PEREZ CONTRA ABIGAIL PADILLA OJEDA
1128/05 EJEC MERCANTIL PROMOV POR LIC.
JOSE VALENCIANA ROBLES EN PROC. DE ARACELI GONZALEZ G. CONTRA ISABEL GUIJARRO MARTINEZ
11/07 CUADERNILLO PROMOV POR LIC. SILVIA ADAME MACIAS
77/07 DILIGENCIAS DE JURISDICCION VOLUNTARIA PROMOV POR MARIA
76/07 EJEC MERCANTIL PROMOV POR LIC.

aqui dejo una parte del codigo que utilizo para esto haber si alguien me ayuda

Line Input #1, Linea
If InStr(Trim(Linea), "/") > 0 Then
newline = newline + Linea
GoTo aux2
Else
newline = newline + Linea
End If

aux2:
Line Input #1, Linea

If InStr(Trim(Linea), "/") > 0 Then
GoTo aux3
Else
GoTo aux
End If
aux3:
'aqui guarda en la BD
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