SET PRINTER
 Comuta o eco da saída do console para impressora ou arquivo
------------------------------------------------------------------------------

 Sintaxe

     SET PRINTER on | OFF | <xlComuta>
     SET PRINTER TO [<xcDispositivo> | <xcArquivo>]

 Argumentos

     ON ecoa saída de console para a impressora.

     OFF suprime a impressao da saída de console.

     <xlComuta> é uma expressao entre parênteses.  Um valor verdadeiro
     (.T.) é ON, e falso (.F.) é OFF.

     TO <xcDispositivo> identifica o nome do dispositivo (DEVICE) para
     onde será enviada a saída impressa.  Um nome de dispositivo pode ser
     especificado literalmente ou como expressao caractere entre
     parênteses.  Adicionalmente, um dispositivo pode ser local ou rede.
     Configurar SET PRINTER para um dispositivo nao existente cria um
     arquivo com o nome deste.  Assegure-se de nao utilizar dois pontos (:)
     como caractere inicial de nome de dispositivo.

     TO <xcArquivo> identifica o nome do arquivo de saída. O nome pode
     ser especificado literalmente ou como expressao caractere entre
     parênteses.  Se a extensao nao for especificada (.prn) é adicionada
     automaticamente.

     Caso SET PRINTER TO seja especificado sem argumentos, o dispositivo
     especificado é fechado e o destino padrao é selecionado.

 Descriçao

     SET PRINTER, da mesma forma que outros SETs, tem duas formas de uso com
     sua funcionalidade própria. A forma on|OFF de SET PRINTER controla se a
     saída será enviada ou nao para a impressora. Comandos de console sao
     aqueles em que geralmente nao se especifica linha e coluna.  Todos
     estes comandos, exceto ?|??, possuem a cláusula TO PRINT que também
     dirige a saída para a impressora.  A saída de comandos de console é
     enviada para tela a menos que CONSOLE esteja OFF.  Esteja advertido que
     @...SAYs nao sao afetados por SET PRINTER ON.  Para enviá-los para
     impressora use SET DEVICE TO PRINTER.

     SET PRINTER TO, ao contrário, determina o destino da saída de todos os
     comandos e funçoes que enviam saída para impressora.  Isto inclui
     @...SAYs se SET DEVICE é TO PRINTER.  A saída pode ser enviada para um
     dispositivo ou arquivo.  Se o destino é um arquivo, Os seguintes nomes
     sao válidos: LPT1, LPT2, LPT3 (todas portas paralelas), COM1, e COM2
     (portas seriais) e PRN.  O assumido é PRN.

     Se o destino é arquivo, ele é criado no diretório DEFAULT corrente.  Se
     um arquivo com o mesmo nome existir no mesmo local, ele é sobregravado
     sem nenhum aviso.  Todas as saídas para impressora serao escritas neste
     arquivo até que seja fechado com SET PRINTER TO sem argumento.

     Existem vários usos para SET PRINTER TO, incluindo:

       Alternar portas para gerenciar múltiplas impressoras.

       Saída em arquivo para posterior impressao, ou transferência
        para outra máquina via telecomunicaçao.

       Esvaziar o spool de impressao e reselecionar o dispositivo
        padrao.

 Notas

       Compatibilidade: O Clipper nao suporta a sintaxe SET
        PRINTER TO \\SPOOLER ou \\CAPTURE.  Especificar SET PRINTER com
        estas opçoes cria arquivos Spooler.prn ou Capture.prn.  Os símbolos
        \\ sao ignorados.

       Marcas de fim de arquivo: Quando a saída em impressora é
        redirecionada para um arquivo, a marca de fim de arquivo (CHR(26))
        nao é gravada quando este arquivo é fechado.  Para encerrar um
        arquivo com uma marca de fim de arquivo, emita um  ?? CHR(26) antes
        de SET PRINTER TO.

       Rede: Para algumas redes, a impressora da estaçao deve
        ser primeiro redirecionada para o servidor de arquivo (geralmente
        rodando o spooler de rede).

 Exemplos

       Este exemplo ecoa a saída de um comando ? para a  impressora,
        suprimindo a saída em console usando SET CONSOLE OFF:

        USE Customers NEW
        SET PRINTER ON
        SET CONSOLE OFF

        DO WHILE !EOF()
           ? Customer
           SKIP
        ENDDO

        EJECT
        SET PRINTER OFF
        SET CONSOLE ON
        CLOSE
        RETURN

       Este exemplo direciona a saída em LPT1 e esvazia o spooler
        após completar a impressao:

        SET PRINTER TO LPT1
        <Comandos de impressao>...
        SET PRINTER TO                    // Esvazia o spooler.

       Este exemplo envia a saída de impressora para um arquivo
        texto, sobregravando um arquivo já existente:

        SET PRINTER TO Prnfile.txt
        SET DEVICE TO PRINTER
        SET PRINTER ON

        @ 0, 0 SAY "Isto vai para Prnfile.txt"
        ? "Assim como isto!"

        SET DEVICE TO SCREEN
        SET PRINTER OFF
        SET PRINTER TO                    // Fecha arquivo de impressao

 Arquivos:  Biblioteca CLIPPER.LIB.
 To download this example - click here.

See Also: @...SAY EJECT SET CONSOLE SET DEVICE