martes, 26 de agosto de 2008

COMANDOS DE CONFIGURACION (SET) DE VISUAL FOXPRO (2)

SET FIELDS (Comando)
Especifica a qué campos de una tabla puede tener acceso.

SET FIELDS ON OFF LOCAL GLOBAL
O bien:
SET FIELDS TO [[FieldName1 [, FieldName2 ...]]
ALL [LIKE Skeleton EXCEPT Skeleton]]
Parámetros
ON
Especifica que sólo puede tener acceso a los campos de la lista de campos.

OFF
(Predeterminado) Especifica que puede tener acceso a todos los campos de la tabla actual.

LOCAL
Especifica que sólo se puede tener acceso a los campos del área de trabajo actual incluidos en la lista de campos.

GLOBAL
Especifica que se puede tener acceso a todos los campos de la lista de campos, incluidos los de otras áreas de trabajo.
SET FIELDS GLOBAL le permite tener acceso a campos de otras áreas de trabajo sin ejecutar SET COMPATIBLE TO DB4.

TO [FieldName1 [, FieldName2 ...]]
Especifica los nombres de campos a los que se puede tener acceso en la tabla actual. Debe incluir un alias con el nombre del campo en estos casos:
· Cuando el campo está en una tabla abierta en un área de trabajo distinta de la seleccionada actualmente.
· Cuando los nombres de los campos son los mismos en dos o más tablas.

Puede incluir campos de tablas abiertas en otras áreas de trabajo si asigna alias de tabla como prefijo a los nombres de campo. Sin embargo, no podrá tener acceso a estos campos a menos que ejecute SET FIELDS GLOBAL o SET COMPATIBLE DB4.
La lista de campos puede contener instrucciones para crear campos calculados. Un campo calculado contiene datos de sólo lectura creados con una expresión. Esta expresión puede adoptar cualquier forma, pero debe ser una expresión válida de FoxPro. No puede tener acceso a los campos calculados a menos que ejecute SET FIELDS GLOBAL o SET COMPATIBLE DB4.
El formato de la instrucción que se utiliza para crear un campo calculado es la siguiente:
=

El ejemplo siguiente crea un campo calculado llamado LOCATION:
CLOSE DATABASES
USE customer
SET FIELDS TO LOCATION = ALLTRIM(city) + ', ' + state
CITY y REGION son los nombres de los campos de la tabla seleccionada.

ALL
Permite tener acceso a todos los campos de la tabla actual.

ALL LIKE Skeleton EXCEPT Skeleton
Puede tener acceso selectivamente a los campos incluyendo la cláusula LIKE, EXCEPT o ambas. Si incluye LIKE Skeleton, podrá tener acceso a los campos que coincidan con Skeleton. Si incluye EXCEPT Skeleton, podrá tener acceso a todos los campos excepto los que coincidan con Skeleton.
La estructura Skeleton admite caracteres comodín como * y ? Por ejemplo, para tener acceso a campos que comiencen por las letras A y P, ejecute:
SET FIELDS TO ALL LIKE A*,P*

Puede combinar la cláusula LIKE con la cláusula EXCEPT:
SET FIELDS TO ALL LIKE A*,P* EXCEPT PARTNO*
Observaciones
SET FIELDS TO es aditivo: al ejecutar SET FIELDS TO con una lista de campos se agregarán los campos especificados a los que estén ya accesibles.
Al ejecutar SET FIELDS TO se ejecuta implícitamente SET FIELDS ON. Al ejecutar SET FIELDS TO sin ningún argumento adicional, se ejecutará implícitamente SET FIELDS OFF. Ejecute SET FIELDS TO sin incluir una lista de campos ni ALL para eliminar todos los campos de la lista de campos de la tabla actual.
SET FIELDS tiene como alcance la sesión actual de datos.




SET FILTER (Comando)
Especifica una condición que deben cumplir los registros de la tabla actual para estar accesibles.

SET FILTER TO [lExpression] [IN nWorkArea cTableAlias]
Parámetros
lExpression
Especifica la condición que deben cumplir los registros.
Si la tabla actual está indizada en uno o más campos especificados en lExpression, la tecnología Rushmore de Visual FoxPro permite optimizar las consultas basadas en estos campos.

IN nWorkArea cTableAlias
Especifica el área de trabajo o el alias de tabla afectado por el comando SET FILTER. Utilice esta cláusula para especificar una área de trabajo o una tabla externa al área de trabajo actual.
Observaciones
Una vez ejecutado SET FILTER, solamente están disponibles en la tabla los registros que satisfacen la condición especificada con la expresión lógica lExpression. Todos los comandos de acceso a la tabla respetan la condición de SET FILTER. Se puede definir un filtro distinto para cada tabla abierta.
La condición especificada por SET FILTER no se evalúa hasta que el puntero de registro se mueve en la tabla.
Al ejecutar SET FILTER TO sin lExpression se desactiva el filtro para la tabla actual.
SELECT - SQL no respeta la condición de filtro actual.




SET FIXED (Comando)
Especifica si el número de indicadores decimales que se utilizarán al mostrar datos numéricos es fijo o no.

SET FIXED ON OFF
Parámetros
ON
Use la configuración de SET DECIMALS para determinar el número de decimales que se muestran en el resultado. El número predeterminado de indicadores decimales es 2.

OFF
(Predeterminado) Permite que el número de indicadores decimales mostrado en los resultados dependa de las constantes, las variables y los operadores específicos utilizados en una expresión numérica. El contenido de los campos se mostrará con el número de cifras decimales declarados.
Observaciones
SET FIXED tiene como alcance la sesión actual de datos.



SET FULLPATH (Comando)
Especifica si CDX( ), DBF( ), MDX( ) y NDX( ) devuelven la ruta de acceso en un nombre de archivo.

SET FULLPATH ON OFF
Parámetros
ON
(Predeterminado) Especifica que CDX( ), DBF( ), IDX( ) y NDX( ) devuelven el designador de unidad, la ruta de acceso y el nombre del archivo.

OFF
Solamente se devolverá el designador de unidad y el nombre de archivo.




SET FUNCTION (Comando)
Asigna una expresión (macro de teclado) a una tecla de función o combinación de teclas.

SET FUNCTION nFunctionKeyNumber KeyLabelName TO [eExpression]
Parámetros
nFunctionKeyNumber
Especifica el número de la tecla de función asignada a la macro. Por ejemplo, utilice SET FUNCTION 2 para especificar la tecla de función F2.

KeyLabelName
Especifica una combinación de teclas, como una tecla de función, a la que se desea asignar la macro. Visual FoxPro admite combinaciones de teclas que incluyen teclas de función. Puede utilizar las teclas CTRL o MAYÚS combinadas con una tecla de función para crear teclas programables adicionales.

TO [eExpression]
Especifica la serie de pulsaciones de tecla almacenadas en la tecla de función o en la combinación de teclas. Visual FoxPro interpreta un punto y coma (;) en la expresión como un retorno de carro.
Las definiciones de teclas de función pueden borrarse con CLEAR MACROS.




SET FWEEK (Comando)
Especifica los requisitos de la primera semana del año.

SET FWEEK TO [nExpression]
Parámetros
nExpression
Especifica un valor que determina los requisitos de la primera semana del año. La tabla siguiente indica los valores que puede adoptar nExpression y los requisitos correspondientes para la primera semana del año:

nExpression Requisito de la primera semana
1 (Predeterminado) La primera semana contiene el 1 de enero.
2 La mitad más grande (cuatro días) de la primera semana está en el año actual.
3 La primera semana tiene siete días.

Si omite nExpression, la primera semana del año se restablecerá en 1 (la primera semana contiene el 1 de enero).
Observaciones
La primera semana del año también se puede establecer con el cuadro de lista Primera semana del año de la ficha
Regional, en el cuadro de diálogo Opciones.
Ejemplo
STORE SET('FWEEK') TO gnFweek && Save current value
SET FWEEK TO 1 && First week contains January 1st
SET FWEEK TO 3 && First week has seven days
SET FWEEK TO &gnFweek && Restore original setting




SET HEADINGS (Comando)
Determina si se muestran o no encabezados de columna para los campos, y si se incluye información de archivos cuando se ejecuta TYPE para mostrar el contenido de un archivo.

