SET()
 Comprueba o modifica un valor de configuración del sistema
------------------------------------------------------------------------------
 Sintaxis

     SET(<nEspecificador>, [<expNuevoValor>], [<lModoApertura>])
        --> ValorActual

 Argumentos

     <nEspecificador> es un valor numérico que identifica el valor que
     debe comprobarse o modificarse. <nEspecificador> debe proporcionarse
     como una constante declarada (ver a continuación).

     <expNuevoValor> es un argumento opcional que indica un valor nuevo
     para <nEspecificador>. El tipo de este argumento depende de
     <nEspecificador>.

     <lModoApertura> es un valor lógico que indica si los ficheros que
     se abren con los siguientes parámetros:

     _SET_ALTFILE, _SET_PRINTFILE, _SET_EXTRAFILE

     deberían truncarse o abrirse en modo de adición. El valor falso (.F.)
     significa que el fichero debe truncarse. El valor verdadero (.T.)
     significa que el fichero debe abrirse en modo adición. En cualquier
     caso, si el fichero no existe se crea.

     Si no se especifica este argumento, el valor por defecto es modo de
     adición.

 Devuelve

     SET() devuelve el valor de configuración actual de la característica
     especificada.

 Descripción

     SET() es una función del sistema que le permite comprobar o modificar
     los valores de sistema de CA-Clipper. Para obtener más información
     sobre el significado y valores correctos para un ajuste en concreto,
     consulte el mandato o función asociados.

     Use una constante declarada para especificar el ajuste que deba ser
     comprobado o modificado. Estas constantes están definidas en un fichero
     de cabecera llamado Set.ch. Este fichero debe incluirse al principio de
     cualquier módulo fuente que utilice SET().

     Set.ch también define una constante llamada _SET _COUNT. Esta constante
     es igual al número de ajustes que pueden cambiarse o inspeccionarse con
     SET(), permitiendo la construcción de una función genérica que conserve
     todos los ajustes (consulte el ejemplo que aparece más adelante).

     Nota:  Los valores numéricos de las constantes declaradas en Set.ch
     dependen de la versión y nunca deben utilizarse directamente, siempre
     deben utilizarse constantes declaradas.

     Si <nEspecificador> o <expNuevoAjuste> no son válidos, se ignora la
     llamada a SET().

     Valores de Set definidos en Set.ch
     ------------------------------------------------------------------------
     Constante           Tipo de Valor        Mandato o Función Asociados
     ------------------------------------------------------------------------
     _SET_EXACT          Lógico               SET EXACT
     _SET_FIXED          Lógico               SET FIXED
     _SET_DECIMALS       Numérico             SET DECIMALS
     _SET_DATEFORMAT     Carácter             SET DATE
     _SET_EPOCH          Numérico             SET EPOCH
     _SET_PATH           Cáracter             SET PATH
     _SET_DEFAULT        Cáracter             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          Numérico             ALTD()
     _SET_COLOR          Cáracter             SETCOLOR()
     _SET_CURSOR         Numérico             SETCURSOR()
     _SET_CONSOLE        Lógico               SET CONSOLE
     _SET_ALTERNATE      Lógico               SET ALTERNATE
     _SET_ALTFILE        Cáracter             SET ALTERNATE TO
     _SET_DEVICE         Cáracter             SET DEVICE
     _SET_PRINTER        Lógico               SET PRINTER
     _SET_PRINTFILE      Cáracter             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     Cáracter             SET DELIMITERS TO
     _SET_WRAP           Lógico               SET WRAP
     _SET_MESSAGE        Numérico             SET MESSAGE
     _SET_MCENTER        Lógico               SET MESSAGE
     ------------------------------------------------------------------------

     Nota: _SET_EXTRAFILE y _SET_SCROLLBREAK no tienen mandatos
     correspondientes. _SET_EXTRAFILE le permite especificar un fichero
     alternativo adicional y _SET_SCROLLBREAK activar o desactivar la
     interpretación de Ctrl+S.

 Ejemplos

      Este ejemplo muestra una función definida por el usuario que
        conserva o restaura toda la configuración. Esta función podría
        utilizarse al entrar en un subsistema para garantizar que éste no
        afecta al estado del programa que lo ha llamado:

        #include "Set.ch"
        //

        FUNCTION EstablecerTodo( aNuevosValores )
           LOCAL aValoresActuales[_SET_COUNT], nActuales
           IF ( aNuevosValores != NIL )        // Establecer los nuevos y
                                               // devolver los actuales
              FOR nActuales := 1 TO _SET_COUNT
                  aValoresActuales[nActuales] := ;
                        SET(nActuales, aNuevosValores[nActuales])
              NEXT
           ELSE        // Devolver sólo actuales
              FOR nActuales := 1 TO _SET_COUNT
                  aValoresActuales[nActuales] := SET(nActuales)
              NEXT
           ENDIF
           RETURN (aValoresActuales)

 Ficheros   La biblioteca asociada es CLIPPER.LIB,
            el fichero de cabecera es Set.ch.