Página 1 de 1

Impressão Simultânea.

Enviado: 05 Jul 2011 10:35
por Dilson José
Bom dia pessoal!

Estou com uma duvida com relação ao assunto e gostaria que alguém me ajude se possivel!

Posso utilizar duas vezes o SET PRINT TO? Esclareço, é o seguinte, posso escrever no programa ou módulo como queiram, tais comandos:

SET PRINT TO LPT1
SET PRINT TO Y:\DOCUMENTOS\NOME DO ARQUIVO.USB

A quem ajudar-me, agradeço!

Obrigado!

Impressão Simultânea.

Enviado: 05 Jul 2011 11:09
por anacatacombs
Só uma pergunta idiota: O Set print vai ficar exatamente um embaixo do outro, ou terá algum código entre eles?

Se ficar exatamente SET PRINT TO LPT1 e SET PRINT TO QualquerCoisa, creio que o segundo substituirá o primeiro.

Impressão Simultânea.

Enviado: 05 Jul 2011 11:50
por billy1943
Tranquilamente Ana !

O comando SET PRINTER TO sem parâmetros limpa a derivação e com parâmetros indica a nova saída para o que for impresso ou gravado.

Segundo W. E. Tiley:
set printer to -> fecha o arquivo de SPOOL e reinicializa o dispositivo de saída como LPT1 ( o default)
usar também set printer off caso tenha usado set printer on, na sequência:

Exemplo:
set printer to txt.prn
set printer on
list all for (condição)
set printer to
set printer off

Impressão Simultânea.

Enviado: 05 Jul 2011 15:08
por Maligno
Dois SET PRINTER não funcionam simultaneamente, mas apenas em seqüência, haja vista que o Clipper é monotarefa. Talvez (eu disse talvez) seja possível algo simultâneo se dos dois relatórios for feito por meio de uma função rodando em background (a NanFor tem função do tipo). Mas é fácil descobrir. Basta um teste.

Agora, se for o mesmo relatório em duas saídas, não rola mesmo. O meio mais prático, que até dá a impressão de simultaneidade, é jogar a impressão para o arquivo e em seguida para a impressora. Assim não precisará gerar os dados novamente. Tudo sequencial.

Impressão Simultânea.

Enviado: 05 Jul 2011 17:43
por Pablo César
Tem que ser estuda a real necessidade do uso de dois SET PRINTER. Se a intenção de um seria para imprimir e a outra para direcionar a impressão em arquivo. Por quê não criar o arquivo e depois disponibilizá-lo na fila de impressão (no spooler) ?

Primeiro cria o arquivo normalmente no local desejado e depois:

COPY FILE(<arquivo>) TO ("LPT1")

Também é possivel gerar dois ou mais arquivos simultaneamente durante a emissão do relatório. Como relatei uma vez neste tópico: https://pctoledo.org/forum/viewto ... ITE#p52802

Impressão Simultânea.

Enviado: 06 Jul 2011 08:52
por Dilson José
Valeu pessoal pelas dicas!

Eu resolvi tal problema da seguinte forma:

Código: Selecionar todos

Use Arquivo.xxx

for x = 1 to 2
     arquivo->(DBGoTop())

    if x = 1 
       set print to LPT1 -> Impressora Local
    else
       set print to Y:\Documentos\*.usb|prn|txt etc...
    endif

    while not EOF()

         rotinas
    
    end
    
   set print to

next x
Espero que ajude alguém que também esteja com a mesma duvida!

Blz e obrigado!

Impressão Simultânea.

Enviado: 06 Jul 2011 08:57
por Maligno
Bom que tenha resolvido, mas se o processamento for pesado, ele será feito duas vezes. Daí,...

Impressão Simultânea.

Enviado: 06 Jul 2011 10:35
por sambomb
Acredito que a saida seja criar direto no TXT e depois fazer um "copy to LPT1"

EDIT: Que é o mesmo que o Pablo já falou..