SET HEADINGS ON OFF
Parámetros
ON
(Predeterminado) Especifica que se muestren los nombres de campo.
Si se ejecuta TYPE para mostrar el contenido de un archivo, Visual FoxPro insertará un avance de formulario, la ruta de acceso, el nombre del archivo y la fecha al principio del resultado mostrado.

OFF
Especifica que los nombres de los campos no se muestran.
Si se ejecuta TYPE para mostrar el contenido de un archivo, Visual FoxPro no insertará información adicional acerca del archivo al principio del resultado mostrado.
Observaciones
SET HEADINGS especifica si se mostrará el nombre de campo como encabezado de columna encima de cada campo en el resultado de AVERAGE, CALCULATE, DISPLAY, LIST y SUM.




SET HELP (Comando)
Activa o desactiva la Ayuda en pantalla de Visual FoxPro o especifica un archivo de Ayuda.

SET HELP ON OFF
O bien:
SET HELP [TO [FileName]] [COLLECTION [cCollectionURL]] [SYSTEM]
Parámetros
ON
(Predeterminado) Muestra la ventana Ayuda al presionar F1 o ejecutar HELP en la ventana Comandos.

OFF
Hace que la Ayuda interactiva de Visual FoxPro no esté disponible.

TO [FileName]
Especifica el archivo de Ayuda que se muestra al presionar F1 o ejecutar HELP. Puede especificar un archivo de Ayuda estilo .DBF, un archivo Winhelp (.Hlp) o un archivo de ayuda HTML (.Chm).
En esta versión de Visual FoxPro, si ejecuta SET HELP TO sin incluir un nombre de archivo, Visual FoxPro busca el archivo de Ayuda a predeterminado, foxhelp.chm.

COLLECTION [cCollectionURL]
Especifica el nombre de una colección de Ayuda HTML que se va a utilizar como origen de la Ayuda.

SYSTEM
Especifica que se utilice un nombre de colección como origen de la Ayuda.
Observaciones
Use SET HELP para proporcionar un archivo de Ayuda en pantalla adaptado en una aplicación personalizada o para conmutar entre los distintos archivos de Ayuda de Visual FoxPro. Si realiza una instalación completa de la biblioteca MSDN (Microsoft Developer’s Network), o una instalación personalizada de la biblioteca MSDN y especifica que desea instalar la documentación de Visual FoxPro, se instala el archivo de Ayuda de Visual FoxPro, Foxhelp.chm. Este archivo se instala de manera predeterminada con el producto Visual FoxPro.
En la tabla siguiente se describen los valores del Registro para la configuración de la Ayuda:

Valor Clave del Registro Valor del Registro
SET HELP ON OFF HelpOn 0 ó 1
SET HELP TO cfilename HelpTo cFileName
SET HELP COLLECTION cCollectionURL HelpCollection cCollectionURL
SET HELP SYSTEM HelpSystem 0 ó 1

También puede usar la opción Archivo de Ayuda de la ficha
Archivos del cuadro de diálogo Opciones para especificar un archivo de Ayuda de forma interactiva.




SET HELPFILTER (Comando)
Permite a Visual FoxPro mostrar un subconjunto de temas de Ayuda estilo .DBF en la ventana Ayuda.

SET HELPFILTER [AUTOMATIC] TO [lExpression]
Parámetros
AUTOMATIC
Elimina automáticamente los criterios especificados con SET HELPFILTER después de cerrar la ventana Ayuda. La inclusión de AUTOMATIC tiene el mismo efecto que ejecutar SET HELPFILTER TO inmediatamente después de cerrar la ventana Ayuda. AUTOMATIC debe colocarse justo delante de TO lExpression.

lExpression
Especifica una expresión lógica utilizada para filtrar los temas de Ayuda. Solamente se muestran los temas para los cuales lExpression se evalúa como verdadero (.T.). lExpression suele contener el nombre de un campo en la tabla de ayuda.
Observaciones
Sólo es posible establecer un filtro de estilo .dbf para la Ayuda. No puede establecer un filtro para la Ayuda gráfica.




SET HOURS (Comando)
Establece el formato de hora del reloj del sistema en 12 ó 24 horas.

SET HOURS TO [12 24]
Parámetros
TO 12
(Predeterminado) Especifica el formato de 12 horas.

TO 24
Especifica el formato de 24 horas.
Observaciones
Utilice SET HOURS TO sin 12 ni 24 para volver al formato de 12 horas predeterminado.
TIME( ) devuelve siempre un valor en formato 24 horas y no se ve afectado por SET HOURS. El valor devuelto por DATETIME( ) se determina con la configuración actual de SET HOURS.
SET HOURS tiene como alcance la sesión de datos actual.




SET INDEX (Comando)
Abre uno o más archivos de índice para utilizarlos con la tabla actual.

SET INDEX TO [IndexFileList ? ] [ORDER nIndexNumber
IDXIndexFileName [TAG] TagName [OF CDXFileName] [ASCENDING
DESCENDING]] [ADDITIVE]
Parámetros
IndexFileList
Especifica uno o varios archivos de índice que desea abrir. Utilice comas para separar los diversos archivos de índice de la lista. La lista de archivos de índice puede contener cualquier combinación de nombres de archivo .idx y .cdx; no es necesario que incluya las extensiones de los archivos a menos que exista otro archivo .idx o .cdx con el mismo nombre.
El primer archivo de índice de la lista de archivos de índice se convierte en el archivo índice de control, que controla el acceso y la presentación de los registros. Los registros se muestran o se tiene acceso a ellos en el orden físico de los registros si el primer archivo de índice es un archivo .cdx y no se ha ejecutado SET ORDER TO TAG.

?
Muestra el cuadro de diálogo Abrir desde el cual puede abrir un solo archivo .idx

ORDER nIndexNumber
Especifica un archivo o etiqueta de índice de control. La expresión numérica nIndexNumber especifica los archivos de índice tal y como aparecen en la lista de archivos de índice.
Los archivos .idx se numeran primero en el orden en el que aparecen en la lista de archivos de índice. Las etiquetas del archivo .cdx estructural (si existe) se numeran en el orden en que se crearon. Por último, se numeran las etiquetas de los archivos .cdx independientes en el orden en que se crearon.
Si nIndexNumber es 0, los registros de la tabla se muestran y se tiene acceso a ellos en su orden físico, pero los archivos de índice permanecen abiertos. ORDER 0 le permite actualizar los archivos de índice abiertos mientras tiene acceso a los registros en su orden físico. ORDER sin argumentos adicionales es idéntico a ORDER 0.
Visual FoxPro generará un mensaje de error si nIndexNumber es mayor que el número de archivos .idx y de etiquetas de archivo .cdx.

ORDER IDXIndexFileName
Especifica un archivo .idx como archivo de índice de control.

ORDER [TAG] TagName [OF CDXFileName]
Especifica una etiqueta (TagName) de un archivo .cdx para que sea la etiqueta de control. El nombre de la etiqueta puede proceder del archivo estructural .cdx o de cualquier archivo .cdx independiente abierto.
Si existen varias etiquetas con el mismo nombre en archivos .cdx independientes abiertos, use OF CDXFileName para especificar el archivo .cdx en el que está la etiqueta.

ASCENDING DESCENDING
Especifica si los registros de la tabla se muestran y se tiene acceso a ellos en orden ascendente o descendente. Los archivos o etiquetas de índice no se modificarán; únicamente cambiará el orden en el que se muestran y se tiene acceso a los registros. Incluya la cláusula ASCENDING o DESCENDING inmediatamente después de la cláusula ORDER.

ADDITIVE
Especifica que los archivos de índice abiertos con anterioridad, excepto un índice compuesto estructural, se dejen abiertos al ejecutar SET INDEX para abrir uno o varios archivos de índice adicionales para una tabla. Sin ADDITIVE, los archivos abiertos con anterioridad se cierran.
Observaciones
Se pueden mostrar los registros de una tabla que tiene uno o varios archivos de índice abiertos, y tener acceso a ellos, en un orden determinado por uno de los archivos de índice. SET INDEX puede abrir archivos de índice tanto sencillos (.idx) como compuestos (.cdx). Si una tabla tiene un archivo .cdx estructural, el archivo se abrirá automáticamente al abrir la tabla.
Un solo archivo .idx (el archivo de índice de control) o una etiqueta de un archivo .cdx (la etiqueta de control) controlan el orden en que se muestran o se tiene acceso a los registros de la tabla. Ciertos comandos (SEEK, por ejemplo) utilizan el archivo o la etiqueta de índice de control para buscar registros.
Si ejecuta SET INDEX TO sin ningún argumento adicional, se cerrarán todos los archivos de índice abiertos (excepto el archivo .cdx estructural) del área de trabajo actual.




