Problemas de emissão

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

Moderador: Moderadores

kakamachado
Usuário Nível 1
Usuário Nível 1
Mensagens: 30
Registrado em: 07 Mar 2016 18:54
Localização: Rio de Janeiro

Problemas de emissão

Mensagem por kakamachado »

Amigos, boa tarde. Estou com o seguinte problema: converti um sistema Clipper para xHarbour modo caracter (coloquei o Procedure "nomeprog" em todos os progs e Function main no principal, no mais, não alterei nada). O sistema está funcionando perfeitamente, entretanto em alguns clientes, na emissão dos relatórios, imprime uma linha em cada página (como se tivesse um eject a cada linha). Em outros isto não acontece e os relatórios saem perfeitos. Se imprimir numa impressora local, sai tudo OK. Capturo as impressoras USB com o famoso "net use lpt1: \\nome do computador\nome do compartilhamento /persistent:yes". Alguém tem alguma dica? Obrigado
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Problemas de emissão

Mensagem por JoséQuintas »

Muito estranho isso.
Um uso genérico que tenho é isto:

Código: Selecionar todos

FUNCTION PrintBegin()

   SET DEVICE TO PRINT
   SetPRC( 0, 0 )

   RETURN NIL

FUNCTION PrintEnd()

   SET DEVICE TO SCREEN
   SET PRINTER TO
   SetPRC( 0, 0 )

   RETURN NIL
Por acaso não pode ser algum caractere especial enviado à impressora?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Problemas de emissão

Mensagem por Kapiaba »

Em modo console(texto) para USB, você deve usar o comando: PRINTFILERAW() do xHarbour.
kakamachado
Usuário Nível 1
Usuário Nível 1
Mensagens: 30
Registrado em: 07 Mar 2016 18:54
Localização: Rio de Janeiro

Problemas de emissão

Mensagem por kakamachado »

Boa noite Kapiaba, obrigado pela sua resposta, mas abusando um pouco, você poderia dar uma rápida explanação de como a printfileraw funciona? Onde ela cria o relatório? Com que nome? Como acessá-lo? Como imprimi-lo? etc...Obrigado
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Problemas de emissão

Mensagem por Kapiaba »

Vamos aprender devagar?

https://pctoledo.org/forum/viewto ... =4&t=10885

https://pctoledo.org/forum/viewto ... f=4&t=8374

https://pctoledo.org/forum/viewto ... f=4&t=7977

https://vivaclipper.wordpress.com/tag/printfileraw/

http://fivewin.com.br/index.php?/topic/ ... x-300-usb/

http://www.tek-tips.com/viewthread.cfm?qid=1419812

Código: Selecionar todos

// The example prints a file in RAW mode and demonstrates
// the possible return values of PrintFileRaw().

   PROCEDURE Main()
      LOCAL cPrinter := GetDefaultPrinter()
      LOCAL cFile    := "MyFile.Txt"
      LOCAL nResult  := -1
      LOCAL cMsg     := "PrintFileRaw(): "

      CLS
      IF Empty( cPrinter )
         ? "No default printer found"
         QUIT
      ENDIF

      nResult := PrintFileRaw( cPrinter, cFile, "Test for PrintFileRaw()" )

      SWITCH nResult
      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 += "File " + cFile + " not found"          ; EXIT
      DEFAULT
         cMsg += cFile + " PRINTED OK!!!"
      END

      ? cMsg
   RETURN 
Abs,
Responder