Como Usar os controles Win_PRN() :Printer_Configurations?

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

Moderador: Moderadores

Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Como Usar os controles Win_PRN() :Printer_Configurations?

Mensagem por Jairo Maia »

Olá Pessoal,

Alguém poderia me explicar como uso os seguintes controles de impressão?:

lPrn := Win_Prn():HavePrinted - Retorna um indicador lógico .T. se a impressão foi concluída.
lPrn := Win_Prn():Printing - Retorna um indicador lógico .T. se a impressora estiver em uso.
Porque ambos comandos acima sempre retornam .F.?

nPrn := Win_Prn():hPrinterDC - Retorna o controlador do arquivo que está sendo impresso.
Porque sempre retorna 0 (zero)?

cPrn := Win_Prn():PrinterName - retorna o nome da impressora sendo usada.
Porque retorna sempre vazio?

PS: No exemplo abaixo claro que a impressão é de apenas uma linha, o que dificultaria detectar a impressora em uso, porém o efeito é o mesmo quando ela realmente esta imprimindo.

Código: Selecionar todos

Function Main()
 Local lPrn, nPrn, cPrn
 Local oPrn := Win_Prn():New( Win_PrinterGetDefault() )

 If !oPrn :Create()
  Hb_alert("Nao foi criado o documento de ImpressÆo")
  Return nil
 ElseIf !oPrn :StartDoc("Imprimindo Documento")
  Hb_alert("Erro na Impressora")
  Return nil
 EndIf

 oPrn :NewLine()
 oPrn :TextOut( "Teste de impressao" )

 nPrn := Win_Prn():hPrinterDC
 cPrn := Win_Prn():PrinterName

 Clear Screen
 @ 2,2 say nPrn
 @ 3,2 say cPrn

 oPrn :EndDoc()
 oPrn :Destroy()

 lPrn := Win_Prn():HavePrinted
 If !lPrn
  Hb_alert("Documento nao foi impresso")
 EndIf

 lPrn := Win_Prn():Printing
 If lPrn
  Hb_alert("Impressora ocupada")
 EndIf

Return Nil
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Imatech
Usuário Nível 3
Usuário Nível 3
Mensagens: 350
Registrado em: 24 Ago 2010 23:48
Localização: Goiânia-GO

Como Usar os controles Win_PRN() :Printer_Configurations?

Mensagem por Imatech »

Olá Jairo Maia !
.
.
.
Harbour não possui essa propriedade... opção existente: GetDocumentProperties()
.
e
.
xHarbour provavelmente não possui a propriedade integralmente implementada (motivo dos retornos descritos)...
.
.
.
Sugestão: hbhpdf
Vantagens: riquesa de recursos e impressão multiplataforma e preview usando qquer PdfReader
.
.
.
M., Ronaldo

by: IMATECH

IMATION TECNOLOGIA
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Como Usar os controles Win_PRN() :Printer_Configurations?

Mensagem por Jairo Maia »

Olá Ronaldo,

Obrigado pela resposta e pelas dicas.

Agora, desculpe a ignorância, mas a função :GetDocumentProperties() retorna um indicador lógico. Onde posso ver documentação sobre ela? Se puder dar a dica agradeço.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Imatech
Usuário Nível 3
Usuário Nível 3
Mensagens: 350
Registrado em: 24 Ago 2010 23:48
Localização: Goiânia-GO

Como Usar os controles Win_PRN() :Printer_Configurations?

Mensagem por Imatech »

Olá Jairo Maia !
.
.
.
Documentação... não sei se existe alguma (alem dos fontes em hbWin )
\Harbour\contrib\hbwin
.
.
.

Código: Selecionar todos


METHOD GetDocumentProperties() CLASS WIN_PRN
   RETURN win_GetDocumentProperties( ::PrinterName, @::FormType, @::Landscape, ;
                                     @::Copies, @::BinNumber, @::fDuplexType, ;
                                     @::fPrintQuality, ;
                                     @::PaperLength, @::PaperWidth )

M., Ronaldo

by: IMATECH

IMATION TECNOLOGIA
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Como Usar os controles Win_PRN() :Printer_Configurations?

Mensagem por Jairo Maia »

Olá Ronaldo,

Pois é. Mas é como você disse: o Harbour não oferece os recursos para checar o pós-envio da impressão.

Muito Obrigado pela atenção.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Responder