Page 1 of 1

Cuenta erronea de lineas en txt

PostPosted: Fri Jan 22, 2021 11:13 pm
by FranciscoA
Amigos.
Tengo un fichero .txt con 16 lineas de datos y varias columnas, sin ningún tipo de separador.
Si lo abro con un editor de texto, refleja correctamente la cantidad de lineas, pero no lo hace con las funciones MemoRead y MLCount.
Aqui está el código que estoy usando, y su respectivo fichero.txt.
Qué estoy omitiendo?

Code: Select all  Expand view
#include "fivewin.ch"
Function Main()

local cFile := TrueName(".\Retenc.txt")
local cBuf  := MemoRead( cFile )
local nTotRows := MlCount(cBuf)

return MsgInfo(nTotRows)  //Informa sobre 32 lineas, y lo correcto es 16.
 


Este es el txt:
Code: Select all  Expand view
3420733 02/07/2015           13,797.50              400.13              200.96           13,196.41
3423562 04/07/2015              833.00               24.16               12.13              796.71
3427777 05/07/2015            2,730.00               79.17               39.76            2,611.07
3438327 09/07/2015            5,929.00              171.94               86.36            5,670.70
3441056 11/07/2015            2,302.00               66.76               33.53            2,201.71
3443640 11/07/2015           10,824.50              313.91              157.67           10,352.92
3444982 12/07/2015            1,656.00               48.02               24.12            1,583.86
3450958 15/07/2015           34,676.46            1,005.62              505.06           33,165.78
3458989 18/07/2015            4,058.00              117.69               59.11            3,881.20
3461666 18/07/2015           16,986.00              492.60              247.40           16,246.00
3473188 23/07/2015            1,993.00               57.80               29.03            1,906.17
3475974 24/07/2015            3,500.50              101.52               50.98            3,348.00
3477974 25/07/2015            1,092.00               31.67               15.90            1,044.43
3490933 30/07/2015            8,616.00              249.87              125.49            8,240.64
3492572 31/07/2015            1,365.00               39.59               19.88            1,305.53
3493993 31/07/2015              310.00                8.99                4.51              296.50


Gracias de antemano.

Re: Cuenta erronea de lineas en txt

PostPosted: Fri Jan 22, 2021 11:16 pm
by FranciscoA
Se me olvidó mencionar que el txt es producto de la importación de un PDF, que lo hice en: http://www.somepdf.com/

Re: Cuenta erronea de lineas en txt

PostPosted: Fri Jan 22, 2021 11:57 pm
by hmpaquito
Te recomiendo que abras el archivo con Notepad Plus. Alli hay un botoncito que al pulsarlo te permitirá ver los caracteres de control invisibles, que deben ser el problema.

Re: Cuenta erronea de lineas en txt

PostPosted: Sat Jan 23, 2021 3:42 am
by Armando
Francisco:

Tal vez hace falta definir el ancho de la línea

Code: Select all  Expand view

        nAncho := 80
    nLineas := MLCOUNT(ALLTRIM(oRsDet:Fields("DET_DES"):Value),nAncho)
 


Saludos

Re: Cuenta erronea de lineas en txt

PostPosted: Sat Jan 23, 2021 3:26 pm
by TecniSoftware
Prueba con oFile := TTxtFile():New( cFile )

nLines: = oFile:nTLines

Saludos

Re: Cuenta erronea de lineas en txt

PostPosted: Sat Jan 23, 2021 3:36 pm
by FranciscoA
Paquito, Armando, Alejandro.
Gracias por sus sugerencias.
Probaré todas y después comento.

Re: Cuenta erronea de lineas en txt

PostPosted: Sat Jan 23, 2021 4:12 pm
by FranciscoA
Todas sus sugerencias funcionan.
Efectivamente, Notepad++ muestra todos los caracteres.

nTotRows:= MLCount(Alltrim(cBuf),250)

nTotRows:= oFile:nTLines

Muchas gracias.

Re: Cuenta erronea de lineas en txt

PostPosted: Sat Jan 23, 2021 5:57 pm
by Armando
Francisco:

Excelente, una de la muchas que te debemos :) .

Saludos