Estou com o seguinte código:
local oPrinter1:=win32prn()
oPrinter1:create()
oPrinter1:startdoc()
oPrinter1:setfont("Courier New",14,,.f.,,,,1,) // definindo a fonte
ncol:=oPrinter1:GetCharWidth() // largura da fonte em pixels
nlinha:=oPrinter1:GetCharHeight() // altura da fonte em pixels
w11->(dBgotop())
nLin=nLimite+1
do while ! w11->(eof())
if nLin>nLimite
P11Cab()
endif
cLinha:=transform(w11->W11_NUMORC,"@R 999999-9999-!!!")+" "+w11->W11_CLIENT+" "+dtoc(w11->W11_DATA)+" "+;
dtoc(w11->W11_PRAZO)+" "+transform(w11->W11_VALTOT,"@E 99,999,999.99")+" "+w11->W11_CONVEN+" "+;
transform(w11->W11_VISTA,"@E 99,999,999.99")+" "+transform(w11->W11_APRAZO,"@E 99,999,999.99")+" "+;
transform(W11_VALCON,"@E 99,999,999.99")
oPrinter1:TextOutAt(ColCenter(cLinha,nTam)*ncol,nLin*nlinha,cLinha)
w11->(dBSkip())
nLin++
enddo
if lImp
oPrinter1:TextOutAt(ColCenter(space(41)+"-------------"+space(9),nTam)*nCol,nLin*nLinha,space(41)+"-------------")
oPrinter1:TextOutAt(ColCenter(space(41)+transform(nValTot,"@E 99,999,999.99")+space(9),nTam)*nCol,(nLin+1)*nLinha,space(41)+transform(nValTot,"@E 99,999,999.99"))
endif
oPrinter1:enddoc()
oPrinter1:destroy()
w11->(dBGoto(nRecno))
///////////////
// Cabecalho //
///////////////
function P11Cab
local aLinha:={}
if lImp
oPrinter1:NewPage()
else
lImp:=.t.
endif
nPag++
aadd(aLinha,alltrim(t21->T21_RAZAO))
aadd(aLinha,"")
aadd(aLinha,dtoc(date_proc)+space(45)+"Pagina "+strzero(nPag,3))
aadd(aLinha,"")
aadd(aLinha,"RELACAO DE EXAMES REALIZADOS ENTRE "+dtoc(dDataIni)+" E "+dtoc(dDataFim))
aadd(aLinha,"")
aadd(aLinha," CODIGO EXAME NOME DO CLIENTE DATA DATA ENT VALOR TOTAL CONVENIO VALOR A VISTA VALOR A PRAZO VALOR CONVENI")
aadd(aLinha,"--------------- ---------------------------------------- -------- -------- ------------- -------------------- ------------- ------------- -------------")
for x=1 to len(aLinha)
oPrinter1:TextOutAt(ColCenter(aLinha[x],nTam)*ncol,x*nlinha,aLinha[x])
next
nLin=x
return nil
A questão é a seguinte: não manda para a impressora nem por reza brava. O interessante é que tenho uma rotina identica e funciona normalmente. Eu simplesmente copiei ela e mudei os campos que interessavam.
O que pode estar acontecendo ?
Versão: xHarbour build 1.0.0 Intl. (simplex)
Desde já agradeço a atenção.
:win32prn não desvia para a impressora
Moderador: Moderadores
Re: :win32prn não desvia para a impressora
Descobri o problema.
Olhando com mais atenção verifiquei que faltava os seguintes comandos:
oprinter1:new(getdefaultprinter())
oprinter1:formtype:=9 // folha A4
oPrinter1:Copies:=1
Olhando com mais atenção verifiquei que faltava os seguintes comandos:
oprinter1:new(getdefaultprinter())
oprinter1:formtype:=9 // folha A4
oPrinter1:Copies:=1
