Tengo un archivo de texto el cual contiene 286 posiciones.
Debo leer linea a lines y luego ir haciendo substracciones.
Aparentemente y no se si me equivoco, pero solo me está leyendo 256
caracteres y no lee el resto de la tira de caracteres.
Necesito saber si esto es posible, o bien como puedo hacer para leer
todo el archivo texto.
Por lo largo del archivo no puedo hacerle un append from ya que la
longitud del registro es de 286 caracteres.
Me urge me ayuden, ya he utilizado el fopen, fgets
Utilicè el fread pero desconozco si lee linea a lines.
Gracias
Roberto
Costa Rica.
Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________
STORE FOPEN('test.txt') TO gnFileHandle && Open the file
STORE FSEEK(gnFileHandle, 0, 2) TO gnEnd && Move pointer to EOF
STORE FSEEK(gnFileHandle, 0) TO gnTop && Move pointer to BOF
IF gnEnd <= 0 && Is file empty?
WAIT WINDOW 'This file is empty!' NOWAIT
ELSE && If not
gcString = FGETS(gnFileHandle, gnEnd) && Store contents
? gcString
ENDIF
= FCLOSE(gnFileHandle) && Close the file
Lo que no me queda muy claro es este comentario en relación a los 8192 bytes.
Specifies the number of bytes FGETS( ) returns. FGETS( ) returns
nBytes bytes unless a carriage return is encountered first. FGETS( )
returns data between the starting file-pointer position and the
carriage return if a carriage return is encountered within nBytes
bytes.
FGETS( ) returns a maximum of 8192 bytes. If you omit nBytes, FGETS(
)returns 254 bytes by default.
Gracias LUis Maria, el archivo lo voy leyendo linea a linea.
Roberto
Costa Rica.
El día 18 de octubre de 2011 01:32, Luis Maria Guayan
<luism...@gmail.com> escribió:
Gracias.
Roberto
Costa Rica.
El día 18 de octubre de 2011 20:27, Walter R. Ojeda Valiente
<wr...@hotmail.com> escribió:
OK
El día 21 de octubre de 2011 16:16, Walter R. Ojeda Valiente
> >Hola, si alguie podría por favor ayudarme un extraño suceso que me sucede en un archivo. Despues de abrir un archivo TXT, procedo a leer cada line, este es la parte que me parece muy extraño, tal vez ustedes podrían ayudarme a resolverlo.
* lcGet=fgets(lnHand, 2048) && acá lo reemplazo armando una supuesta línea de 256 chars.
lcGet="20141225"
lcget=lcGet+Padr("GRAN AGENCIA DE COLOCACIONES ",50," ")
lcGet=lcget+Padr("GRAN GESTOR DE COLOCACIONES ",100)
lcGet=lcget+Padr("TERRITORIO DE COLOCACIONES",40)
lcGet=lcGEt+Padr("OFI1",4)
lcGet=lcGet+Padr("SP1",4)
lcGet=lcget+PADR("SUB_PRODUCTO DE COLOCACIONES",50)
* Valorizo las variables a partir de la cadena
fProceso = Substr(lcGet,1,8)
agencia = substr(lcGet,9,50)
gestor = substr(lcGet,59,100)
territorio = substr(lcGet,159,40)
oficina = substr(lcGet ,199,4)
subpro = substr(lcGEt , 203 , 4)
nom_SubPro = substr(lcGet,207,50)
lcResult="Len(lcGet)="+TRANSFORM(LEN(lcGet)) ;
+CHR(13) + "fProceso="+fProceso ;
+chr(13) + "agencia="+agencia ;
+chr(13) + "gestor="+gestor ;
+chr(13) + "territorio="+territorio ;
+chr(13) + "oficina="+oficina ;
+chr(13) + "subpro="+subpro ;
+chr(13) + "nom_SubPro="+nom_SubPro
Messagebox(lcResult)
...