SET KEY (Comando)
Especifica el acceso a un intervalo de registros a partir de sus claves de índice.

SET KEY TO [eExpression1 RANGE eExpression2 [, eExpression3]]
[IN cTableAlias nWorkArea]
Parámetros
eExpression1
Permite el acceso a un conjunto de registros con claves de índice idénticas. eExpression1 es un valor de clave de índice simple. Puede tener acceso a todos los registros que tengan claves de índice que coincidan con eExpression1.

RANGE eExpression2 [, eExpression3]
Permite el acceso a un conjunto de registros cuyas claves de índice están incluidas en un intervalo de valores de claves de índice. eExpression2 permite el acceso a los registros cuya clave de índice es igual o mayor que eExpression2. eExpression3 (precedida por una coma) permite el acceso a los registros con claves de índice iguales o mayores que eExpression3. La inclusión de ambas, eExpression2 y eExpression3 (separadas por una coma), permite el acceso a los registros cuyas claves de índice sean iguales o mayores que eExpression2, e iguales o menores que eExpression3.
Por ejemplo, la tabla CLIENTE incluye un campo de caracteres que contiene códigos postales. Si la tabla está indizada por el campo de código postal, puede especificar un intervalo de códigos postales con SET KEY.
En este ejemplo, solamente aparecerán en la ventana Examinar los registros cuyos códigos postales estén en el intervalo de 40000 a 43999:
CLOSE DATABASES
USE customer
SET ORDER TO postalcode
SET KEY TO RANGE '40000', '43999'
BROWSE

IN cTableAlias nWorkArea
Permite tener acceso a un intervalo de registros para una tabla abierta en un área de trabajo específica. cTableAlias especifica el alias del área de trabajo y nWorkArea especifica el número del área de trabajo. Si ninguna tabla tiene el alias especificado, Visual FoxPro mostrará un mensaje de error. Si omite el número y el alias del área de trabajo, SET KEY funcionará en la tabla del área de trabajo seleccionada actualmente.
Observaciones
Use SET KEY para limitar el intervalo de registros a los que puede tener acceso en una tabla. Es necesario que la tabla esté indizada, y que el valor o los valores de clave de índice incluidos sean del mismo tipo de datos que la expresión de índice del archivo de índice principal o que la etiqueta principal.
Ejecute SET KEY TO sin ningún argumento adicional para restaurar el acceso a todos los registros de la tabla.

SET KEYCOMP (Comando)
Controla el desplazamiento con teclas en Visual FoxPro.

SET KEYCOMP TO DOS WINDOWS

Observaciones
SET KEYCOMP determina las pulsaciones de teclas y las combinaciones de pulsaciones de teclas que se utilizan para desplazarse por la interfaz de Visual FoxPro a través del acceso a controles, como botones, cuadros de lista, menús, etc. El efecto de SET KEYCOMP depende del control.
Use SET KEYCOMP cuando desee utilizar pulsaciones de teclas conocidas.

Para desplazarse en Microsoft Windows utilizando las pulsaciones de teclas de MS-DOS, ejecute: SET KEYCOMP TO DOS

Puede especificar la opción DOS o WINDOWS (predeterminada).

Puede especificar un valor inicial de SET KEYCOMP en el archivo de configuración de Visual FoxPro, config.fpw. Por ejemplo, incluir la siguiente línea en el archivo de configuración produce el mismo efecto que SET KEYCOMP TO DOS:
KEYCOMP = DOS

Esta sección describe la forma en que las opciones DOS y WINDOWS influyen en Visual FoxPro.

Botones predeterminados
DOS

El botón predeterminado de un cuadro de diálogo es el que tiene el enfoque; su apariencia es siempre la misma. Se elige presionando CTRL+ENTRAR.

WINDOWS
El botón predeterminado de un cuadro de diálogo puede cambiar a medida que se mueve entre los controles. Puede estar atenuado o tener el enfoque (está rodeado por un borde en negrita) para indicar que es el valor predeterminado actual. Se elige presionando ENTRAR. Al presionar ENTRAR siempre se realiza la acción del botón predeterminado.

Para ver una demostración de cómo cambia el aspecto del botón predeterminado en un cuadro de diálogo, ejecute SET KEYCOMP TO WINDOWS, escoja Abrir en el menú Archivo y presione TAB para ir al cuadro de diálogo Abrir.

Teclas de acceso
DOS
La tecla de acceso para un control siempre es una sola tecla. Si no está en un control que tenga control por teclado (un cuadro combinado o de lista), puede elegirlo presionando la tecla de acceso.

WINDOWS
Una tecla de acceso para un control puede ser una sola tecla o una combinación de teclas. Si el control actual tiene control por teclado (un cuadro combinado o de lista), puede presionar ALT y la tecla de acceso para elegir el control. Para elegir otros controles, puede presionar la tecla de acceso, o ALT y la tecla de acceso.

Cuadros combinados
DOS
Cuando un cuadro combinado tiene el enfoque, puede abrirlo presionando ENTRAR o la BARRA ESPACIADORA. El control por teclado en un cuadro combinado no está disponible hasta que no se abra el cuadro combinado.

WINDOWS
Cuando un cuadro combinado tiene el enfoque, puede abrirlo presionando la BARRA ESPACIADORA, ALT+FLECHA ARRIBA o ALT+FLECHA ABAJO. El control por teclado en un cuadro combinado está disponible cuando dicho cuadro combinado tiene el enfoque y cuando está abierto. Por ejemplo, un cuadro combinado seleccionado contiene una lista de unidades disponibles. Si las unidades A, B y C están disponibles y la unidad B se muestra actualmente, puede elegir la unidad C sin abrir el cuadro combinado presionando C o la tecla FLECHA ABAJO. La unidad C se elige y se avanza hasta el control siguiente.

Botones de opción
DOS
Al presionar la tecla TAB cuando hay un grupo de botones de opción seleccionado, se moverá entre los botones de opción.

WINDOWS
Si presiona la tecla TAB cuando un grupo de botones de opción está seleccionado, se moverá de los botones de opción al control siguiente. Para moverse entre los botones de un conjunto de botones de opción, presione las teclas FLECHA ARRIBA y FLECHA ABAJO.

Ventana Examinar
DOS
Un campo no se selecciona al entrar en él.

WINDOWS
Un campo se selecciona automáticamente al entrar en él.




SET LIBRARY (Comando)
Abre un archivo de biblioteca API (interfaz de programación de aplicaciones) externa.

SET LIBRARY TO [FileName [ADDITIVE]]

Parámetros
FileName
Especifica el nombre del archivo de la biblioteca API o del archivo de procedimiento que desee abrir.
Visual FoxPro supone una extensión .fll para las bibliotecas. Si una biblioteca tiene la extensión .fll, no necesita incluir la extensión con el nombre del archivo. Si una biblioteca tiene una extensión distinta de .fll, debe incluir la extensión con el nombre del archivo.

Precaución Cuando utilice SET LIBRARY, no olvide que:
· No puede usar bibliotecas de API creadas para una plataforma en otra plataforma. Por ejemplo, las bibliotecas creadas para FoxPro para MS-DOS no pueden usarse en Visual FoxPro; las bibliotecas creadas para Visual FoxPro no pueden usarse en FoxPro para MS-DOS.
· No puede usar bibliotecas de API creadas para una versión en otra versión. Por ejemplo, no puede usar bibliotecas creadas para FoxPro versión 2.6 en Visual FoxPro. Es necesario volver a compilar y vincular.

