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: 20420
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 1914
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: 1914
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