Jump to content
Fivewin Brasil

classe printer


edutraini

Recommended Posts

Pessoal boa noite

Uso essa classe para imprimir relatorio usando o comando 

PRINTER oPrnPed  NAME "Pedido Nro "+str(pedlst->nropedido,8) PREVIEW MODAL

no Preview meu cliente seleciona a impressora e que  fica padrao toda hora que abre o preview novamente

Gostaria que sempre viesse a  impressora padrao do Windows

Alguem poderia me dar uma dica

Obrigado

 

 

Link to comment
Share on other sites

Bom dia 

resolvi dessa forma nao sei se esta certo

mImpressoraPadrao:=PrnGetName()
mImpressora:=PrnGetName()

PRINTER oPrnPed to mImpressora NAME "Pedido Nro "+str(pedlst->nropedido,8) PREVIEW MODAL

apos a impressao

SetDefaultPrinter( mImpressoraPadrao )
PRINTER oPrncot to mImpressoraPadrao
oPrncot:End()

Link to comment
Share on other sites

FUNCTION DefaultPrinter()
	   LOCAL nPrn, nRet
	   // Abre a tela para a seleção da impressora
   /*
   GetPrintDC( GetActiveWindow() )
	   // Coloca a impressora selecionada como Default do Windows
   SetDefaultPrinter( PRNGETNAME() )
   */
	   nRet := PrinterSetUp()
	   nPrn := PrnGetName()
	   IF( nRet # 0 )
	      // NADA A FAZER MUDA O DEFULT DA IMPRESSORA EM TEMPO REAL.
      SetDefaultPrinter( PRNGETNAME() ) // MUDA O DEFAULT DA IMPRESSORA
	      MsgInfo( OemToAnsi( "Aten‡Æo Usu rio:                        " )+CRLF+ ;
               OemToAnsi( "Sua Impressora DEFAULT(PadrÆo) ‚:       " )+CRLF+ ;
                        ( "-> " + nPrn                               ),      ;
               OemToAnsi( "Sua Impressora DEFAULT(PadrÆo) ‚...     " ) )
	      sGetDefaultPrinter := GetDefaultPrinter()
	      // ? PrnStatus( sGetDefaultPrinter )
	      IF PrnStatus( sGetDefaultPrinter ) = 4096
	         // Verifica se SPOOLER esta desligado e tenta liga-lo
         MsgRun( sGetDefaultPrinter +": "+isprint( GetDefaultPrinter() ) + ;
                         " ou Spooler Desligado.", "Status da Impressora", ;
                 {|| WinExec( "NET START SPOOLER", 7 ) } )
	      ENDIF
	      //? GetPrinter()
	   ELSE
	      MsgInfo( OemToAnsi( "ATEN€ÇO USUµRIO:                         " )+CRLF+ ;
               OemToAnsi( "VERIFIQUE SUA IMPRESSORA SE ESTµ LIGADA. " )+CRLF+ ;
               OemToAnsi( "OU SE ESTµ INSTALADA CORRETAMENTE...     " )+CRLF+ ;
               OemToAnsi( "TEM ALGUMA COISA ERRADA COM A IMPRESSORA?" )+CRLF+ ;
               OemToAnsi( "SE NÇO ESCOLHEU NENHUMA IMPRESSORA, OK..." )+CRLF+ ;
               OemToAnsi( "TECLE <ENTER> PARA CONTINUAR...          " ),      ;
               OemToAnsi( "VERIFIQUE SUA IMPRESSORA SE ESTµ LIGADA. " ) )
	      RETURN( .F. )
	   ENDIF
	RETURN NIL

Regards, saludos.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...