SET PRINTER
 Activa o desactiva el direccionamiento de la salida de consola a la
 impresora o establece el destino de la salida impresa
------------------------------------------------------------------------------
 Sintaxis

     SET PRINTER on | OFF | <xlConmutar>
     SET PRINTER TO [<xcDispositivo> | <xcFichero> [ADDITIVE]]

 Argumentos

     ON envía la salida de consola a la impresora.

     OFF suprime la impresión de la salida de consola.

     <xlConmutar> es una expresión lógica que debe incluirse entre
     paréntesis. El valor verdadero (.T.) equivale a ON (activar) y el valor
     falso (.F.) a OFF (desactivar).

     TO <xcDispositivo> identifica el nombre del dispositivo al que se
     enviará la salida impresa posterior. Puede especificar el nombre de
     dispositivo como una cadena de caracteres literal o como una expresión
     de caracteres entre paréntesis. Además, un dispositivo puede ser local
     o de red. Si se envía la salida a un dispositivo que no existe, se crea
     un fichero con el nombre de dicho dispositivo. Cuando especifique
     nombres de dispositivos, no utilice el carácter dos puntos final.

     TO <xcFichero> identifica el nombre del fichero de salida. Puede
     especificar dicho nombre como una cadena literal o como una expresión
     de caracteres entre paréntesis. Si no se indica una extensión, se asume
     .prn.

     ADDITIVE hace que la salida se añada al fichero existente en lugar
     de sobreescribirlo. Si no se especifica ADDITIVE, el fichero de salida
     existente se trunca antes de escribir en él la nueva información. La
     cláusula ADDITIVE sólo tiene sentido cuando se establece como
     dispositivo de impresión un fichero de salida.

     Si se especifica SET PRINTER TO sin argumentos, se cierra el
     dispositivo o fichero especificado y vuelve a seleccionarse el destino
     por defecto.

 Descripción

     SET PRINTER, al igual que muchos otros mandatos SET, tiene dos formas
     básicas, cada una de ellas con su propia funcionalidad. La forma on|OFF
     de SET PRINTER controla si la salida de los mandatos de consola se
     envía a la impresora. Por lo general, los mandatos de consola no
     especifican las coordenadas de fila y columna. Todos estos mandatos,
     excepto ?|??, tienen una cláusula TO PRINTER que también dirige la
     salida a la impresora. La salida de los mandatos de consola se muestra
     en la pantalla a menos que se establezca SET CONSOLE OFF. Tenga en
     cuenta que los mandatos @...SAY no se ven afectados por SET PRINTER ON.
     Para enviarlos a la impresora, utilice SET DEVICE TO PRINTER.

     SET PRINTER TO determina el destino de la salida de todos los mandatos
     y funciones que envían datos a la impresora. Esto incluye los mandatos
     @...SAY si se especificó SET DEVICE TO PRINTER. La salida puede
     enviarse a un dispositivo o a un fichero. Si el destino es un
     dispositivo, son válidos los siguientes nombres: LPT1, LPT2, LPT3
     (todos ellos puertos paralelos), COM1 y COM2 (puertos en serie), CON y
     PRN. El dispositivo por defecto es PRN.

     Si el destino es un fichero, se crea en el directorio actual por
     defecto. Si ya existe otro fichero con el mismo nombre en la misma
     ubicación, el nuevo fichero se sobreescribe sin aviso alguno. Toda la
     salida posterior a la impresora se escribe en este fichero hasta que se
     cierra utilizando SET PRINTER TO sin argumentos.

     Utilice SET PRINTER TO para:

      Gestionar varias impresoras mediante el intercambio de
        puertos

      Dirigir la salida a un fichero para su posterior impresión o
        para la transferencia a un ordenador remoto

      Vaciar el spooler de impresora y volver a establecer el
        dispositivo por defecto

 Notas

     ■ Compatibilidad: CA-Clipper no admite la sintaxis SET PRINTER
        TO \\SPOOLER o \\CAPTURE. Al especificar SET PRINTER con cualquiera
        de estas dos opciones se crean los ficheros Spooler.prn o
        Capture.prn. Los símbolos \\ se ignoran.

     ■ Marcas de final de fichero: Cuando la salida de impresora se
        dirige a un fichero, no se incluye una marca de fin de fichero
        (CHR(26)) al cerrarlo. Para finalizar un fichero con una marca de
        final de fichero, ejecute un ?? CHR(26) inmediatamente antes del
        mandato SET PRINTER TO que cierra el fichero.

     ■ Redes: En algunas redes, la impresora de la estación de trabajo
        debe redirigirse primero al servidor de ficheros (normalmente
        ejecutando el programa spooler de red).

 Ejemplos

      Este ejemplo envía la salida del mandato ? a la impresora,
        suprimiendo la visualización de pantalla de consola al establecer
        SET CONSOLE OFF:

        USE Cliente NEW
        SET PRINTER ON
        SET CONSOLE OFF
        DO WHILE !EOF()
           ? Cliente->Nombre, Cliente->Telefono
           SKIP
        ENDDO
        EJECT
        SET PRINTER OFF
        SET CONSOLE ON
        CLOSE
        RETURN

      Este ejemplo dirige la salida de impresora a LPT1 y vacía el
        spooler de impresión una vez finalizado el proceso:

        SET PRINTER TO LPT1
        <Setencias de impresión>...
        SET PRINTER TO                // Vaciar el spooler de impresión

      Este ejemplo envía la salida de impresora a un fichero de
        texto, sobreescribiendo un fichero existente con el mismo nombre:

        SET PRINTER TO Ficheprn.txt
        SET DEVICE TO PRINTER
        SET PRINTER ON
        //
        @ 0, 0 SAY "Esto va a Ficheprn.txt"
        ? "Esto también"
        //
        SET DEVICE TO SCREEN
        SET PRINTER OFF
        SET PRINTER TO                // Cerrar el fichero de impresión

 Ficheros   La biblioteca asociada es CLIPPER.LIB.

 To download this example - click here.

See Also: @...SAY EJECT SET CONSOLE SET DEVICE SETPRC()