SET()
 Inspeciona ou modifica uma configuraçao global
------------------------------------------------------------------------------

 Sintaxe

     SET(<nEspecificador>, [<expNovaConfig>]) --> ConfigCorrente

 Argumentos

     <nEspecificador> é um valor numérico que especifica a configuraçao
     a ser inspecionada ou modificada.  O <nEspecificador> deve ser
     fornecido na forma de uma constante manifesta (ver abaixo).

     <expNovaConfig> é um parâmetro opcional que especifica um novo
     valor para a configuraçao especificada.  O tipo de <expNovaConfig>
     depende do <nEspecificador>.

 Retorno

     SET() retorna o valor corrente da configuraçao especificada.

 Descriçao

     SET() é uma funçao do sistema que permite a você inspecionar ou
     modificar os valores das configuraçoes globais do Clipper.  Para
     informaçoes a respeito do significado e valores reais para uma
     configuraçao em particular, consulte o comando ou funçao associada.

     A configuraçao a ser inspecionada ou modificada é especificada através
     de uma constante manifesta.  Estas constantes estao definidas em um
     arquivo header chamado Set.ch.  Este arquivo header deve estar incluido
     no início de qualquer arquivo fonte que utiliza SET().

     Set.ch também define uma constante chamada _SET_COUNT.  Esta constante
     é igual ao número de configuraçoes que podem ser modificadas ou
     inspecionadas com a funçao SET(), permitindo a construçao de uma funçao
     genérica que preserva todas as configuraçoes (veja o exemplo abaixo).

     -----------------------------------------------------------------------
     . Nota

     Os valores numéricos das constantes manifestas em Set.ch dependem de
     versao e nao devem nunca ser utilizadas diretamente; as constantes
     manifestas sempre devem ser usadas.
     -----------------------------------------------------------------------

     Caso <nEspecificador> ou <expNovaConfig> seja inválido, a chamada a
     SET() é ignorada.

     Tabela 5-28: Valores SET definidos em Set.ch
     ------------------------------------------------------------------------
     Constante               Tipo de Valor     Comando ou Funçao Associada
     ------------------------------------------------------------------------
     _SET_EXACT              Lógico            SET EXACT
     _SET_FIXED              Lógico            SET FIXED
     _SET_DECIMALS           Numérico          SET DECIMALS
     _SET_DATEFORMAT         Caractere         SET DATE
     _SET_EPOCH              Numérico          SET EPOCH
     _SET_PATH               Caractere         SET PATH
     _SET_DEFAULT            Caractere         SET DEFAULT
     _SET_EXCLUSIVE          Lógico            SET EXCLUSIVE
     _SET_SOFTSEEK           Lógico            SET SOFTSEEK
     _SET_UNIQUE             Lógico            SET UNIQUE
     _SET_DELETED            Lógico            SET DELETED
     _SET_CANCEL             Lógico            SETCANCEL()
     _SET_DEBUG              Lógico            ALTD()
     _SET_COLOR              Caractere         SETCOLOR()
     _SET_CURSOR             Numérico          SETCURSOR()
     _SET_CONSOLE            Lógico            SET CONSOLE
     _SET_ALTERNATE          Lógico            SET ALTERNATE
     _SET_ALTFILE            Caractere         SET ALTERNATE TO
     _SET_DEVICE             Caractere         SET DEVICE
     _SET_PRINTER            Lógico            SET PRINTER
     _SET_PRINTFILE          Caractere         SET PRINTER TO
     _SET_MARGIN             Numérico          SET MARGIN
     _SET_BELL               Lógico            SET BELL
     _SET_CONFIRM            Lógico            SET CONFIRM
     _SET_ESCAPE             Lógico            SET ESCAPE
     _SET_INSERT             Lógico            READINSERT()
     _SET_EXIT               Lógico            READEXIT()
     _SET_INTENSITY          Lógico            SET INTENSITY
     _SET_SCOREBOARD         Lógico            SET SCOREBOARD
     _SET_DELIMITERS         Lógico            SET DELIMITERS
     _SET_DELIMCHARS         Caractere         SET DELIMITERS TO
     _SET_WRAP               Lógico            SET WRAP
     _SET_MESSAGE            Numérico          SET MESSAGE
     _SET_MCENTER            Lógico            SET MESSAGE
     ------------------------------------------------------------------------

 Exemplos

     O exemplo a seguir ilustra uma funçao definida pelo usuário que
     preserva ou recupera todas as configuraçoes globais.  Esta funçao pode
     ser utilizada na entrada para um subsistema, para assegurar que este
     nao afete o estado do programa que o chamou.

     #include "Set.ch"
     //
     FUNCTION SetAll( aNewSets )
        LOCAL aCurrentSets[_SET_COUNT], nCurrent
        IF ( aNewSets != NIL )                     // Configura novo e
                                                   // retorna corrente
           FOR nCurrent := 1 TO _SET_COUNT
              aCurrentSets[n] := SET(n, aNewSets[n])
           NEXT
        ELSE                                       // Apenas retorna corrente
           FOR n := 1 TO _SET_COUNT
              aCurrentSets[n] := SET(nCurrent)
           NEXT
        ENDIF
        RETURN (aCurrentSets)

 Arquivos:  Biblioteca CLIPPER.LIB, arquivo header Set.ch.