Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

leer txt apartir de linea determinada ( VB6 )

Estas en el tema de leer txt apartir de linea determinada ( VB6 ) en el foro de Visual Basic clásico en Foros del Web. Hola compañeros forereros, ya tenia un buen sin visitar el foro ( me quede sin internet, jejeje ), pero ya estoy de regreso y resien ...
  #1 (permalink)  
Antiguo 19/03/2008, 17:48
 
Fecha de Ingreso: abril-2005
Mensajes: 71
Antigüedad: 19 años
Puntos: 0
leer txt apartir de linea determinada ( VB6 )

Hola compañeros forereros, ya tenia un buen sin visitar el foro ( me quede sin internet, jejeje ), pero ya estoy de regreso y resien comienso en VB6 y bueno tras estar 2 dias programando y casi terminar me surge un problema y pues eh estado buscando en mi queridisimo google y las FAQ's no encuentro nada asi que recurro a ustedes.

les explicare mi objetivo, hago una carga de un txt a un listbox, todo bien hasta ahi pero ¿Como le hago para que comiense a copiar el contenido del txt apartir de la linea 5?

de antemano gracias y espero me puedan ayudar
  #2 (permalink)  
Antiguo 19/03/2008, 18:01
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: leer txt apartir de linea determinada ( VB6 )

Hola,o sea ¿vos queres que desde la 5 linea en adelante se carge al listbox y no antes?
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #3 (permalink)  
Antiguo 19/03/2008, 18:04
Avatar de Zay
Zay
 
Fecha de Ingreso: agosto-2006
Ubicación: Veracruz
Mensajes: 91
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: leer txt apartir de linea determinada ( VB6 )

mmm no se si exista una forma mas rapida, pero podria ser una opcion, que el texto lo guardes en un arreglo y despues hagas busquedas con respecto al retorno de carro /n.

sino quieres guardar en un arreglo entonces hacer la busqueda directamente en archivo, txt.

espero me captes la idea.
__________________
"Nadie es Indispensable en esta vida, pero hay que dejar algo de nuestro ser, en este mundo." YLJ
  #4 (permalink)  
Antiguo 19/03/2008, 18:11
 
Fecha de Ingreso: abril-2005
Mensajes: 71
Antigüedad: 19 años
Puntos: 0
Re: leer txt apartir de linea determinada ( VB6 )

seba123neo eso es justo lo que pretendo hacer y la verdad no te entendi Zay quisas me puedas explicar mejor.
  #5 (permalink)  
Antiguo 19/03/2008, 18:44
Avatar de Zay
Zay
 
Fecha de Ingreso: agosto-2006
Ubicación: Veracruz
Mensajes: 91
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: leer txt apartir de linea determinada ( VB6 )

Cita:
  1. Dim obj_FSO As Object
  2. Dim Archivo As Object
  3. Set obj_FSO = CreateObject("Scripting.FileSystemObject")
  4. 'Creamos un archivo con el método CreateTextFile
  5. Set Archivo = obj_FSO.CreateTextFile(App.Path & "MiArchivo.txt", True)
  6. 'Escribimos lineas
  7. Archivo.WriteLine "Una linea"
  8. Archivo.WriteLine "Otra linea"
  9. Archivo.WriteLine "Otra mas"
  10. 'Cerramos el fichero
  11. Archivo.Close
  12. 'Para abrir el archivo
  13. Set Archivo = obj_FSO.OpenTextFile(App.Path & "MiArchivo.txt", 1)
  14. 'Cargamos en el TextBox todo el archivo
  15. Text1 = Archivo.ReadAll
  16. '///Nota: para leer una linea se utiliza ReadLine
  17. Archivo.Close
  18. Set obj_FSO = Nothing
  19. Set Archivo = Nothing
Cita:
  1. Private Sub Imprimir(Archivo As String)
  2. ' variable para fso
  3. Dim Obj_TextStream As Scripting.TextStream
  4. Dim Obj_Fso As New Scripting.FileSystemObject
  5. Dim Obj_File As File
  6. Dim Linea_Actual As String
  7. ' Referencia al archivo con GetFile
  8. Set Obj_File = Obj_Fso.GetFile(Archivo)
  9. ' Lo abre con OpenAsTextStream
  10. Set Obj_TextStream = Obj_File.OpenAsTextStream(ForReading, TristateUseDefault)
  11. ' recorre todo el contenido del fichero
  12. Do While Not Obj_TextStream.AtEndOfStream
  13. ' lee la linea
  14. Linea_Actual = Obj_TextStream.ReadLine
  15. Printer.Print Linea_Actual ' imprime con
  16. Loop
  17. Printer.EndDoc
  18. End Sub

O sea, abres el archivo plano (txt), lo metes a un array o recorres todo el contenido del fichero, y tu limitante sera en este caso el salto de linea (/n). Necesitas que sean 5, a partir de que lo encuentre empiezas a copiar el texto a tu listbox y hasta el 6to salto de linea.

Espero ahora si me haya explicado un poco mejor.

saludos.
__________________
"Nadie es Indispensable en esta vida, pero hay que dejar algo de nuestro ser, en este mundo." YLJ
  #6 (permalink)  
Antiguo 19/03/2008, 18:55
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: leer txt apartir de linea determinada ( VB6 )

pues mira,esto es una cosa que se me ocurrio,en vez de hacer tanto lio,mejor cargas completo el archivo txt y despues le borras las 5 lineas primeras al listbox y listo .algo asi:

Código:
Private Sub Command1_Click()
Static i As Integer
Dim archivo As String, file_line As String
Dim fnum As Integer, a As Integer
archivo = "c:\a.txt"
fnum = FreeFile
Open archivo For Input As fnum
Do While Not EOF(fnum)
Line Input #fnum, file_line
List1.AddItem file_line
Loop
i = 0
For a = 0 To 3
List1.RemoveItem i
Next
End Sub
saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #7 (permalink)  
Antiguo 20/03/2008, 03:38
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: leer txt apartir de linea determinada ( VB6 )

Aquí tienes otra manera parecida a la de seba123neo, pero sin borrar los items del ListBox:

Código:
Private Sub Command1_Click()
Dim s As String, a() As String, i As Integer
Open App.Path & "\Prueba.txt" For Input As #1
s = Input(LOF(1), #1)
Close #1
a = Split(s, vbNewLine)
List1.Clear
For i = 4 To UBound(a)
    List1.AddItem a(i)
Next i
End Sub
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:42.