Visual FoxPro supone que los archivos de procedimiento tienen la extensión .prg.
Cuando ejecute un procedimiento con DO ProcedureName, Visual FoxPro buscará el procedimiento en los siguientes archivos y por este orden:
· El archivo que contiene DO ProcedureName.
· Un archivo de procedimiento abierto con SET PROCEDURE (si hay alguno definido).
· Los programas de la cadena de ejecución. Visual FoxPro busca en los archivos de programa comenzando por el programa ejecutado más recientemente y continuando hacia atrás hasta llegar al primer programa ejecutado.
· Un archivo de procedimiento abierto con SET LIBRARY (si hay alguno definido).
· Un archivo de programa independiente. Si Visual FoxPro encuentra un archivo de programa con el mismo nombre que el archivo especificado con DO, ejecutará este programa. Si no encuentra ningún nombre de archivo de programa que coincida, Visual FoxPro mostrará un mensaje de error.

ADDITIVE

Abre bibliotecas API adicionales. Incluya ADDITIVE después del nombre de archivo en comandos SET LIBRARY sucesivos.
Visual FoxPro pasa por alto ADDITIVE cuando se utiliza SET LIBRARY para abrir un archivo de procedimiento.

Observaciones
Utilice SET LIBRARY para abrir bibliotecas externas de Interfaz de programación de aplicaciones (API) o un archivo de procedimiento.
Las bibliotecas de rutinas API amplían las posibilidades del lenguaje Visual FoxPro y la interfaz de usuario. Una vez que se abre una biblioteca de rutinas API externas, puede utilizar las funciones API como si fueran funciones de Visual FoxPro. Use DISPLAY STATUS o LIST STATUS para mostrar las funciones disponibles en la biblioteca.
Puede utilizar las bibliotecas API existentes o crear las suyas propias.
En Visual FoxPro, el procedimiento más recomendable para registrar funciones en bibliotecas compartidas es utilizar el comando
DECLARE - DLL.
Para eliminar de la memoria todas las bibliotecas API, use SET LIBRARY TO sin incluir FileName ni ADDITIVE. Para eliminar una sola biblioteca de la memoria, use RELEASE LIBRARY LibraryName.
Si especifica un archivo de procedimiento, los procedimientos incluidos en ese archivo estarán disponibles para todos los programas, y también lo estarán de forma interactiva a través de la ventana Comandos.

Nota: La capacidad de Visual FoxPro para abrir un archivo de procedimientos con SET LIBRARY proporciona compatibilidad con dBASE IV. El uso de SET LIBRARY para abrir un archivo de procedimiento cerrará todas las bibliotecas API abiertas. Al utilizar SET LIBRARY para abrir bibliotecas API se cerrará un archivo de procedimiento abierto con SET LIBRARY. Use SET PROCEDURE para abrir un archivo de procedimiento y evitar que se cierren las bibliotecas API.




SET LOCK (Comando)
Activa o desactiva el bloqueo automático de archivos con ciertos comandos.

SET LOCK ON OFF

Parámetros
ON
Especifica que los comandos antes indicados bloquean automáticamente la tabla cuando se ejecutan. De esta forma se proporciona acceso de sólo lectura a otros usuarios de la red y se garantiza el uso de los datos más actuales.

OFF
(Predeterminado) Permite el acceso compartido a tablas con los comandos que se indican a continuación. Use SET LOCK OFF si no necesita la información más actualizada de una tabla.
Observaciones
Visual FoxPro no bloqueará un archivo cuando ejecute comandos que necesiten acceso de sólo lectura a la tabla. Entre estos comandos se incluyen los siguientes:

Comandos
AVERAGE
JOIN (ambos archivos)
CALCULATE
LIST
COPY TO
LABEL
COPY TO ARRAY
REPORT
COUNT
SORT
DISPLAY (con alcance)
SUM
INDEX
TOTAL

Al ejecutarse, estos comandos no cambian el contenido de una tabla y el acceso a la tabla está disponible para otros usuarios de la red. Es decir, se puede cambiar la tabla mientras se ejecuta uno de estos comandos. Por ejemplo, puede comenzar a imprimir un informe utilizando REPORT antes de que otro usuario cambie un registro incluido en el informe. Su informe contendrá información obsoleta.
SET LOCK tiene como alcance la sesión actual de datos.




SET LOGERRORS (Comando)
Determina si Visual FoxPro envía o no los mensajes de error de compilación a un archivo de texto.
SET LOGERRORS ON OFF

Parámetros
ON
(Predeterminado) Especifica que se desea crear un archivo de registro de mensajes de error de compilación con el mismo nombre que el programa compilado y la extensión .err. Si ya existe un archivo de registro con el mismo nombre, se sobrescribirá.

OFF
Especifica que no se desea crear ningún archivo de registro de mensajes de error de compilación durante la compilación de un programa.

Observaciones
Use SET LOGERRORS para guardar los mensajes de error de compilación en un archivo de texto cuando se compilen los programas.
Si existe un archivo de registro con el mismo nombre que el programa compilado y el programa se compila sin errores, el archivo de registro se eliminará.




SET MACKEY (Comando)
Especifica una tecla o una combinación de teclas que muestra el cuadro de diálogo Definición de tecla de macro.

SET MACKEY TO [KeyLabelName]

Parámetros
KeyLabelName
Especifica la tecla o la combinación de teclas que muestran el cuadro de diálogo Definición de tecla de macro.

Observaciones
Utilice SET MACKEY para cambiar la combinación de teclas predeterminada que sirve para mostrar el cuadro de diálogo Definición de tecla de macro. Elija Macros en el menú Herramientas para abrir este cuadro de diálogo.




SET MARGIN (Comando)
Establece el margen izquierdo de la impresora y afecta a todas las salidas dirigidas a la impresora.

SET MARGIN TO nColumns

Parámetros
nColumns
Especifica el margen izquierdo en columnas. El valor predeterminado es 0 columnas; el máximo es 256.

Observaciones
Si utiliza SET MARGIN para ajustar el margen izquierdo, el valor especificado con SET MARGIN se almacenará en la variable del sistema _PLOFFSET. También puede establecer el margen izquierdo almacenando un valor directamente en _PLOFFSET.
El valor de la variable del sistema _LMARGIN también afecta a la configuración del margen izquierdo.

Nota: El valor del margen izquierdo especificado en SET MARGIN no afecta a los informes creados con el Diseñador de informes y ejecutados con REPORT. A pesar de que _PLOFFSET se ajusta durante la ejecución de un informe creado con el Diseñador de informes, se restablece a su valor original después de que se ejecuta el informe. La configuración “Margen izquierdo” del cuadro de diálogo Configurar página del Diseñador de informes determina el desplazamiento desde el borde izquierdo del papel. Elija Configurar página en el menú Archivo para mostrar el cuadro de diálogo Configurar página cuando se abra el Diseñador de informes.




SET MARK OF (Comando)
Especifica un carácter de marca para los títulos o los elementos de menús, o muestra o quita el carácter de marca.

SET MARK OF MENU MenuBarName1
TO lExpression1-or-SET MARK OF POPUP MenuName1
TO lExpression3-or-SET MARK OF BAR nMenuItemNumber OF MenuName2
TO lExpression4

Parámetros
MENU MenuBarName1

Especifica el nombre de la barra de menús cuyo carácter de marca se especifica, se muestra o se borra.
· TO lExpression1 Muestra o borra el carácter de marca para todos los títulos de menús de la barra de menús. Si la expresión lógica lExpression1 se evalúa como verdadero (.T.), el carácter de marca se mostrará junto a cada título de menú. El carácter de marca se borra de todos los nombres de menú si lExpression1 se evalúa como falso (.F.).

POPUP MenuName1
Especifica el nombre del menú cuyo carácter de marca se especifica, se muestra o se borra.
· TO lExpression3 muestra o borra los caracteres de marca para todos los elementos de menú. Si lExpression3 se evalúa como verdadero (.T.), los caracteres de marca se mostrarán. Si lExpression3 se evalúa como falso (.F.), los caracteres de marca se borrarán.

BAR nMenuItemNumber OF MenuName2
Especifica el número del elemento de menú (y el nombre del menú que lo contiene) cuyo carácter de marca se especifica, se muestra o se borra.
· TO lExpression4 muestra o borra el carácter de marca para el elemento de menú. Si lExpression4 se evalúa como verdadero (.T.), el carácter de marca se mostrará. Si lExpression4 se evalúa como falso (.F.), el carácter de marca se borrará.

