erro ERROR TERM/0 Print error

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

erro ERROR TERM/0 Print error

Mensagem por janio »

Olá a todos,

Este está acontecendo quando mando imprimir e a impressora não está pronta... o que eu queria saber é como faço para que quando a impressora não esteja pronta, NÃO APAREÇA ESTE ERRO (ele aborta o programa) e sim qualquer outra mensagem que eu possar configurar.

Um abraço,

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1298
Registrado em: 06 Jul 2004 00:44
Contato:

Mensagem por ANDRIL »

Ola Janio,

Vc ja tentou utilizar a funcao ISPRINTER() para verificar a porta de impressao antes do envio do relatorio? Veja:

IF ISPRINTER()
... seu relatorio
ELSE
Wait"Erro com a impressora! Verifique-a"
ENDIF

Nota: A funcao ISPRINTER() so consegue testar a porta padrão de impressao LPT1 não consegue testar LPT2,LTP3...

Abracos,
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Mensagem por janio »

Olá Andril,

Obrigado por responder...

Estou utilizando a função ISPRINTER() e mesmo assim continua dando o mesmo erro. Veja como estou fazendo:

Código: Selecionar todos

      SET PRINTER ON 
      SET PRINTER TO LPT1
      SET DEVICE TO PRINTER
      SET CONSOLE OFF

      IF .NOT. ISPRINTER()
         MSG({"** A T E N C A O ! **",;
              "A IMPRESSORA NAO ESTA PRONTA"}, , vCOR_MSG, vCOR_MS1)
         RstEnv( aEnv )
         RETURN .F.
      ENDIF

      xCODCLI = FATURA->CODCLI
 
      SELECT EMPRESA
      GOTO TOP

      @ PROW() + 02, 30 SAY EMPRESA->NOMRDZ 
      @ PROW() + 01, 00 SAY PADC(EMPRESA->NOMEMP,79)
      @ PROW() + 01, 10 SAY PADC(EMPRESA->ENDERE)
      @ PROW() + 01, 00 SAY REPLICATE("-",79) 
       ...
       ...
       ...
Não sei o que está acontecendo!
Aguardo ajuda...

Janio

PS: Estou utilizando a impressora PANASONIC KX-P1150
Editado pela última vez por janio em 14 Fev 2005 21:10, em um total de 1 vez.
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Junior
Usuário Nível 1
Usuário Nível 1
Mensagens: 25
Registrado em: 19 Ago 2003 17:44
Localização: Bragança Paulista

Mensagem por Junior »

Tua impressora é uma LOCAL ( lpt1 ) ou está na rede ???

O ISPRINTER() em modo básico apenas consulta a LPT1 como o amigo ANDRIL já citou.

Já no seu código, vc faz assim :

Código: Selecionar todos

SET PRINTER ON 
SET PRINTER TO LPT1 
SET DEVICE TO PRINTER 
SET CONSOLE OFF 

tente assim :

Código: Selecionar todos

SET PRINTER ON  ---> liga a impressora
SET DEVICE TO PRINTER  ----> direciona saida pra impressao
SET PRINTER TO LPT1  ----> direciona a impressao
SET CONSOLE OFF   ---> fecha a saida do console
Faça um teste desse jeito ok !?
Source com farinha....
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Mensagem por janio »

Olá Junior,

Tentei como vc falou e continuou SEM FUNCIONAR...

Estou percebendo o seguinte: A função ISPRINTER() tem testado CORRETAMENTE se a impressora está ligada ou não. Pra testar, coloquei uma mensagem (alert) quando a impressora está desligada... ele testa e diz corretamente que a impressora está desligada... a partir do ALERT perco o controle do "barco"... rs... ele não obedece mais a um RETURN, LOOP, EXIT ou seja seja lá o que for... rs... e aborta o programa, veja:

Código: Selecionar todos

      SET PRINTER ON 
      SET DEVICE TO PRINTER 
      SET PRINTER TO LPT1 
      SET CONSOLE OFF 

      IF .NOT. ISPRINTER() 
         ALERT("A IMPRESSORA NAO ESTA PRONTA") // mostra a mensagem
         LOOP // aki não obedece e aparece aquela mensagem chata
      ENDIF 

      xCODCLI = FATURA->CODCLI 
  
      SELECT EMPRESA 
      GOTO TOP 

      @ PROW() + 02, 30 SAY EMPRESA->NOMRDZ 
      @ PROW() + 01, 00 SAY PADC(EMPRESA->NOMEMP,79) 
      @ PROW() + 01, 10 SAY PADC(EMPRESA->ENDERE) 
      @ PROW() + 01, 00 SAY REPLICATE("-",79) 
       ... 
       ... 
       ... 
 
Continuo esperando ajuda...

Janio

PS: Utilizo impressora local (LPT1), Win98, Clipper5.2e e Blinker7
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

Mensagem por Dudu_XBase »

Código: Selecionar todos


      IF .NOT. ISPRINTER()
         ALERT("A IMPRESSORA NAO ESTA PRONTA") 
         LOOP 
      ENDIF
        
      SET PRINTER ON
      SET DEVICE TO PRINTER
      SET PRINTER TO LPT1
      SET CONSOLE OFF

      

      xCODCLI = FATURA->CODCLI
 
      SELECT EMPRESA
      GOTO TOP

      @ PROW() + 02, 30 SAY EMPRESA->NOMRDZ
      @ PROW() + 01, 00 SAY PADC(EMPRESA->NOMEMP,79)
      @ PROW() + 01, 10 SAY PADC(EMPRESA->ENDERE)
      @ PROW() + 01, 00 SAY REPLICATE("-",79)
       ...
       ...
       ... 
      


________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle




Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Mensagem por janio »

Valeu Dudu! FUNCIONOU! ;) :lol: :D :smile: :razz:

Passei alguns minutos sem entender o seu código... olhava pro meu... olhava pro seu... olhava pro meu... olhava pro seu... e não via diferença nenhuma.... rs.... até que então... tchan tchan tchan tchaaaaaan... percebi:

O teste da impressora (ISPRINTER()) é antes do SET PRINTER ON... SET... SET...

Um Abraço e BRIGADÃO!

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Junior
Usuário Nível 1
Usuário Nível 1
Mensagens: 25
Registrado em: 19 Ago 2003 17:44
Localização: Bragança Paulista

Mensagem por Junior »

Putz, mas óbvio.....

ISPRINTER() antes da chamada da impressão....

juro q vou ficar me martirizando aqui o dia todo por esse vacilo... hehehe...

isso ai Dudu, grande garoto !

Até mais...
Source com farinha....
Responder