Página 1 de 1

Função PrintFileRaw() com Harbour

Enviado: 11 Nov 2008 16:56
por momente
Amigos,

Preciso utilizar esta função do xHarbour no Harbour, Alguém sabe se existe alguma maneira ou algo parecido no harbour, eu compilei minha aplicação miniGUI com harbour e não consigo chamar esta função, mesmo compilando com a lib xHab.lib que acompanha a miniGUI.

PS. Eu utilizo esta função para imprimir Nota Fiscal em um matricial Epson Lx300+II, utilizando porta USB

Obrigado!

Re: Função PrintFileRaw() com Harbour

Enviado: 11 Nov 2008 19:03
por sygecom
Você pode tentar um chute, pegue a tprinter.c e linka junto com sua app, e veja se compila na boa !!! a tprinter.c é onde se encontra a função PRINTFILERAW() do xHarbour.
Peguei do CVS e coloquei em Anexo aqui.

Re: Função PrintFileRaw() com Harbour

Enviado: 12 Nov 2008 09:33
por momente
Amigo Leonardo,

Realmente, ontem analisando o help do harbour, ele faz referência a este arquivo tprinter.c, vou testa-lo e reporto em seguida as conclusões.

Obrigado!

Re: Função PrintFileRaw() com Harbour

Enviado: 12 Nov 2008 10:51
por Itamar M. Lins Jr.
Ola,
Eu uso, e está funcionando em um cliente, agora não testei com a USB, somente via paralela e serial.

No harbour a função está na pasta contrib\hbwin\win_prn2.c

Código: Selecionar todos

*******************************
Function Imprime(cArq,cPrint)
*******************************
*
*
Local oPrn, aPrn:=GetPrinters()
if empty(aPrn)
   MsgInfo('Não há impressoras instaladas')
   return .f.
endif
If cPrint == Nil
 cPrint := GetDefaultPrinter()
EndIf

 nRet := PrintFileRaw(cPrint,cArq,'Pedido')
 if nRet < 1
    cMsg := 'Erro Imprimindo: '
   SWITCH nRet
      CASE -1
         cMsg += "Invalid parameters passed to function" ; EXIT
      CASE -2
         cMsg += "WinAPI OpenPrinter() call failed"      ; EXIT
      CASE -3
         cMsg += "WinAPI StartDocPrinter() call failed"  ; EXIT
      CASE -4
         cMsg += "WinAPI StartPagePrinter() call failed" ; EXIT
      CASE -5
         cMsg += "WinAPI malloc() of memory failed"      ; EXIT
      CASE -6
         cMsg += "Arquivo " + cArq + " não Localizado"   ; EXIT
      END
		MsgInfo(cMesg)
 EndIf
 
 Return .t.
Saudações,
Itamar M. Lins Jr.

Re: Função PrintFileRaw() com Harbour

Enviado: 13 Nov 2008 16:27
por sygecom
Só anexar o .PRG que esta em anexo nessa mensagem que funciona com Harbour.

Re: Função PrintFileRaw() com Harbour

Enviado: 17 Nov 2008 10:57
por momente
Obrigado pessoal,

Deu certo!

Então para usar a função PrintFileRaw() com Harbour vale apenas inserir a PrintFileRaw.prg ao projeto.

Muito Obrigado!