SETPRC()
 Establece los valores de PROW() y PCOL()
------------------------------------------------------------------------------
 Sintaxis

     SETPRC(<nFila>, <nCol>) --> NIL

 Argumentos

     <nFila> es el nuevo valor de PROW().

     <nCol> es el nuevo valor de PCOL().

 Devuelve

     SETPRC() siempre devuelve NIL.

 Descripción

     SETPRC() es una función de impresora que envía códigos de control a la
     impresora sin cambiar la posición de la cabeza de impresión. Cuando
     CA-Clipper imprime, actualiza el valor de PCOL() con el número de
     caracteres enviado a la impresora. No existe diferencia entre
     caracteres que pueden imprimirse y aquéllos no imprimibles. Si, por
     ejemplo, se envía a la impresora una cadena de diez caracteres que
     contiene dos caracteres interpretados como códigos de control por la
     impresora, el valor de PCOL() de CA-Clipper se incrementa en diez,
     mientras que la posición real de la cabeza de impresión sólo se
     desplaza ocho. Esto puede llevar a problemas de alineación. Mediante el
     uso de SETPRC() puede compensar estos códigos de control volviendo a
     establecer PCOL() tal y como se muestra en el ejemplo que aparece más
     adelante.

     SETPRC() también suprime los saltos de página al imprimir con @...SAY.
     Esto es importante cuando la siguiente posición de fila es menor que
     la fila actual y no se ha ejecutado un EJECT. En esta situación,
     CA-Clipper ejecuta un salto de página automático si la siguiente
     posición de impresión de fila es menor que el valor actual de PROW().
     Con SETPRC(), puede establecer PROW() a un número inferior a la fila
     actual, eliminando así el EJECT automático.

 Ejemplos

      Esta función definida por el usuario, ImprimirCodigos(),
        utiliza SETPRC() para enviar códigos de control a la impresora sin
        afectar a los valores de PROW() y PCOL():

        #include "Set.ch"
        #define ITALICS_ON     CHR(27) + "I"
        #define ITALICS_OFF    CHR(27) + "E"
        //
        SET DEVICE TO PRINTER
        @ 12, 10 SAY "Se trata de una"
        @ PROW(), PCOL() + 2 SAY ImprimirCodigos(ITALICS_ON) + ;
                  "importante"
        @ PROW(), PCOL() + 2 SAY ImprimirCodigos(ITALICS_OFF) + ;
                  "reunión"
        SET DEVICE TO SCREEN
        RETURN

        FUNCTION ImprimirCodigos( cCodigoCtrl )
           LOCAL nFila, nCol, lImpresora
           lImpresora := SET(_SET_PRINTER, .T.)    // SET PRINTER ON
           nFila:= PROW()                          // Guardar posición
                                                   // cabeza de impresión
           nCol:= PCOL()
           //
           ?? cCodigoCtrl                          // Enviar código de control
           //
           SETPRC(nFila, nCol)
           SET(_SET_PRINTER, lImpresora)           // Recuperar parámetros
                                                   // de impresora
           RETURN ""                               // Devolver una cadena nula

 Ficheros   La biblioteca asociada es CLIPPER.LIB.

 To download this example - click here.

See Also: PCOL() PROW() SET DEVICE SET()