Personalizar IntelliSense mediante FoxCode

Si modifica el contenido de FoxCode.dbf puede modificar o agregar funcionalidad de IntelliSense en Visual FoxPro. De forma predeterminada, la tabla FoxCode.dbf se instala en su carpeta de aplicaciones de usuario de Windows.

Nota   Cuando ejecute Visual FoxPro por primera vez, un duplicado de FoxCode.dbf se copia en su ubicación de datos de aplicación personal de Windows. Esto puede restablecerse en la ficha Archivos del cuadro de diálogo Opciones.

Para personalizar IntelliSense

Estructura de FoxCode.dbf

Nombre de campo Tipo (tamaño) Descripción
Type C (1) Especifica el tipo de referencia que contiene este registro.
Abbrev C (24) Representa el conjunto mínimo de pulsaciones de teclas que activa IntelliSense para este elemento.
Expanded C (26) Especifica qué se inserta en el cursor.
Cmd C (15) Especifica la secuencia de comandos que se va a ejecutar para este elemento.
Tip M Especifica el contenido de la Sugerencia rápida (parámetros).
Data M Especifica todo lo que hay en Mostrar valores o un código de Visual FoxPro específico para este elemento y puede, opcionalmente, contener otro texto de secuencias de comandos.
Case C (1) Especifica cómo se reemplaza el texto.
U = MAYÚSCULAS
L = minúsculas
M o <en blanco> = Mixto
P = Nombre propio
X = Sin cambios

Cualquier valor que especifique en este campo del registro de versión establece un valor predeterminado global para los registros individuales que no tienen un valor Case.

Save L Especifica si se guarda el registro cuando se actualice el campo.
TimeStamp T Representa la marca de tiempo exclusiva de este elemento.
Source M Especifica el origen del contenido del registro. El contenido principal de esta versión de Visual FoxPro se especifica como RESERVED. Este campo puede contener la ruta y el nombre de referencia absoluta de los registros proporcionados por el usuario.
UniqueID C (10) Especifica un identificador exclusivo para este registro.
User M Especifica información del usuario.

Valores válidos de la columna Type de FoxCode.dbf

Valor Tipo Descripción
C Comando Especifica los elementos de relleno automático y de comando de Visual FoxPro.
F Función Especifica las funciones de Visual FoxPro que se utilizan en las Sugerencias rápidas.
O Componente COM Especifica la referencia de COM Typelib para utilizar con la lista desplegable AS.
P Propiedad Especifica las propiedades de Visual FoxPro.
S Secuencia de comandos Especifica que el campo de datos contiene una secuencia de comandos de Visual FoxPro que se va a ejecutar.
T Codificación Especifica los elementos que aparecen en la lista desplegable AS o cuando se les hace referencia como un objeto.
U Usuario Especifica los elementos con expansión automática definidos por el usuario. Estos elementos, a diferencia de los tipos de elementos Command, no tienen que coincidir exactamente con modelos absolutos.
V Versión Especifica el registro especial de la información de versión (reservado).

Tipo de elemento Componente COM

El tipo de elemento Componente COM es un registro de FoxCode.dbf cuyo contenido aparecerá en una lista desplegable de la cláusula AS, como, por ejemplo, un registro de tipo de elemento Codificación. El registro de tipo de elemento Codificación COM representa el nombre de la biblioteca de tipos COM que contiene una colección de clases (ProgIDs), cuyas instancias se pueden crear con Visual FoxPro mediante la función CreateObject( ).

El campo Data de este tipo de registro contiene el GUID y la versión de la biblioteca de tipos en vez de código, como en la siguiente tabla:

Nombre de campo Ejemplo
Type O
Abbrev Excel
CMD {}
Tip Biblioteca de objetos Microsoft Excel 9.0
Data {00020813-0000-0000-C000-000000000046}#1.3

Tipo de elemento Comando

El tipo de elemento Comando es un registro de FoxCode.dbf cuyo contenido representa el relleno del comando Visual FoxPro o las instrucciones de sustitución como en la siguiente tabla:

Nombre de campo Ejemplo
Type C
Abbrev MC
Expanded MODIFY COMMAND

El contenido de estos registros se desencadena en IntelliSense escribiendo el campo Abbrev o el contenido del valor expandido seguido de un espacio en blanco en un editor.

Tipo de elemento Función

El tipo de elemento Función es un registro de FoxCode.dbf cuyo contenido representa las funciones, los procedimientos y las funciones definidas por el usuario de Visual FoxPro, como en la siguiente tabla:

Nombre de campo Ejemplo
Type F
Abbrev FCOU
Expanded FCOUNT
Tip [nWorkArea | cTableAlias]

El contenido del campo Tip de estos registros se muestra en una ventana Sugerencias escribiendo el valor de Abbrev o el valor expandido seguido de un paréntesis a la izquierda.