Observaciones
No puede especificar un carácter de marca distinto para un título o un elemento de menú. El carácter de marca siempre es una marca de verificación. Sin embargo, puede utilizar SET MARK OF para mostrar o eliminar la marca de verificación de un título o de un elemento de menú.
No puede marcar elementos de menú creados con ninguna de las cláusulas de DEFINE POPUP PROMPT (FIELD, FILES ni STRUCTURE).
Use MRKPAD( ) para determinar si un título de menú muestra un carácter de marca y MRKBAR( ) para determinar si un elemento de menú muestra un carácter de marca.




SET MARK TO (Comando)
Especifica un delimitador que se usará para mostrar expresiones de fecha.

SET MARK TO [cDelimiter]

Parámetros
cDelimiter
Especifica el carácter que desea utilizar como delimitador de fecha.

Observaciones
SET MARK TO especifica el carácter que separa el mes, el día y el año de las fechas que se muestran.
Utilice SET MARK TO sin cDelimiter para restablecer el delimitador en la barra diagonal ( / ) predeterminada.
SET MARK TO tiene como alcance la sesión actual de datos.




SET MEMOWIDTH (Comando)
Especifica el ancho de los campos memo y las expresiones de tipo carácter.

SET MEMOWIDTH TO nColumns

Parámetros
nColumns
Especifica un ancho entre 8 y 8192 columnas. El ancho predeterminado para los resultados es de 50 columnas. Si ejecuta SET COMPATIBLE ON o SET COMPATIBLE DB4, el ancho predeterminado se convertirá en 80 columnas. Si especifica un valor para nColumns mayor que 8192, el ancho se establecerá en 8192.

Observaciones
SET MEMOWIDTH especifica el ancho del resultado enviado a la ventana principal de Microsoft Visual FoxPro o a una ventana definida por el usuario con comandos como ? ??, DISPLAY o LIST. Afecta al ancho de los resultados de los campos memo y las expresiones de tipo carácter que tienen más de 254 caracteres. También afecta a los valores devueltos por las funciones ATCLINE( ), ATLINE( ), MEMLINE( ) y MLINE( ).
Observe que para ? y ?? el ancho mostrado no superará los 256 caracteres.
Si se dirigen los resultados a la ventana principal de Visual FoxPro, el ancho de los resultados será el determinado por la fuente de la ventana principal de Visual FoxPro. Si se dirigen los resultados a una ventana definida por el usuario, el ancho de los resultados será el determinado por la fuente de dicha ventana.
SET MEMOWIDTH tiene como alcance la sesión actual de datos.




SET MESSAGE (Comando)
Define un mensaje para mostrarlo en la ventana principal de Visual FoxPro o en la barra gráfica de estado, o especifica la posición de los mensajes en las barras y comandos de menús definidos por el usuario.

SET MESSAGE TO [cMessageText]-or-SET MESSAGE TO [nRow [LEFT CENTER
RIGHT]]-or-SET MESSAGE WINDOW [WindowName]

Parámetros
TO [cMessageText]
Especifica el mensaje que se va a mostrar.

TO [nRow [LEFT CENTER RIGHT]]
Especifica la colocación de los mensajes en la ventana principal de Visual FoxPro. nRow especifica la fila en la que se muestran los mensajes. Si nRow es 0, no se mostrará ningún mensaje.
LEFT, CENTER y RIGHT especifican la colocación horizontal de los mensajes en la pantalla.
En Visual FoxPro, la ubicación de mensaje especificada con SET MESSAGE se pasa por alto cuando se muestra la barra gráfica de estado.

WINDOW [WindowName]
Especifica la ventana en la que se muestran los mensajes. Para quitar un mensaje de la ventana y mostrarlo en la pantalla, ejecute SET MESSAGE WINDOW.

Observaciones
SET MESSAGE le permite crear un mensaje. También le permite especificar dónde mostrar los mensajes creados con DEFINE BAR, DEFINE MENU, DEFINE PAD o DEFINE POPUP.
De forma predeterminada, los mensajes se colocan en la última línea de la ventana principal de Visual FoxPro si se muestra la barra de estado basada en caracteres. Si se muestra la barra gráfica de estado, los mensajes se colocan en la barra de estado.
La línea SET MESSAGE se restablece en la última línea de la ventana principal de Visual FoxPro siempre que se ejecuta SET DISPLAY.
SET MESSAGE TO sin ningún argumento coloca los mensajes en la barra gráfica de estado.




SET MULTILOCKS (Comando)
Determina si puede bloquear múltiples registros con LOCK( ) o RLOCK( ).

SET MULTILOCKS ON OFF

Parámetros
ON
Le permite intentar bloquear un conjunto de registros. Para intentar bloquear varios registros, incluya una serie de números de registro en LOCK( ) o RLOCK( )..

OFF
(Predeterminado) Le permite intentar bloquear un registro único con LOCK( ) o RLOCK( ).

Observaciones
Cuando se abre una tabla para uso compartido en una red, puede intentar bloquear más de un registro de un archivo de tabla. La configuración de SET MULTILOCKS determina si puede intentar bloquear un registro único o un conjunto de registros. Los registros pueden bloquearse con la función LOCK( ) o RLOCK( ).

Nota: Al conmutar SET MULTILOCKS de ON a OFF o de OFF a ON, se ejecuta implícitamente UNLOCK ALL; es decir, se liberan todos los registros bloqueados de todas las áreas de trabajo.
SET MULTILOCKS alcanza la sesión de datos actual.
Es necesario que MULTILOCKS esté en ON antes de activar el almacenamiento de filas o de tablas en búfer con CURSORSETPROP( ). Si activa la casilla de verificación Activar almacenamiento de datos en búfer en el cuadro de diálogo Propiedades del área de trabajo (que aparece al elegir el botón Propiedades en la ventana Sesión de datos), MULTILOCKS se establecerá automáticamente en ON para la sesión de datos actual. Sin embargo, el hecho de desactivar la casilla de verificación Activar almacenamiento de datos en búfer no establece MULTILOCKS en OFF para la sesión de datos actual.




SET NEAR (Comando)
Determina dónde se coloca el puntero de registro después de que FIND o SEEK busquen un registro y no lo encuentren.

SET NEAR ON OFF

Parámetros
ON
Coloca el puntero de registro en el registro más parecido en caso de que una búsqueda de registro con FIND o SEEK no tenga éxito. Con esta configuración, RECNO( ) devuelve el número del registro con la coincidencia más cercana, FOUND( ) devuelve falso (.F.) y EOF( ) devuelve falso (.F.).

OFF
(Predeterminado) Coloca el puntero de registro al final de la tabla, en caso de que una búsqueda de registro mediante FIND o SEEK no tenga éxito. Con esta configuración, RECNO( ) devuelve el número de registros de la tabla más 1, FOUND( ) devuelve falso (.F.) y EOF( ) devuelve verdadero (.T.).

Observaciones
Una búsqueda fracasa cuando ningún registro cumple con el criterio de búsqueda.
Ejecutar RECNO( ) con un argumento de 0 devuelve el número del registro más parecido en caso de que la búsqueda fracase, sin tener en cuenta la configuración de SET NEAR.
SET NEAR tiene como alcance la sesión actual de datos.




SET NOCPTRANS (Comando)
Impide la conversión a otra página de códigos distinta para los campos seleccionados de una tabla abierta.

SET NOCPTRANS TO [FieldName1 [, FieldName2 ...]]

Parámetros
TO [FieldName1 [, FieldName2 ...]]
Especifica los campos que no se deberían convertir a otra página de códigos.
Ejecute SET NOCPTRANS TO sin ningún conjunto de campos para volver a la conversión predeterminada (establecida por el elemento de configuración CODEPAGE) para todos los campos de tipo carácter y memo de una tabla. Use SET("NOCPTRANS") para devolver los campos especificados en el último comando SET NOCPTRANS ejecutado. Use la función CHR( ) para asegurarse de que determinados caracteres no se convierten.

