Caro colegas
Não sei como resolver o problema abaixo.
Consegui importar um arquivo texto e converte-lo para pdf.
Mas o relatório fica distorcido de uma página para outra.
Farley
xHarbour 0.99.50
#include "inkey.ch"
#define CR chr(13)
#define LF chr(10)
function main
local arq_
local ahead := {"....","....."}
Local aData :={}
Local n
local handle, primeira_linha, var_imp, arquivo
arq_ := netname() + ".pdf"
arquivo = "bancos.txt" // arquivo exemplo...
primeira_linha := .t.
* Cria documento
PdfNew(arq_, 8, 842, 595, 1, 1,,, {"RB","RB","RB","RB","RB"} )
// Inicializa a pagina...
pdfstartpage(ahead,.t.)
/*
for n :=1 to 100
aadd(aData,str(n) + " "+ dtoc(date()+n))
next
*/
// leitura do arquivo texto e tratamento do mesmo...
handle := fopen(arquivo)
if ferror() <> 0
return .f.
endif
var_imp = ''
do while freadln(handle,@var_imp,512)
if primeira_linha .and. substr(var_imp,1,1) = chr(12)
var_imp = substr(var_imp, 2, 1)
primeira_linha = .f.
endif
if primeira_linha .and. substr(var_imp,2,1) = chr(12)
var_imp = substr(var_imp, 3, 1)
primeira_linha = .f.
endif
Aadd(aData, var_imp)
if !primeira_linha .and. substr(var_imp,137,1) = chr(12)
pdfdrawpage(aData)
pdfstartpage(ahead,.t.)
aData := {}
var_imp := ''
primeira_linha = .t.
endif
enddo
if !empty(var_imp)
Aadd(aData, var_imp)
endif
fclose(handle)
// pdfdrawpage(aData,{||pdfstartpage(ahead,.t.)})
pdfdrawpage(aData)
pdfendpage()
pdfend()
return (.t.)
*---------------------------------------------------------------------------*
* Lˆ linha a linha de arquivo ASCII...
function FReadln(fhandle, cBuffer, nMaxLine)
LOCAL cCh := " ", nLineSize := 0, nSavePos
PRIVATE nNumRead
cBuffer := ""
nNumRead := FRead(fhandle, @cCh, 1)
DO WHILE nNumRead == 1 .and. cCh != CR .and. nLineSize < nMaxline
cBuffer := cBuffer + cCh
nLineSize := nLineSize + 1
nNumRead := FRead(fHandle, @cCh, 1)
ENDDO
// Se terminamos em CR, salta (pressumido) LF
if cCh == LF
nNumRead := Fread(fHandle, @cCh, 1)
endif
cBuffer := strtran(cbuffer, chr(10), "")
cBuffer := strtran(cbuffer, chr(13), "")
RETURN nNumRead != 0
Converter para PDF - ajuste páginas
Moderador: Moderadores