Função PrintFileRaw() com Harbour

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
momente
Usuário Nível 3
Usuário Nível 3
Mensagens: 496
Registrado em: 03 Mar 2005 11:53
Localização: São Carlos-SP
Contato:

Função PrintFileRaw() com Harbour

Mensagem 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!
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Função PrintFileRaw() com Harbour

Mensagem 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.
Anexos
tprinter.zip
(6.65 KiB) Baixado 503 vezes
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
momente
Usuário Nível 3
Usuário Nível 3
Mensagens: 496
Registrado em: 03 Mar 2005 11:53
Localização: São Carlos-SP
Contato:

Re: Função PrintFileRaw() com Harbour

Mensagem 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!
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: Função PrintFileRaw() com Harbour

Mensagem 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.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Função PrintFileRaw() com Harbour

Mensagem por sygecom »

Só anexar o .PRG que esta em anexo nessa mensagem que funciona com Harbour.
Anexos
printfileraw.zip
(1.38 KiB) Baixado 683 vezes
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
momente
Usuário Nível 3
Usuário Nível 3
Mensagens: 496
Registrado em: 03 Mar 2005 11:53
Localização: São Carlos-SP
Contato:

Re: Função PrintFileRaw() com Harbour

Mensagem 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!
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Responder