Observaciones
Puesto que puede configurar Microsoft Visual FoxPro para que convierta automáticamente los campos de tipo carácter y memo a otras páginas de códigos, el comando SET NOCPTRANS está disponible para impedir la conversión automática de campos que contengan datos binarios. Por ejemplo, un campo memo puede contener un documento de Microsoft Word. Al obtener acceso al documento de Word, sería conveniente que estuviera en el formato original no convertido. Use SET NOCPTRANS para especificar que el campo memo no se convierta.
No necesita utilizar SET NOCPTRANS para tener acceso a datos binarios si el campo memo o de caracteres que contiene los datos binarios no se ha convertido. Puede asegurarse de que los campos memo o de caracteres no se convierten, omitiendo el elemento de configuración CODEPAGE del archivo de configuración de Visual FoxPro.




SET NOTIFY (Comando)
Activa o desactiva la presentación de algunos mensajes del sistema.

SET NOTIFY ON OFF

Parámetros
ON
(Predeterminado) Activa la presentación de determinados mensajes del sistema.

OFF
Desactiva la presentación de determinados mensajes del sistema.
Observaciones
Ejemplos de mensajes del sistema en los que influye SET NOTIFY son:
· "La expresión es válida" en el cuadro de diálogo Generador de expresiones.
· "Do Cancelado", que aparece cuando se cancela la ejecución del programa.

Los mensajes del sistema se muestran en la barra gráfica de estado (no en la basada en caracteres), ubicada en la parte inferior de la ventana principal de Visual FoxPro.




SET NULL (Comando)
Determina si los comandos ALTER TABLE, CREATE TABLE e INSERT - SQL admiten valores NULL.

SET NULL ON OFF

Parámetros
ON
Especifica que todas las columnas de una tabla creadas con ALTER TABLE y CREATE TABLE permiten valores NULL. Es posible anular el soporte para valores NULL para columnas de la tabla incluyendo la cláusula NOT NULL en las definiciones de columnas.
Además, especifica que INSERT - SQL intentará insertar valores NULL en cualquier columna que no esté incluida en la cláusula INSERT - SQL VALUE. INSERT - SQL sólo podrá insertar correctamente valores NULL en columnas que admitan valores NULL.

Nota: Si agrega soporte para valores NULL en una o varias columnas de una tabla, el límite de número de columnas para dicha tabla disminuirá de 255 a 254.

OFF
(Predeterminado) Especifica que todas las columnas de una tabla creada con ALTER TABLE y CREATE TABLE no admiten valores NULL. Es posible designar soporte de valores NULL para columnas en ALTER TABLE y CREATE TABLE incluyendo la cláusula NULL en las definiciones de columnas.
Asimismo, especifica que INSERT - SQL insertará valores en blanco en las columnas no incluidas en la cláusula INSERT - SQL VALUE.

Observaciones
SET NULL sólo afecta al soporte para valores NULL de ALTER TABLE, CREATE TABLE e INSERT - SQL. Otros comandos no se ven afectados por SET NULL. SET NULL tiene como alcance la sesión actual de datos.

Ejemplo
El ejemplo siguiente demuestra cómo afecta SET NULL al soporte de valores NULL. La primera tabla, employee, se crea con SET NULL ON, por lo que sus campos aceptan valores NULL. Se usa REPLACE para situar un valor NULL en el campo cLastName. La segunda tabla, staff, se crea con SET NULL OFF, por lo que sus campos no aceptan valores NULL. Se usa REPLACE para colocar cero en el campo cLastName.

CLOSE DATABASES
SET NULL ON && Fields will support null values
CREATE TABLE employee (cLastName C(20), ySalary Y(12,2))
APPEND BLANK && Add a new blank record
REPLACE cLastName WITH .NULL. && cLastName supports null values

SET NULL OFF && Fields will not support null values
CREATE TABLE staff (cLastName C(20), ySalary Y(12,2))
APPEND BLANK && Add a new blank record
REPLACE cLastName WITH 0 && Doesn't support null values




SET NULLDISPLAY (Comando)
Especifica el texto que aparecerá para valores NULL.

SET NULLDISPLAY TO [cNullText]

Parámetros
cNullText
Especifica el texto que aparecerá en pantalla para valores nulos. Si se omite cNullText, se restaurará y se mostrará el texto predeterminado .NULL. para los valores NULL.

Observaciones
De forma predeterminada, Visual FoxPro mostrará .NULL. para valores NULL en objetos, ventanas Examinar, resultados DISPLAY, resultados LIST, etc. Utilice SET NULLDISPLAY para cambiar el texto predeterminado de valor NULL por una cadena de caracteres distinta. SET NULLDISPLAY cambia el texto predeterminado de valores NULL para todos los objetos para los que la propiedad NullDisplay es la cadena vacía.
Utilice la propiedad NullDisplay para cambiar el texto predeterminado de valor NULL por una cadena de caracteres distinta para un objeto individual.




SET ODOMETER (Comando)
Determina el intervalo de informe del contador de registros en los comandos que procesan registros.

SET ODOMETER TO [nRecords]

Parámetros
TO [nRecords]
Especifica el intervalo de informe en número de registros. El valor de nRecords puede variar de 1 a 32.767 registros. El valor predeterminado es 100 registros.

Observaciones
Utilice SET ODOMETER para cambiar el intervalo de comandos en los que se muestra información del número de registros procesados.
Por ejemplo, COPY TO muestra el número de registros que se están copiando a un archivo nuevo mientras se ejecuta el comando. El contador de registros puede desactivarse ejecutando SET TALK OFF.


SET OLEOBJECT (Comando)
Especifica si Visual FoxPro busca en el Registro de OLE cuando no se puede encontrar un objeto.

SET OLEOBJECT ON OFF

Parámetros
ON
(Predeterminado) Especifica que Visual FoxPro busca en el Registro de OLE cuando no se puede encontrar un objeto.

OFF
Especifica que Visual FoxPro no busca en el Registro de OLE cuando no se puede encontrar un objeto.

Observaciones
Cuando se crea un objeto con CREATEOBJECT( ) o GETOBJECT( ), Visual FoxPro busca el objeto en las siguientes ubicaciones y en este orden:
1. Las clases básicas de Visual FoxPro.
2. Las definiciones de clases en memoria, en el orden en que se cargan.
3. Las definiciones de clases en el programa actual.
4. Las definiciones de clases en las bibliotecas de clase .vcx abiertas con SET CLASSLIB.
5. Las definiciones de clases en archivos de procedimiento abiertos con SET PROCEDURE.
6. Definiciones de clase en la cadena de ejecución del programa Visual FoxPro.
7. El Registro de OLE.

Cuando Visual FoxPro busca un objeto, se busca en el Registro de OLE en último lugar. Visual FoxPro carga el soporte OLE antes de buscar en el Registro de OLE, lo que aumenta la cantidad de memoria necesaria para Visual FoxPro y reduce la memoria disponible para otras aplicaciones.
Si está desarrollando una aplicación que no necesita soporte OLE, ejecute SET OLEOBJECT OFF para impedir que Visual FoxPro busque en el Registro de OLE cuando no se encuentre un objeto.
SET OLEOBJECT no afecta a los objetos OLE de los campos Forms o General. Visual FoxPro siempre carga el soporte OLE cuando se abre un Form que contiene un objeto OLE para modificarlo o instanciarlo, o cuando se abre una tabla con un campo general.
Puesto que GETOBJECT( ) activa un objeto OLE, Visual FoxPro genera un error cuando se ejecuta GETOBJECT( ) y SET OLEOBJECT está en OFF.




SET OPTIMIZE (Comando)
Activa o desactiva la optimización Rushmore.

SET OPTIMIZE ON OFF

Parámetros
ON
(Predeterminado) Activa la optimización Rushmore.

OFF
Desactiva la optimización Rushmore.

Observaciones
Visual FoxPro utiliza una tecnología llamada Rushmore para optimizar la recuperación de datos. Los comandos de tabla que admiten una cláusula FOR utilizan la tecnología Rushmore para mejorar su rendimiento. Cuando se ejecuta un comando que es optimizable, Rushmore determina los registros que coinciden con el criterio FOR. El comando se ejecuta en los registros de la tabla que coinciden con el conjunto de registros Rushmore.
En raras ocasiones, es conveniente desactivar la optimización Rushmore. Si un comando que se beneficia de la optimización Rushmore modifica las claves de índice de una consulta, el conjunto de registros Rushmore puede quedar obsoleto. Puede desactivar la optimización Rushmore para garantizar que tiene la información más reciente en la tabla.
Puede utilizar SET OPTIMIZE para activar o desactivar globalmente la tecnología Rushmore. Todos los comandos que utilizan Rushmore tienen una cláusula NOOPTIMIZE que se puede incluir para desactivar la optimización Rushmore para el comando.
Estos son los comandos cuyo rendimiento se optimiza con Rushmore:

