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

Archivo de texto largo

Estas en el tema de Archivo de texto largo en el foro de Visual Basic clásico en Foros del Web. Hola. Tengo un problema y es que tengo que leer un archivo de texto muy extenso y de las maneras que lo leo, tarda mucho ...
  #1 (permalink)  
Antiguo 12/06/2011, 15:55
 
Fecha de Ingreso: febrero-2010
Mensajes: 33
Antigüedad: 14 años, 9 meses
Puntos: 1
Archivo de texto largo

Hola.
Tengo un problema y es que tengo que leer un archivo de texto muy extenso y de las maneras que lo leo, tarda mucho tiempo y en ocasiones el ordenador se cuelga.
¿Me podrías decir qué puedo hacer para leer ese archivo de texto tan extenso de forma más rápida?
Muchas gracias. Un saludo
  #2 (permalink)  
Antiguo 12/06/2011, 19:05
Avatar de servantsoftware  
Fecha de Ingreso: abril-2011
Ubicación: 1 Pedro 4.11
Mensajes: 94
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: Archivo de texto largo

Para trabajar con textos extensos, no te recomiendo el Text normal, sino el componente Rich TextBox (Microsoft):

Captura:




Mas acerca de Rich TextBox: http://www.recursosvisualbasic.com.a...ichtextbox.htm

Espero y te sirva...
  #3 (permalink)  
Antiguo 13/06/2011, 00:41
 
Fecha de Ingreso: febrero-2010
Mensajes: 33
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Archivo de texto largo

Hola servantsoftware. El problema no es el escribirlo en el textbox o richtextbox, el problema es cómo leerlo para agilizar su almacenamiento, es decir, yo lo abro con la instrucción:
Open NombreArchivo For Binary As #NumFichero
Variable = Input(FileLen(NombreArchivo), #NumFichero)
Close #NumFichero
¿Hay alguna forma de leer más rápida?
Muchas gracias por su tiempo
  #4 (permalink)  
Antiguo 13/06/2011, 22:52
Avatar de servantsoftware  
Fecha de Ingreso: abril-2011
Ubicación: 1 Pedro 4.11
Mensajes: 94
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: Archivo de texto largo

Bueno en ese caso te sugiero que hagas una barra de proceso, para que el usuario se vaya llevando la impresion, si algun compañero tiene una forma, ojala y opine.
  #5 (permalink)  
Antiguo 14/06/2011, 08:58
 
Fecha de Ingreso: febrero-2010
Mensajes: 33
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Archivo de texto largo

Vale, gracias por tu respuesta. A ver si alguien me ayuda con lo de la barra de progreso, ya que yo sé usarla con un temporizador pero no con una carga de un fichero.
Un saludo
  #6 (permalink)  
Antiguo 14/06/2011, 11:21
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 15 años, 2 meses
Puntos: 47
Respuesta: Archivo de texto largo

Hola!!
En una ocasion se me presentó algo similar con unos archivos que pesaban mucho y se colgaban al abrirlos con notepad, asi es como los solucioné:

Código vb:
Ver original
  1. 'CODIGO PARA CARGAR UN ARCHIVO .TXT GRANDE
  2.        Archivo = "C:\Mi Archivo.txt"
  3.  
  4.         Open Archivo For Binary As #1
  5.             Variable = Space(LOF(1))
  6.             Get #1, , Variable
  7.             ...
  8.             ...
  9.             ...
  10.             DoEvents
  11.         Close #1

Intenta la carga con este código y nos avisas!!
  #7 (permalink)  
Antiguo 14/06/2011, 13:03
 
Fecha de Ingreso: febrero-2010
Mensajes: 33
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Archivo de texto largo

Me puedes explicar un poquillo el código, es que no lo entiendo muy bien :S, me dice que la variable llamada variable, usa un tipo de automatización no admitido en visual basic
Perdona mi ignorancia y gracias por ayudarme ;)

Última edición por sitiom; 14/06/2011 a las 13:33
  #8 (permalink)  
Antiguo 15/06/2011, 07:09
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 15 años, 2 meses
Puntos: 47
Respuesta: Archivo de texto largo

?
No debe dar error.

Código vb:
Ver original
  1. Private Sub cmd_Click()
  2.     Dim txtVAR As String
  3.     Dim Archivo As String
  4.  
  5.     Archivo = "D:\Pro\ARCHIVO.TXT"
  6.     Open Archivo For Binary As #1
  7.     txtVAR = Space(LOF(1))
  8.     Get #1, , txtVAR
  9.  
  10.     Close #1
  11.     txtTEXTBOX.Text = txtVAR
  12. End Sub

El Code es sencillo:

1-Abres el archivo en Binario
2-Asignas a una Variable el tamaño del archivo (LOF=Length Of File)
3-Cargas el texto del archivo en la Variable
4-Cierras el archivo
5-Asignas el archivo a un TEXTBOX, RICHTEXBOX, etc.
  #9 (permalink)  
Antiguo 15/06/2011, 08:07
 
Fecha de Ingreso: febrero-2010
Mensajes: 33
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Archivo de texto largo

Gracias, ya lo entendí y queda todo solucionado.
De nuevo, gracias ;)
  #10 (permalink)  
Antiguo 15/06/2011, 09:12
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 15 años, 2 meses
Puntos: 47
Respuesta: Archivo de texto largo


Etiquetas: largo
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 09:24.