Tipo de elemento Propiedad

El tipo de elemento Propiedad es un registro de FoxCode.dbf cuyo contenido especifica una propiedad. Utilice este tipo para agregar un Editor de valores personalizado cuando asigne valores a la propiedad especificada.

A continuación, se muestra un ejemplo de especificación de editores de valores para propiedades (las entradas de tipo P de la tabla):

Nombre de campo Ejemplo
Type P
Abbrev .Picture
Cmd {picture}

El campo Cmd contiene una referencia, "{picture}", a un registro de secuencias de comandos de FoxCode cuyo campo ABBREV contiene el valor "picture" (para obtener más información, vea el tipo de elemento Secuencia de comandos). Al escribir ".picture=" ejecuta el código que contiene el registro de secuencia de comandos relacionado con este registro de propiedad.

Excepto en los registros Type = "T" u "O", si el campo Cmd sólo contiene las llaves de apertura y cierre ("{}") sin ninguna referencia a una secuencia de comandos, el registro contiene su propia secuencia de comandos en el campo Data como en la tabla siguiente:

Nombre de campo Ejemplo
Type C
Abbrev NOW
Cmd {}
Data LPARAMETER oFoxCode
RETURN TRANSFORM(DATE( ))

Tipo de elemento Secuencia de comandos

El tipo de elemento Secuencia de comandos es un registro de FoxCode.dbf que puede contener texto como código en su campo de datos. Otro registro ejecuta este código haciendo referencia al mismo en el campo Cmd. Este tipo de registro puede contener lo siguiente:

  • FoxCode en el campo Data que se va a evaluar como texto.

  • Un Id. en el campo Cmd que hace referencia a otro registro que contiene el código. Si escribe código en un tipo de elemento Secuencia de comandos independiente, como en la tabla siguiente, habilite múltiples elementos para hacer referencia al mismo código:

    {picture}…
    
    Nombre de campo Ejemplo
    Type S
    Abbrev Picture
    Data (En el campo Memo)
    LPARAMETER oFoxcode
    LOCAL lcPicture
    oFoxcode.valuetype="V"
    lcPicture = getpict()
    IF LEN(lcPicture) > 0 
       lcPicture = ['] + lcPicture+ [']
    ENDIF
    RETURN lcPicture

En este ejemplo, un registro de tipo de elemento Propiedad con el valor "picture" en el campo ABBREV hace referencia a este registro de tipo de elemento Secuencia de comandos y ejecuta el código del campo Data, mostrando el cuadro de diálogo Abrir imagen.

La secuencia de comandos en los registros Secuencia de comandos debe contener una instrucción PARAMETERS o LPARAMETERS para albergar la referencia del objeto.

El valor devuelto reemplaza el texto escrito. Si el valor devuelto se evalúa como una cadena vacía (""), Visual FoxPro no cambia el texto escrito.

Cada secuencia de comandos llamada por IntelliSense debe contener un parámetro que se pasa al objeto de parámetro de FoxCode. Este objeto contiene metadatos que detallan cómo se llamó la secuencia de comandos, incluyendo el registro de origen de la tabla FoxCode. Para obtener más detalles, vea FoxCode (Referencia de objeto).

Tipo de elemento Codificación

El tipo de elemento Codificación es un registro de FoxCode.dbf que representa el contenido de un elemento mostrado en la lista desplegable de una cláusula AS. Opcionalmente, el campo Data de este registro puede contener código cuyo valor devuelto se inserta en la posición del cursor en la pantalla. Si incluye texto en el campo Data, finalícelo con una instrucción RETURN.

Nombre de campo Ejemplo
Type T
Abbrev CommandButton

Tipo de elemento Usuario

El tipo de elemento Usuario es un registro de FoxCode.dbf que se utiliza para especificar abreviaturas de contenido definido por el usuario, como en la tabla siguiente. A diferencia del tipo de elemento Comando, la abreviatura del tipo de elemento Usuario no tiene que ser la misma que los caracteres iniciales del contenido de expansión.

Nombre de campo Ejemplo
Type U
Abbrev MYADDRESS
Expanded 101 Main Street

Tipo de elemento Versión

El tipo de elemento Versión es el registro de FoxCode.dbf que se utiliza para los valores predeterminados y para hacer un seguimiento de la información de versión. Está reservado para uso interno.

Nombre de campo Ejemplo
Type V
Expanded <Identifica la última versión de FoxCode> Para uso interno.

Vea también

Introducción a IntelliSense | Uso de secuencias de comandos en FoxCode.dbf | Ventana Administrador de IntelliSense de Visual FoxPro | Nombres de tabla, campo o variable automáticos | Archivos MRU (usados más recientemente) automáticos | Compatibilidad con IntelliSense en Visual FoxPro | Uso de IntelliSense en Visual FoxPro | FoxCode (Referencia de objeto)