SET( )
Comprueba o modifica un valor de configuración del sistema
Sintaxis
SET(, [],
[]) –> ValorActual
Argumentos
es un valor numérico que identifica al valor que debe comprobarse o modificarse. debe proporcionarse como una constante declarada (ver a continuación).
es un argumento opcional que indica un valor nuevo para . El tipo de este argumento depende de .
es un valor lógico que indica si los ficheros que se abren para los siguientes propósitos:
_SET_ALTFILE, _SET_PRINTFILE, _SET_EXTRAFILE
deberían truncarse o abrirse en modo de adición. Un valor de falso (.F.) significa que el fichero debe truncarse. Un valor de verdadero significa que el fichero debe abrirse en modo de 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 DPXBASE. 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 se definen 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 conserva 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 las constantes declaradas. Si o 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 Carácter SET PATH
_SET_DEFAULT Carácter 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 Carácter SETCOLOR()
_SET_CURSOR Numérico SETCURSOR()
_SET_CONSOLE Lógico SET CONSOLE
_SET_ALTERNATE Lógico SET ALTERNATE
_SET_ALTFILE Carácter SET ALTERNATE TO
_SET_DEVICE Carácter SET DEVICE
_SET_PRINTER Lógico SET PRINTER
_SET_PRINTFILE Carácter 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 Carácter 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 DPXBASE.CH y el fichero de cabecera Set.ch.
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 al valor que debe comprobarse o modificarse. <nEspecificador> debe proporcionarse como una constante declarada (ver a continuación).
<expNuevoAjuste> 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 para los siguientes propósitos:
_SET_ALTFILE, _SET_PRINTFILE, _SET_EXTRAFILE
deberían truncarse o abrirse en modo de adición. Un valor de falso (.F.) significa que el fichero debe truncarse. Un valor de verdadero significa que el fichero debe abrirse en modo de 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 DPXBASE. 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 se definen 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 conserva 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 las 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 Cáracter 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 Lógico 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 DPXBASE.CH y el fichero de cabecera Set.ch.