Página 1 de 1

Problemas de emissão

Enviado: 08 Set 2016 14:55
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

Problemas de emissão

Enviado: 08 Set 2016 15:29
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?

Problemas de emissão

Enviado: 08 Set 2016 15:31
por Kapiaba
Em modo console(texto) para USB, você deve usar o comando: PRINTFILERAW() do xHarbour.

Problemas de emissão

Enviado: 08 Set 2016 23:56
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

Problemas de emissão

Enviado: 09 Set 2016 09:57
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,