FoxPro/Visual FoxPro - Ayuda leer txt

   
Vista:

Ayuda leer txt

Publicado por gaston (80 intervenciones) el 19/09/2012 19:20:27
Hola, por favor necesito ayuda para leer archivos txt

Tengo archivos txt que se guardan en un directorio c:\transfer con distintos nombres aunque siempre comienzan igual, ejemplo

RV Documentos(1).txt
RV Documentos(2).txt
RV Documentos(3).txt

En el contenido siempre aparece un identificador, que es la porcion de todo el texto que necesito guardar, ejemplo: N01:111111111/12. siempre comienzan con N01: ...............

Aquí lo que necesito, leer todos los archivos guardados en tal directorios, extraer esa porción de texto y guarlarlos en un cursor que luego utilizare para otra cosa.

Espero me puedan dar una mano.

Un saludo.
Gastón.
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

Ayuda leer txt

Publicado por Fidel (321 intervenciones) el 20/09/2012 01:54:18
*Para saber qué archivos hay en la carpeta USAS ADIR(gaMatriz, cSkeleton)
PROCEDURE LeeTextos()
******************************
LOCAL lnFiles, nfop, gnEnd, gnTop
cd c:\transfer
release gadir
LnFiles=Adir(gadir,"*.TXT")
CD (volver a la carpeta de trabajo)
If LnFiles=0
Messagebox("No hay archivos")
RETURN
ENDIF
* Contenido de gadir{}
*1 Nombres de archivo Character
*2 Tamaños de archivo Numeric
*3 Fechas de archivo Date
*4 Horas de archivo Character
*5 Atributos de archivo Character
* Acá se puede utilizar la columna 2 para saber si se leyó ó no un archivo
For i=1 to alen(gadir,1)
gadir[i,2]=.F.
NEXT
lcPublica=ltrim(str(LnFiles))+" archivos para leer "
Wait Window lcPublica at 12,15 NOWAIT
FOR i=1 to alen(gafiles,1)
fcr=addbs("c:\transfer")+gaFiles[i]
Wait Window "Leyendo &fcr..." at 12,15 nowait
nfop=fopen(fcr,0) && Se abre el archivo de texto en Solo Lectura
&& Si se necesita escribir, será Fopen(fcr,12)
if nfop= -1
Messagebox("No pude abrir &fcr")
loop
endif

gnEnd=Fseek(nfop,0,2)
gntop=Fseek(nfop,0)
if gnEnd<=0
Messagebox("El Archivo &fcr está vacío")
=fclose(nfop)
loop
endif
do While !Feof(nfop)
cString=fgets(nfop,2048)

* Parser de cadena
lcRightTexto=StrTran(cString,"N01","")
lcMidTexto=Substr(lcRighTexto,At("/",lcRighTexto)+1)
* etc.
* Parser de cString, actualización de cursor, etc.
enddo
gadir[i,2]=.T.
=fclose(nfop)
NEXT
wait clear
* Borrando de archivos leídos
FOR i=1 to alen(gadir,1)
if gadir[i,2]
lcFile=addbs("c:\transfer")+gadir[i,1[
DELETE &LcFile
endif
NEXT
ENDPROC
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