Re: [vfp] Como Importar algunas lineas de un .TxT

49 views
Skip to first unread message

ZeRoberto

unread,
Dec 11, 2017, 7:28:14 AM12/11/17
to publicesvfoxpro
Con FOPEN() FGETS() y FCLOSE()

Saludos


El 6 de diciembre de 2017, 06:00, Jaime Paredes<jisoftw...@gmail.com> escribió:
Amigos, tengo un problema, tengo un archivo de texto y lo que quiero es extraer o importar ciertas líneas del contenido de este txt, ya que la idea es recuperar los nombres, cargos, dni, y valores de pago juntamente con el detalle de pago mismo, amigos como es que puedo hacer, ya que no tiene los valores en forma horizontal.

se adjunta archivo txt

Carlos Miguel FARIAS

unread,
Dec 11, 2017, 10:28:17 AM12/11/17
to Grupo Fox
Jaime: Los archivos con esos datos son individuales (como el que adjuntaste) o están todos juntos?
Puedes cargar el archivo en memoria con FILETOSTR()
Luego lo pasas a un arreglo con ALINES(aLineasTexto)
Luego recorres el arreglo y quitas todos los espacios duplicados
LOCAL lnQRenglones
lnQRenglones = aLineasTexto
DECLARE laMento[lnQRenglones, 3]
laMento = ""
FOR I = 1 TO lnQRenglones
   C = ALLTRIM(lineasTexto[I])
   IF LEFT(C, 1) = "="
      CONTINUE
   ENDIF
   DO WHILE "  " $  c
      c = STRTRAN(c, "  ", " ")
   ENDDO
   IF LEN(C) < 2
      CONTINUE
   ENDIF
   =ALINES(la, C, 5, ":")
   FOR J = 1 TO LEN(la)
      laMento[I, J] = la[J]
   ENDFOR 
ENDFOR

En laMento tienes:
Si la línea de origen no tenía :, toda la linea queda en la columna 1
Si la línea tenía  un dos puntos, queda la primera parte en columna 1 (que sería el rótulo) y el dato en la columna 2
Si la línea tenía dos dos puntos, queda el rótulo en la 1° columna, y los datos en las columnas 2 y 3.
Las líneas con el subrayado = y vacías tienen las tres columnas vacías.

Allí y a tienes los datos en un arreglo, como los reacomodas veras tu porque no tengo inteligencia de tu negocio, para discernir como hacer el tratamiento.
Saludos: Miguel, La Pampa (RA)
Larga Vida y Prosperidad
Que la Fuerza los acompañe

El 11 de diciembre de 2017, 9:28, ZeRoberto <zero...@gmail.com> escribió:
Con FOPEN() FGETS() y FCLOSE()

Saludos

Víctor Hugo Espínola Domínguez

unread,
Dec 11, 2017, 3:46:24 PM12/11/17
to publice...@googlegroups.com
Te contesté en FB

Saludos,
Víctor.
Lambaré - Paraguay.

Reply all
Reply to author
Forward
0 new messages