HB_FUSE(), problema com HB_FreadLN() e/ou HB_FReadAndSkip()
Enviado: 09 Set 2024 01:06
Está retornando algo como:
e"00002471810800;00;09/17/24\n00001693868185;00;14/07/24\n00001693868185[...]
Onde deveria estar um fim de linha existe um "\n" juntando uma linha na outra.
Se eu abrir no Notepad++ mostra CR+LF no fim das linhas...
Tem uma dúzia de linhas, mas parece que só tem 1.
Por que não está lendo uma linha por vez?
Me código acaba dando erro porque não consegue pegar o serial e a data porque não está lendo uma linha por vez.
Se eu der um print no cLICENCA mostra todas as linhas uma embaixo da outra certinho.
e"00002471810800;00;09/17/24\n00001693868185;00;14/07/24\n00001693868185[...]
Onde deveria estar um fim de linha existe um "\n" juntando uma linha na outra.
Se eu abrir no Notepad++ mostra CR+LF no fim das linhas...
Tem uma dúzia de linhas, mas parece que só tem 1.
Por que não está lendo uma linha por vez?
Me código acaba dando erro porque não consegue pegar o serial e a data porque não está lendo uma linha por vez.
Código: Selecionar todos
nHANDLE := HB_FUSE(cFILENAME) // ABRE P/ LEITURA E GRAVAÇÃO
@ MAXROW(),00 SAY PADC("Leitura feita. Aguarde...", maxcol()+1) COLOR "W+/B"
nLICENCAS := HB_FLastRec()
IF .T. // !EMPTY(cLICENCAS)
// VAI PROCURAR LICENÇAS
************************
DO WHILE ! hb_FAtEof() // FOR TT=1 TO nLICENCAS
cLICENCA := HB_FReadAndSkip()
cLICENCA := ALLTRIM(cLICENCA)
// CNPJ 14 |Pg| DATA 8
//99999999999999;00;CC/CC/CC
cLCNPJ := LEFT(cLICENCA,14)
IF cLCNPJ = cSERIAL
// ACHOU SERIAL NA LISTA DE LICENÇAS
cTRYAL := RIGHT(cLICENCA,8) // LÊ A DATA
dTRYAL := CTOD(cTRYAL)
nDIAS := dTRYAL-DATE()
IF nDIAS >= 0
IF nDIAS = 0
ALERT("VOCE TEM ATE HOJE PARA AVALIAR O SIBRA")
ELSE
ALERT("VOCE TEM "+ STR( nDIAS, 1)+" DIAS LIBERADOS PARA AVALIACAO DO SIBRA")
ENDIF
lLICENCA := .T.
ENDIF
EXIT // ACHOU, SAI DO LOOP
ENDIF
ENDDO
HB_FUSE()