Comandos
AVERAGE
INDEX
BLANK
LABEL
BROWSE
LIST
CALCULATE
LOCATE
CHANGE
RECALL
COPY TO
REPLACE
COPY TO ARRAY
REPLACE FROM ARRAY
COUNT
REPORT
DELETE
SCAN
DISPLAY
SORT
EDIT
SUM
EXPORT
TOTAL


SET ORDER (Comando)
Designa un archivo o una etiqueta de índice de control para una tabla.

SET ORDER TO [nIndexNumber IDXIndexFileName [TAG] TagName
[OF CDXFileName] [IN nWorkArea cTableAlias]
[ASCENDING DESCENDING]]

Parámetros
nIndexNumber
Especifica el número del archivo o la etiqueta de índice de control. nIndexNumber se refiere a los archivos de índice tal como aparecen en USE o en SET INDEX. Los archivos .idx abiertos se numeran primero en el orden en que aparecen en USE o SET INDEX. Las etiquetas en el archivo estructural .cdx (si existe) son entonces numeradas en el orden en el que han sido creadas. Finalmente, las etiquetas de cualquier archivo independiente .cdx abierto se numeran en el orden en el que han sido creadas.
El ejemplo siguiente ilustra cómo se numeran los distintos tipos de archivos y etiquetas de índice. (Los nombres de archivo son simplemente ilustrativos y no existen necesariamente.) Primero se abre una tabla llamada video.dbf con tres índices (title.idx, costs.cdx y rating.idx) en la primera área de trabajo con este comando:
USE video INDEX title.idx, costs.cdx, rating.idx IN 1

La tabla video tiene un archivo estructural de índice compuesto (video.cdx) con dos etiquetas, NUMBERSOLD y YEARSOLD. El archivo .cdx estructural se abre automáticamente al abrirse video.

Puesto que primero se numeran los archivos .idx, ejecute SET ORDER TO 1 para que title.idx sea el índice de control y SET ORDER TO 2 para que rating.idx sea el índice de control:
SET ORDER TO 1
Controlling index: C:\FOX30\TITLE.IDX
SET ORDER TO 2
Controlling index: C:\FOX30\RATING.IDX

Después se numeran las etiquetas de video.cdx:
SET ORDER TO 3
Controlling index: C:\FOX30\VIDEO.CDX Tag: NUMBERSOLD
SET ORDER TO 4
Controlling index: C:\FOX30\VIDEO.CDX Tag: YEARSOLD

Finalmente se numeran las etiquetas del archivo independiente, costs.cdx:
SET ORDER TO 5
Controlling index: C:\FOX30\COSTS.CDX Tag: RENTALCOST
SET ORDER TO 6
Controlling index: C:\FOX30\COSTS.CDX Tag: BUYCOST

nIndexNumber también puede ser 0. Si ejecuta SET ORDER TO 0, todos los archivos de índice permanecen abiertos y se actualizan cuando se agregan, eliminan o modifican registros. Sin embargo, los registros de la tabla se muestran y se obtiene acceso a ellos en el orden del número de registro, no en el orden indizado. Ejecutar SET ORDER TO sin argumentos adicionales es lo mismo que ejecutar SET ORDER TO 0.
Si nIndexNumber es mayor que el número de archivos .idx y etiquetas de archivos .cdx, Visual FoxPro generará un mensaje de error.

IDXIndexFileName
Especifica un archivo .idx como archivo de índice de control.

[TAG] TagName [OF CDXFileName]
Especifica una etiqueta de un archivo .cdx como la etiqueta de control. El nombre de etiqueta puede pertenecer a un archivo .cdx estructural o a cualquier archivo .cdx independiente abierto.
Si existen nombres de etiqueta idénticos en archivos .cdx independientes abiertos, use OF CDXFileName para especificar el archivo .cdx que contiene la etiqueta.

Nota: El archivo .idx tiene prioridad si existen nombres de etiqueta y un archivo .idx duplicado.

IN nWorkArea cTableAlias
Designa un archivo o una etiqueta de índice de control para una tabla abierta en un área de trabajo distinta del área de trabajo seleccionada actualmente. nWorkArea especifica el número del área de trabajo y cTableAlias especifica el alias para la tabla.

ASCENDING / DESCENDING
Muestra y permite tener acceso a los registros de la tabla en orden ascendente o descendente. Incluir ASCENDING o DESCENDING no cambia de ninguna forma el archivo o la etiqueta de índice.

Observaciones
Una tabla puede tener abiertos simultáneamente varios archivos de índice. No obstante, solamente un archivo de índice sencillo (.idx) (el archivo de índice de control) o una etiqueta de un archivo de índice compuesto (.cdx) (la etiqueta de control) determinan el orden en que se muestran o se obtiene acceso a los registros de una tabla. SET ORDER le permite designar el archivo o la etiqueta de control. Ciertos comandos (SEEK, por ejemplo) utilizan el archivo o la etiqueta de control de índice para buscar registros.
Puede abrir archivos de índice con una tabla si incluye la cláusula INDEX en USE. Si una tabla tiene un archivo .cdx compuesto estructural asociado, éste se abrirá automáticamente con la tabla. Después de que se abra la tabla, puede abrir o cerrar los archivos de índice de la tabla utilizando SET INDEX.
De forma predeterminada, SET ORDER designa el índice de control o la etiqueta de control para la tabla abierta en el área de trabajo seleccionada actualmente.




SET PALETTE (Comando)
Especifica si se utiliza o no la paleta de colores predeterminada de Visual FoxPro.

SET PALETTE ON OFF

Parámetros
ON
(Predeterminado) Restaura la paleta de colores predeterminada de Visual FoxPro.

OFF
Sustituye la paleta de colores predeterminada de Visual FoxPro por paletas de colores de gráficos .bmp y de objetos OLE.

Observaciones
Los gráficos .bmp y los objetos OLE pueden contener paletas de colores que determinan su apariencia cuando se muestran en la pantalla. La paleta de colores del primer gráfico u objeto mostrado se utiliza para todos los demás. Puesto que se emplea una sola paleta de colores para todos los gráficos y objetos, los colores de algunos de ellos pueden modificarse de manera inesperada.
La paleta de colores predeterminada de Visual FoxPro está diseñada para mejorar la apariencia de presentación de varios gráficos .bmp y objetos OLE.




SET PATH (Comando)
Especifica una ruta de acceso para buscar archivos.

SET PATH TO [Path]

Parámetros
TO [Path]
Especifica los directorios en los que desea que busque Visual FoxPro. Use comas o punto y coma para separar los directorios.

Nota: Visual FoxPro no reconocerá correctamente un nombre de ruta de acceso si el nombre del disco o del directorio contiene un signo de admiración (!).
En todas las plataformas FoxPro, las funciones que devuelven información acerca de las rutas de acceso, como CURDIR( ), DBF( ) y SYS(2003), utilizan convenciones de denominación de rutas de acceso de MS-DOS en los valores que devuelven.

Observaciones
Ejecute SET PATH TO sin Path para restaurar la ruta de acceso al directorio predeterminado. Use SET DEFAULT para especificar el directorio predeterminado y CURDIR( ) para devolver el directorio predeterminado actual.
SET PATH no tiene como alcance la sesión de datos actual; los cambios realizados en la ruta de acceso predeterminada con el comando SET PATH afectarán a todas las sesiones de datos.




SET PDSETUP (Comando)
Carga la configuración de un controlador de impresora o borra la configuración del controlador de impresora actual.

SET PDSETUP TO [[cPrinterDriverSetup [, Parameter1[, Parameter2 ...]]]
[WITH Parameter3 [, Parameter4 ...]]]

Parámetros
cPrinterDriverSetup

