SETPRC()
 Configura os valores de PROW() e PCOL()
------------------------------------------------------------------------------

 Sintaxe

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

 Argumentos

     <nLinha> é o novo valor de PROW().

     <nCol> é o novo valor de PCOL().

 Retorno

     SETPRC() sempre retorna NIL.

 Descriçao

     SETPRC() é uma funçao de tratamento de impressora, útil para o envio de
     códigos de controle à impressora sem mudar a posiçao da cabeça de
     impressao.  Quando o Clipper imprime, ele atualiza o valor de PCOL()
     com a quantidade de caracteres enviados à impressora.  Nao é feita
     diferenciaçao entre caracteres que podem ser impressos e aqueles que
     nao podem ser impressos.  Se, por exemplo, uma cadeia de dez caracteres
     enviados à impressora contém dois caracteres interpretados pela
     impressora como códigos de controle, o valor de PCOL() em Clipper é
     incrementado em dez, enquanto que a cabeça de impressao é movida
     somente oito posiçoes.  Isto pode trazer problemas de alinhamento.
     Utilizando SETPRC(), você pode compensar os códigos de controle
     reconfigurando PCOL(), como ilustrado no exemplo abaixo.

     SETPRC() também pode ser usado para suprimir ejeçoes de página quando
     da impressao com @...SAY.  Isto é importante quando a próxima posiçao
     de linha é menor do que a linha corrente e nao foi enviado um EJECT.
     Nesta situaçao, o Clipper envia uma ejeçao de página automática se a
     próxima posiçao de linha da impressao for menor do que o valor corrente
     de PROW().  Usando SETPRC(), você pode configurar PROW() para um número
     menor do que a linha corrente, desta forma suprimindo o EJECT
     automático.

 Exemplos

     A funçao definida pelo usuário a seguir, PrintCodes(), ilustra como
     SETPRC() pode ser utilizada para enviar códigos de controle à
     impressora sem afetar os valores de PROW() e PCOL():

     #include "Set.ch"
     #define ITALICS_ON   CHR(27) + "I"
     #define ITALICS_OFF  CHR(27) + "E"
     //
     SET DEVICE TO PRINTER
     @ 12, 10 SAY "Isto é um "
     @ PROW(), PCOL() + 2 SAY PrintCodes(ITALICS_ON) + "problema"
     @ PROW(), PCOL() + 2 SAY PrintCodes(ITALICS_OFF) + "especial"
     SET DEVICE TO SCREEN
     RETURN

     FUNCTION PrintCodes( cCtrlCode )
        LOCAL nRow, nCol, lPrinter
        lPrinter := SET(_SET_PRINTER, .T.) // SET PRINTER ON
        nRow := PROW()                     // Guarda posicao da cabeca de
                                           // impressao
        nCol := PCOL()
        //
        ?? cCtrlCode                       // Envia codigo de controle
        //
        SETPRC(nRow, nCol)
        SET(_SET_PRINTER, lPrinter)        // Restaura configuracao impressora
        RETURN ""                          // Retorna um string nulo ("")

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

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