Leer archivo por lineas, y chr(10) ?

Iniciado por elmaro, 23 Agosto 2007, 18:20 PM

0 Miembros y 1 Visitante están viendo este tema.

elmaro

Bueno... cada tanto aparesco en esta parte del foro
y tengo una duda q no puedo resolver
tengo una aplicacion donde abro un archivo de texto separado por tabulaciones el cual lo leo linea a linea
el problema es que el archivo se guarda de una forma "especial" al ser creado y los saltos de lineas no son saltos de lineas :S

entonces cuando lo leo con la instruction Line Input me lee una linea q no es en verdad una linea :S

estos archivos usan como saltos de linea Chr(10) en lugar de Chr(13) + Chr(10) y no se como resolverlo.

si alguin sabe como puedo hacer para q el chr(10)  sea interpretado como salto de linea o alguna sugerencia,... todo es bienvenido.


graciassss
adios

APOKLIPTICO

Te recomiendo que lo abras en modo binario y te pongas a leer caracter a caracter con la funcion get. Lo vas guardando en una variable y le pones una sentencia if para ver si el caracter que estas leyendo es = a chr(10). Cuando lo detectes, entonces lo que haya en la variable en el momento va a ser una linea...
Pero olvidate del tema de line input.
Saludos
AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.

~~

Pues te recomiendo lo q dice APOKLIPTICO, seria algo asi:

Código (vb) [Seleccionar]
open ruta_archivo for binary as #1
dim todo as string
todo = space (LOF(1))
get #1,,todo
close #1

dim lineas as variant
lines = split (todo, chr(10) 'Aki tienes q partir por el caracter correspondiente a la tabulacion, no se cual será...


Y ya esta, en lineas tendrias el archivo separado por lineas, lineas(0) contendrá la primera linea, lineas(1) la segunda....

1S4ludo

HaDeS, -

Cita de: E0N en 24 Agosto 2007, 00:14 AM

Código (vb) [Seleccionar]
open ruta_archivo for binary as #1
lines = split (todo, chr(10) 'Aki tienes q partir por el caracter correspondiente a la tabulacion, no se cual será...


Te falta un ")"
saludos

~~

es q que escribí el code directamente en el foro, normal q algo me comiera xD

elmaro

gracias por su colaboracion
con respecto a el codigo q escribistes, en el caso de q el archivo tuviera 3mil lineas lo soportaria?
nunca use tantos arrays

gracias again

elmaro

#6
bueno... estuve viendo y estoy probando cantidades
acabo de provar y tengo 32mil (TREINTA Y DOS MIL) lineas

voy a seguir agregando a ver q limite tengo en ese array

Editado:

acabo de sacar esto de la pagina de soporte de microsoft

CitarEl número máximo de elementos de una matriz está limitado por la cantidad de recursos disponibles de sistema. Mientras posiblemente podría utilizar una matriz con el valor máximo de 2147483648 de 32 bits, su programa se ejecutará sin memoria en Windows NT porque Windows NT 4.0 sólo admite 4 GB de memoria en un proceso único.

me saco la duda a mi, espro les sirva
y ahora repregunto, debo confiar en esa info?

~~

Hombre, la da microsoft, asi q es fiable xD

Lo de los 4GB si es verdad, es lo maximo q se da a un proceso, eso si que los tengas (fisicamente)  ya es otra cosa