Especifica el nombre de la configuración del controlador de impresora que se va a cargar.
Al cargar una configuración del controlador de impresora, el nombre de la configuración se almacena en la variable del sistema _PDSETUP y puede crearse una matriz de variables especial: _PDPARMS. (_PDPARMS se explica con detalle en la cláusula WITH de este tema).
Si el nombre del controlador de impresora especificado con cPrinterDriverSetup no existe en su archivo de recursos, se ejecutará la aplicación de configuración del controlador de impresora actual para que pueda crear una configuración con este nombre. Si la aplicación de configuración del controlador de impresora actual es Genpd.app, aparecerá el cuadro de diálogo Edición de configuración de impresora para que pueda crear la configuración.
Si el nombre comienza con un guión (-), no se ejecutará el programa _GENPD y el nombre que sigue al guión se almacenará en _PDSETUP.
Si ejecuta SET PDSETUP TO sin cPrinterDriverSetup, la configuración actual del controlador de impresora se borrará, se almacenará la cadena vacía en _PDSETUP y se borrará de la memora la matriz _PDPARMS.

Parameter1 [, Parameter2 ...]
Especifica cualquier número de parámetros opcionales. Estos parámetros se transfieren a la aplicación de interfaz de configuración de impresora y pueden ser de cualquier tipo (carácter, numérico, lógico, etc.). La primera línea de la aplicación de interfaz de configuración de impresora debe ser una instrucción LPARAMETERS o PARAMETERS para aceptar los parámetros transferidos desde SET PDSETUP.
Si utiliza Genpd.app, no incluya estos parámetros opcionales. Genpd.app no acepta parámetros pasados desde SET PDSETUP; si se incluyen, se generará un error.

WITH Parameter3 [, Parameter4 ...]
Crea la matriz especial de impresora _PDPARMS. Cada parámetro que especifique con Parameter3, Parameter4, etc. se convierte en un elemento de _PDPARMS. El primer parámetro (Parameter3) se almacena en el primer elemento de _PDPARMS, el segundo parámetro (Parameter4) se almacena en el segundo elemento y así sucesivamente. Estos parámetros pueden ser de cualquier tipo (carácter, numérico, lógico, etc.).
Si está utilizando Genpd.app, la aplicación sobrescribirá todos los parámetros que incluya.

Observaciones
En Visual FoxPro y en FoxPro para Windows, se usa una configuración de controlador de impresora cuando se imprimen informes basados en caracteres creados en FoxPro para MS-DOS.
Una configuración de controlador de impresora es una combinación de parámetros de configuración que incluye el programa controlador de impresora e información de impresión, como la orientación de página, la fuente, tamaño y estilo predeterminados, los márgenes, etc. Las configuraciones de controlador de impresora se almacenan en su archivo de recursos de FoxPro para MS-DOS, Foxuser.dbf, y pueden crearse de forma interactiva y asignárseles un nombre en el cuadro de diálogo Edición de configuración de impresora.
Una configuración de controlador de impresora también puede cargarse o eliminarse con la variable del sistema _PDSETUP.
Cuando ejecuta SET PDSETUPT, se ejecuta la aplicación de la interfaz de configuración de impresora actual. A la aplicación de interfaz se le transfiere el nombre de la configuración del controlador de impresora incluida en SET PDSETUP. También se puede especificar la aplicación de interfaz con la variable de sistema _GENPD. La aplicación de interfaz predeterminada es Genpd.app, la aplicación de configuración de impresora de FoxPro para MS-DOS.




SET POINT (Comando)
Determina el carácter decimal que se utilizará al mostrar las expresiones numéricas y de moneda.

SET POINT TO [cDecimalPointCharacter]

Parámetros
cDecimalPointCharacter
Especifica el carácter que desea utilizar como signo decimal.

Observaciones
Utilice SET POINT para cambiar el separador de decimales a partir del predeterminado, que es un punto (.). Ejecute SET POINT TO sin cDecimalPointCharacter para restablecer el signo decimal en un punto. A pesar de que puede cambiar el signo decimal que se muestra por un carácter diferente, debe utilizar el punto como carácter decimal en los cálculos.
SET POINT tiene como alcance la sesión actual de datos.

Ejemplo
gnX = 1.25
gcNewPoint = '_'
SET POINT TO gcNewPoint
? gnX
SET POINT TO && Reset the decimal point to a period (.)
? gnX


SET PRINTER (Comando)
Activa o desactiva el resultado a la impresora, o dirige el resultado hacia un archivo, un puerto o una impresora de red.

SET PRINTER ON [PROMPT] OFF
–O bien–
SET PRINTER FONT cFontName [, nFontSize]
[STYLE cFontStyle]-or-SET PRINTER TO [FileName [ADDITIVE] PortName]
–O bien–
SET PRINTER TO [DEFAULT NAME WindowsPrinterName]
–O bien–
SET PRINTER TO NAME \\ServerName\PrinterName

Parámetros
ON [PROMPT]
Activa el envío del resultado a la impresora. El resultado con formato @ ... SAY no se dirige a la impresora cuando SET PRINTER está en ON. Utilice SET DEVICE TO PRINTER para dirigir el resultado de @ ... SAY a la impresora.
Si desea que se muestre un cuadro de diálogo antes de que empiece la impresión, incluya PROMPT. En este cuadro de diálogo puede modificar la configuración de la impresora. El controlador de impresora instalado actualmente determina los valores de la impresora que puede modificar.

OFF
(Predeterminado) Desactiva la salida a la impresora.

FONT cFontName [, cFontSize]
Especifica la fuente predeterminada para la salida de impresora. cFontName especifica el nombre de la fuente y cFontSize especifica su tamaño en puntos. Por ejemplo, el comando siguiente especifica la fuente Courier de 16 puntos como fuente predeterminada para la impresora:
SET PRINTER FONT 'Courier', 16
Si la fuente especificada no está disponible, se sustituirá por una fuente de características similares.

STYLE cFontStyle
Especifica un estilo de fuente predeterminado para la salida a la impresora. Si omite la cláusula STYLE, se utilizará el estilo de fuente Normal.
Si el estilo de fuente especificado no está disponible, se sustituye por otro de características similares.

Éstos son los estilos de fuente que puede especificar con cFontStyle:

Carácter Estilo de la fuente
B Negrita
I Cursiva
N Normal
O Contorno
Q Opaco
S Sombra
– Tachado
T Transparente
U Subrayado

Puede incluir más de un carácter para especificar una combinación de estilos de fuente. Por ejemplo, el comando siguiente específica negrita cursiva:
SET PRINTER FONT 'Courier', 16 STYLE 'BI'

TO [FileName [ADDITIVE] PortName]
Especifica el archivo o puerto al que se dirige el resultado.
En Visual FoxPro, utilice SET PRINTER TO NAME en vez de especificar una impresora.
FileName especifica un nombre de archivo al que se dirige el resultado. Si incluye ADDITIVE, el resultado se anexará al contenido actual del archivo. Si omite ADDITIVE, se sobrescribirá el contenido existente del archivo.
PortName envía el resultado a una impresora local distinta.

TO [DEFAULT NAME WindowsPrinterName]
Envía la salida de impresora a la impresora predeterminada de Windows o a una impresora de Windows específica. Los nombres de las impresoras de Windows están almacenados en win.ini.
Si desea determinar los nombres de las impresoras instaladas actualmente, utilice GETPRINTER( ) o APRINTERS( ). Por ejemplo, el siguiente comando mostrará el cuadro de diálogo de Windows Configurar impresora y hará que se dirija la salida de impresión a la impresora seleccionada:
SET PRINTER TO NAME GETPRINTER( )

TO NAME \\ServerName\PrinterName
Sólo se admite en Windows NT 4.0 o en versiones posteriores. Dirige la salida de la impresora a una impresora de red.
ServerName es el nombre de red asignado a su servidor de impresión. El administrador de la red es quien asigna este nombre, que debe ser exclusivo.
PrinterName es un nombre asignado a la impresora, también por el administrador de la red.

Observaciones
Use SET PRINTER TO con los argumentos especificados para dirigir la salida a un archivo, a un puerto de una impresora local distinta o a una impresora de red.
Use SET PRINTER TO sin ningún argumento para restablecer la salida a la utilidad de impresión PRN predeterminada de MS-DOS.
Al dirigir la salida a una impresora de red, ésta se imprime o se incluye en una cola de impresión hasta que se ejecuta un nuevo comando SET PRINTER. Para obtener información adicional sobre la impresión en red, consulte la documentación de la red.

Nota: Este comando no funciona en Modo de servidor desatendido.

No hay comentarios: