Página 1 de 1

Imprimir direto na impressora no XP

Enviado: 03 Dez 2007 15:10
por Arthur G Cabral
tenho um sistema que mand impressão para imprssora padrão (matricial local) funciona todo ok no 98 mas no XP tenho de sair do sistema para ser liberanda a impressão
alquem pode me dar uma ajuda
antecipadamente agradeço

Enviado: 03 Dez 2007 15:17
por Pablo César
Meu conselho é a criação de arquivo de impressão e depois mandar esse arquivo para impressora. É batata, funciona melhor assim. Este assunto foi diversas vezes discutido.

Enviado: 03 Dez 2007 15:17
por Maligno
Experimente terminar seu relatório com o comando SET PRINTER TO. Este comando, aparentemente, libera o buffer interno (flush) o que faz o conteúdo ser enviado para a impressora.

agradecimento

Enviado: 03 Dez 2007 15:25
por Arthur G Cabral
obrigado pela atenção
vou testar

Enviado: 04 Dez 2007 10:20
por Everton
Olá amigo, eu uso dois script que altera alguns dados no registro do windows e tem resolvido sem alterar nada no sistema, se vc precisar me avise que lhe envio, falow

Imprimir direto na impressora no xp

Enviado: 04 Dez 2007 20:10
por Adalberto
Arthur.

Ajuda e colaboração de este mesmo foro.

Vá para o Botão INICIAR
Selecione EXECUTAR
e digite REGEDIT
SELECIONE AS OPCOES
KHEY_LOCAL_MACHINE
SYSTEM
CURRENTCONTROLSET
CONTROL
WOW
AGORA DO LADO DIREITO DA JANELA
SELECIONE LPT_TIMEOUT
ALTERE DE 15 PARA 0 ou 1 (cero o um)

Parabéns

Enviado: 05 Dez 2007 08:28
por Pablo César
Caro colega Everton, você poderia exemplificar aqui postando em mensagem as suas recomendações ? Poderias compartilhar conosco ?

Gracias Adalberto pela sua exemplificação. Eu nunca usei isso e não sei se funciona. Se for isso mesmo, acho que poderiamos fazer uma rotina de verificação do REGISTRO e mudá-la caso o valor não seja o desejado. Até poderiamos utilizar a WAPI.LIB, não é mesmo ?

Ja que está... Arthur você poderia nos dizer se essa sugestão indicada pelo colega Adalberto, funciona ?

Enviado: 05 Dez 2007 09:01
por Everton
Olá Pablo, na verdade ele faz o que o Adalberto falou, mas é um script qua faz automatico isso.

Enviado: 05 Dez 2007 10:15
por Pablo César
Olá Everton, esses dois scripts você o faz de forma automática através do Clipper ou utilizas algum outro recurso de leitura/gravação. Poderias exemplificar ? E para você dá resultado ? Seria interessante mostar como é feito, assim fica registrado para os outros colegas agora e pro futuro.

resposta

Enviado: 05 Dez 2007 15:28
por Arthur G Cabral
caros amigos a solução de alterar do registro melhorou muioto desde que se coloque 1 e não 0

vou fazer mas testes para ver

obrigado para todos

Enviado: 05 Dez 2007 15:39
por Pablo César
Arthur, e aquestão de gerar o arquivo de impressão e mandar para impressora, não fica melhor ainda ? Experimente, você verá um ganho significante.

Respondendo a MP do colega:

Se você utiliza o @ SAY para fazer seus relatórios, então direcione para arquivo assim:

Código: Selecionar todos

SET PRINTER TO ("ARQUIVO.PRN")
SET DEVICE TO PRINT

@ 00,00 SAY "teste" // assim segue o seu relatorio

SET DEVICE TO SCREEN
SET PRINTER TO
Agora se você utiliza o ? para impressão, então modifique assim para capturar em arquivo:

Código: Selecionar todos

SET ALTERNATE TO ("ARQUIVO.PRN")
SET ALTERNATE ON

? "teste" // assim segue o seu relatorio

SET ALTERNATE OFF
SET ALTERNATE TO
Uma vez criado o arquivo, quiser imprimir em LPT1,LPT2,LPT3... poderia fazer:

COPY FILE("ARQUIVO.PRN") TO ("LPT1")

Mas você sabe que existem as impressoras USBs que não é possível imprimir em Clipper, senão mediante aplicativo o pela função PRINTFILE() da WAPI.LIB ou pela linha de comando com o USB.EXE do Heveraldo.

Tiver ainda dúvidas, pode postar aqui Arthur, não há problemas.