edutraini Posted August 17, 2023 Report Share Posted August 17, 2023 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 Quote Link to comment Share on other sites More sharing options...
edutraini Posted August 17, 2023 Author Report Share Posted August 17, 2023 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() Quote Link to comment Share on other sites More sharing options...
kapiaba Posted August 17, 2023 Report Share Posted August 17, 2023 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.