

Que  es Visual Fox Pro?
Visual Fox Pro es un programa , como su nombre lo indica, de forma visual 
para que el entorno del programador sea mas agradable  y con menos 
posibilidades de codificacin errnea.
Este programa ha sido diseado para los programadores mas exigentes, ya que 
le permite trabajar con objetos, ya que este lenguaje se orienta a objetos.
 
Introduccin a las aplicaciones
Las aplicaciones de ejemplo de Visual FoxPro han sido programadas con la 
intencin de ayudarle en sus primeros pasos con Visual FoxPro. Mientras 
examina cada ejemplo, puede ver cmo funciona el ejemplo, examinar su 
cdigo y cmo puede utilizar sus caractersticas en sus propias aplicaciones.
Para abrir un proyecto de aplicacin de ejemplo en el Administrador de 
proyectos, haga clic en Abrir. Para ejecutar una aplicacin de ejemplo, haga 
clic en Ejecutar.
El ejemplo Soluciones incluye ms de 90 ejemplos de tareas especficas de 
Visual FoxPro, desde formularios de entradas de datos individuales hasta 
cuadros de dilogo de fichas ajustadas dinmicamente, pasando por llamadas a 
la API de Windows. 
La interfaz (SOLUTION.SCX) para la aplicacin de ejemplo Soluciones 
ofrece varias caractersticas:

	Dos formas de ver el contenido del ejemplo Soluciones:

	Una vista de rbol (esquema) en la que se muestra la jerarqua de los 
componentes de la aplicacin.
	Una vista de lista filtrada de los componentes de la aplicacin que 
proporciona un listado, por orden alfabtico, de todos los componentes que van 
a filtrar la lista segn lo que usted haya especificado con respecto al orden.

	Un botn expandir/contraer para ver todos los componentes de la vista 
de rbol.
	Una breve descripcin de un ejemplo seleccionado.
	La opcin de ejecutar el cdigo y/o ver el cdigo abrindolo en el 
diseador adecuado.
	Una descripcin de cmo se han implementado determinadas 
caractersticas en cualquier formulario mediante un botn Informacin tcnica.

Para ejecutar la aplicacin de ejemplo Soluciones

	Escriba lo siguiente en la ventana Comandos:

DO (HOME() + 'samples\solution\solution')

  O bien  

1	En el men Programa, elija Ejecutar.
2	Elija la carpeta Ejemplos.
3	Elija la carpeta Soluciones.
4	Haga doble clic en Solution.app.

En el formulario principal Ejemplos de soluciones, ver que los ejemplos estn 
clasificados en las siguientes categoras: Controles, Bases de datos, 
Formularios, Mens, Ole, Informes, Barras de herramientas y Winapi. Para ver 
todos los componentes de esta vista de rbol, elija el botn Expandir todo  y 
desplcese por los componentes. 

Cuando ya haya encontrado un ejemplo o un componente que le interese, 
resltelo para seleccionarlo. A continuacin puede realizar una o todas las 
siguientes acciones:

	Leer una breve descripcin del ejemplo en el rea de descripcin situada 
en la parte inferior del formulario principal de Soluciones.
	Ejecutar el ejemplo eligiendo Ejecutar ejemplo.
	Ver el cdigo eligiendo Ver cdigo.

Despus de cerrar el formulario o el diseador que est abierto, regresar 



El ejemplo Importadores Tastrade es una muestra de una aplicacin integrada 
de Visual FoxPro. La aplicacin es un sistema de entrada de pedidos para una 
empresa ficticia de importacin y exportacin que vende productos culinarios 
tpicos de todo el mundo.

Importadores Tastrade proporciona la funcionalidad de introduccin de 
pedidos, lo que permite a los usuarios:

	Crear nuevos pedidos.
	Agregar elementos a pedidos directamente.
	Seleccionar elementos procedentes de pedidos anteriores.
	Calcular las extensiones de elemento de lnea, subtotales, y totales de 
pedidos preparados para descuentos y flete.

Adems, la aplicacin demuestra la seguridad a nivel de usuario pidiendo a los 
usuarios que inicien una sesin en la aplicacin antes de ver o editar datos.

Se ha documentado cada paso en la programacin de la aplicacin 
Importadores Tastrade como se indica a continuacin:  

	Crear la especificacin
	Disear la base de datos

	Crear estructuras y relaciones entre tablas
	Seguridad
	Integridad de datos
	Mantenimiento de bases de datos
	Comentarios sobre la creacin de la base de datos

	Disear y crear clases

	Funcionalidad a nivel de aplicacin
	Funcionalidad a nivel de formularios
	Funcionalidad a nivel de controles
	Comentarios sobre las clases

	Escribir, comprobar y depurar el cdigo de la aplicacin

	Formularios
	Informes
	Mens y barras de herramientas
	Manipulacin de errores
	Depuracin
	El programa principal
	Comentarios sobre el cdigo

Para ejecutar Importadores Tastrade

	Escriba la siguiente lnea de cdigo en la ventana Comandos:

DO (HOME() + 'samples\tastrade\tastrade')

  O bien  

1	En el men Programa, elija Ejecutar.
2	Elija la carpeta Ejemplos.
3	Elija la carpeta Tastrade.
4	Haga doble clic en TASTRADE.APP.

Para abrir el proyecto para la aplicacin Importadores Tastrade

	Escriba la siguiente lnea de cdigo en la ventana Comandos:

MODIFY PROJECT (HOME() + 'samples\tastrade\tastrade')

al formulario principal de Soluciones.

Ejemplo	Acceso
Ejemplos de Soluciones
Ms de 90 ejemplos distintos en los que se ensea a realizar tareas especficas 
de Visual FoxPro, desde simples formularios de entrada de datos, hasta 
cuadros de dilogo con fichas ajustadas dinmicamente, pasando por llamadas 
a la API de Windows.	AbrirEjecutar
Importadores Tastrade
Una aplicacin de Visual FoxPro integrada con seguridad de inicio de sesin, 
funcionalidad de entrada de pedidos, historial de pedidos, facturas y otras 
implementaciones de la vida real.	AbrirEjecutar
Cliente-servidor
Una aplicacin en la que se muestran algunas de las caractersticas que hacen 
de Visual FoxPro una herramienta de programacin para el usuario ideal para 
aplicaciones cliente-servidor, incluyendo vistas fuera de lnea, upsizing y 
programacin simultnea.	AbrirEjecutar
Servidores OLE
Tres ejemplos distintos de servidores OLE personalizados y su utilizacin en 
Visual FoxPro.	
Visual FoxPro tambin proporciona Bibliotecas de clases de ejemplo y 
Programas de utilidades con funcionalidad que podr incluir fcilmente en sus 
aplicaciones.

CREACION DE UN ARCHIVO


Convenciones de la sintaxis
Se utilizan las siguientes convenciones tipogrficas:

Ejemplo	Convencin
SET HELP TO	Las letras maysculas hacen referencia a comandos, 
palabras clave, acrnimos, siglas, constantes y nombres de dispositivos.
Presione la tecla TAB.
Presione MAYS+F1.	Las versales indican nombres de teclas del teclado. 
Un signo ms (+) indica una combinacin de teclas.
BUTTONS.VCX	Las letras maysculas indican nombres de archivo.
C:\WINDOWS	Para los nombres de rutas de acceso se emplean letras 
maysculas con barras invertidas de separacin.
FontSize	Las maysculas iniciales indican los nombres de objetos, 
eventos, propiedades y mtodos. Si el nombre consta de ms de una palabra, se 
concatenarn las palabras con maysculas iniciales.
controlado por eventos	Las letras en cursiva indican trminos que se 
definen la primera vez que aparecen en el texto.
IF StatusText() = "Test"
	= MESSAGEBOX( "OK" )
ENDIF	La fuente de un solo espacio indica las lneas de comando que 
usted escribe, ejemplos de cdigo, y referencias textuales a los ejemplos de 
cdigo.
USE customer	Las letras minsculas indican nombres de tablas y de 
campos.
nTotal, cName	Los nombres de variables y marcadores llevan como 
prefijo letras minsculas. El prefijo indica el tipo de la variable: c para 
Character, n para Numeric, l para Logical, d para Date, t para DateTime, y para 
Currency, o para Object y e para cualquier expresin.
En la sintaxis se utilizarn las siguientes convenciones:

Ejemplo	Convencin
DELETE VIEW NombreVista	En la sintaxis, las palabras en cursiva son 
marcadores para informacin que usted debe suministrar.
[STYLE cNombreEstilo]	En la sintaxis, los corchetes abarcan a todos los 
elementos opcionales.
SET BELL ON | OFF	En la sintaxis, una barra vertical separa dos 
opciones mutuamente exclusivas.
[, NombreVentana2 ]	En la sintaxis, los puntos suspensivos indican que 
un elemento puede repetirse en una lista el nmero de veces que desee. Los 
elementos de la lista van separados por comas.
Clases y objetos
A

Application (Objeto)

B
C

CheckBox (Control)
Column (Objeto)
ComboBox (Control)
CommandButton (Control)
CommandGroup (Control)
Container (Objeto)
Control (Objeto)
Cursor (Objeto)
Custom (Objeto)

D

DataEnvironment (Objeto)

E

EditBox (Control)

F

Form (Objeto)
FormSet (Objeto)

G

Grid (Control)

H

Header (Objeto)

I

Image (Control)

J
K
L

Label (Control)
Line (Control)
ListBox (Control)

M
N
O

Object (Coleccin)
OLE Bound (Control)
OLE Container (Control)
OptionButton (Control)
OptionGroup (Control)

P

Page (Objeto)
PageFrame (Control)

Q
R

Relation (Objeto)

S

Separator (Objeto)
Shape (Control)
Spinner (Control)

T

TextBox (Control)
THIS (Referencia de objeto)
THISFORM (Referencia de objeto)
THISFORMSET (Referencia de objeto)
Timer (Control)
ToolBar (Objeto)




Rutinas de mens
Estas rutinas de la API le permiten crear, manipular y liberar mens.

_ActivateMenu( )

Muestra el men especificado en la pantalla y devuelve inmediatamente el 
control a la rutina que ha efectuado la llamada.

_CountItems( )

Devuelve el nmero de ttulos o barras de men del men especificado.

_DeActivateMenu( )

Elimina un men de la pantalla.

_DisposeItem( )

Libera el elemento de men especificado y toda la memoria asociada a ese 
elemento.

_DisposeMenu( )

Libera el men especificado y toda la memoria asociada a ese men.

_GetItemCmdKey( )

Copia la cadena del mtodo abreviado de teclado del elemento de men 
especificado al bfer al que apunta el parmetro texto.

_GetItemId( )

Devuelve el identificador de elemento del elemento de ndice en el men 
especificado.

_GetItemSubMenu( )

Devuelve el identificador de elemento de men o submen asignado a un 
elemento de men.

_GetItemText( )

Copia el texto de una barra de men o un ttulo de men al bfer al que apunta 
texto.

_GetNewItemId( )

Devuelve un identificador que est disponible actualmente para usarlo como 
identificador de elemento en el men especificado.

_GetNewMenuId( )

Devuelve un identificador que est disponible para usarlo como identificador 
de men.

_MenuId( )

Devuelve el identificador de men real que corresponde al literal definido por 
el sistema para el ttulo de men o men del sistema.

_MenuInteract( )

Establece el elemid y el menid para indicar qu elemento de men se ha 
seleccionado, en caso de que se hubiera seleccionado alguno.

_NewItem( )

Agrega un elemento con el elemid especificado al men indicado por menid.

_NewMenu( )

Crea un nuevo men del tipo de men especificado.

_OnSelection( )

Especificar una rutina que se ejecutar cuando se seleccionen el men y el 
elemento especificados.

_SetItemCmdKey( )

Establece el mtodo abreviado de teclado para el elemento de men 
especificado, as como el texto que se mostrar para dicho mtodo abreviado 
de teclado.

_SetItemSubMenu( )

Asigna un submen a un elemento de men. Se puede usar para adjuntar un 
men a un ttulo, o un submen a un elemento de men.

_SetItemText( )

Cambia el texto de un elemento de men. El elemento puede ser un ttulo o una 
barra.

_SetMenuPoint( )

Especifica la esquina superior izquierda, loc, de un men.

_SetMenuPointP( )

Especifica en pxeles la posicin en la pantalla de la esquina superior 
izquierda, loc, de un men.

Rutinas que devuelven resultados a Visual FoxPro

Estas rutinas de la API le permiten devolver resultados a Visual FoxPro en el 
tipo de datos especificado.

_RetChar( )

Establece el valor de devolucin de la funcin a una cadena terminada en nulo.

_RetCurrency( )

Establece el valor de devolucin de la biblioteca a valor de moneda.

_RetDateStr( )

Establece el valor de devolucin de la funcin a una fecha. La fecha se 
especifica en el formato mm/dd/aa, donde el ao puede tener dos o cuatro 
dgitos.

_RetDateTimeStr( )

Establece el valor de devolucin de la biblioteca a fechahora.

_RetFloat( )

Establece el valor de devolucin de la funcin a un valor flotante.

_RetInt( )

Establece el valor de devolucin de la funcin a un valor numrico.

_RetLogical( )

Establece el valor de devolucin de la funcin a un valor lgico. Cero se 
considera False. Otro valor distinto de cero se considera True.

_RetVal( )

Pasa una estructura completa de Visual FoxPro por valor, por lo que se puede 
devolver cualquier tipo de datos de Visual FoxPro excepto memo. Se debe 
llamar a _RetVal( ) para devolver una cadena que contenga caracteres nulos.


Archivos distribuibles

Puede distribuir cualquier archivo de Visual FoxPro que no est restringido. 
Segn el Acuerdo de licencia recibido con el producto, los archivos se deben 
distribuir con la aplicacin correspondiente. Las siguientes directrices se 
aplican a los archivos distribuibles.

Asistente para instalacin

Cualquier archivo de los directorios DISTRIB.SRC y SETUP de Visual 
FoxPro necesarios para dar soporte a la aplicacin correspondiente se puede 
distribuir. Cuando usa el Asistente para instalacin para crear discos de 
distribucin, coloca automticamente los archivos necesarios de estos  
directorios en los discos distribuibles en formato comprimido. En la 
instalacin, estos archivos se descomprimen y se instalan por nombre en los 
directorios apropiados en la mquina del usuario. No es necesario copiar estos 
archivos en el rbol de distribucin.

Ejemplos

Los archivos de los directorios SAMPLES y API\SAMPLE de Visual FoxPro 
se proporcionan para que aprenda y trabaje con ellos. Aunque no puede 
modificar aplicaciones de ejemplo no modificadas de Visual FoxPro, puede 
utilizar partes del cdigo de aplicaciones de ejemplo para crear su propia 
aplicacin.
Si usa cualquier archivo de los directorios SAMPLES y API\SAMPLE  de 
Visual FoxPro (incluyendo todos los archivos .BMP, .ICO y .CUR), estos 
archivos se deben incluir en el proyecto y en la aplicacin generada. No debe 
aparecer su nombre en los discos distribuibles y no se pueden distribuir 
independientemente de las aplicaciones.

Bibliotecas de clases

Puede usar cualquier archivo .VCX sin modificacin en sus aplicaciones. Las 
bibliotecas se deben incluir en el proyecto y en la aplicacin generada.

Archivos ODBC 

Consulte el Acuerdo de licencia de Microsoft que ha recibido con este 
producto para conocer las restricciones especficas con respecto a la 
redistribucin de archivos ODBC.

Controles ActiveX 

Visual FoxPro incluye un conjunto de controles ActiveX (archivos .OCX) que 
puede agregar y distribuir con sus aplicaciones.
Nota   Si instala la documentacin en pantalla de Visual FoxPro, se instala el 
control ActiveX MediaView 1.41 (MEDV141N.OCX). Este control ActiveX 
slo admite el examen de la documentacin en pantalla; no se puede agregar o 
distribuir con sus aplicaciones.

Archivos restringidos

Visual FoxPro contiene muchos archivos que se licencian slo para su uso en 
propsitos de diseo, programacin y prueba. Consulte el archivo 
LICENSE.TXT, ubicado en el directorio de Visual FoxPro, para obtener una 
lista de los archivos restringidos.
Si su aplicacin contiene cualquiera de estos archivos, qutelo. Bajo los 
trminos del Acuerdo de licencia de Microsoft que recibi con este producto, 
no se le permite incluir estos archivos en su aplicacin o en sus discos.

El Asistente para instalacin comprueba estos archivos y los excluir del 
conjunto de discos para distribucin. No asigne estos nombres de archivo a 
ninguno de los archivos que vaya a distribuir. El Asistente para instalacin 
excluir cualquier archivo que tenga un nombre idntico a uno de esta lista.
Para obtener informacin sobre los archivos que puede distribuir en su 
aplicacin, vea Archivos distribuibles.

Estructura de archivos de tabla(.DBC, .DBF, .FRX, .LBX, .MNX, .PJX, .SCX, 
.VCX)

Estructura de archivos de tabla(.DBC, .DBF, .FRX, .LBX, .MNX, .PJX, .SCX, 
.VCX)

Visual FoxPro usa tablas para almacenar datos que definen distintos tipos de 
archivos. Los tipos de archivos que se guardan como archivos de tabla son:

	Tabla (.DBF)
	Base de datos (.DBC)
	Formulario (.SCX)
	Etiqueta (.LBX)
	Men (.MNX)
	Proyecto (.PJX)
	Informe (.FRX)
	Biblioteca de clases Visual (.VCX)

Como estos archivos son tablas en realidad, puede usarlos y examinarlos de la 
misma forma que examina cualquier archivo .DBF.

Un archivo de tabla est formado por un registro de encabezado y por registros 
de datos. El registro de encabezado define la estructura de la tabla y contiene 
cualquier otra informacin relacionada con la tabla. Comienza en la posicin 
de archivo cero. Los registros de datos1 siguen al encabezado (en bytes 
consecutivos) y contienen el texto real de los campos.

Para obtener informacin sobre las estructuras de tabla de los distintos tipos de 
archivo, ver Estructuras de tabla o estructuras de archivos.

La longitud de un registro (en bytes) se determina sumando las longitudes 
definidas de todos los campos. En los archivos de tabla, los enteros se 
almacenan con el byte menos significativo en primer lugar.

Estructura del registro de encabezado de la tabla

Desplazamiento de bytes	Descripcin
         
0	Tipo de archivo
0x02	FoxBASE
0x03	FoxBASE+/dBASE III PLUS, sin memo
0x30	Visual FoxPro
0x43	dBASE IV SQL archivos de tabla, sin memo
0x63	dBASE IV SQL archivos de sistema, sin memo
0x83	FoxBASE+/dBASE III PLUS, con memo
0x8B	dBASE IV con memo
0xCB	dBASE IV SQL archivos de tabla, con memo
0xF5	FoxPro 2.x (o anterior) con memo
0xFB	FoxBASE
1  3	ltima actualizacin (YYMMDD)
4  7	Nmero de registros de un archivo
8  9	Posicin del primer registro de datos
10  11	Longitud de un registro de datos (incluyendo el indicador de 
eliminacin)
12  27	Reservado
28	Indicadores de tabla
0x01	el archivo tiene un .CDX estructural
0x02	el archivo tiene un campo Memo
0x04	el archivo es una base de datos (.DBC)
Observe que este byte puede contener la suma de
cualquiera de los valores anteriores. Por ejemplo, 0x03
indica que la tabla tiene un .CDX estructural
y un campo Memo.
29	Marca de pgina de cdigos
30  31	Reservado, contiene 0x00
32  n	Subregistros de campo
El nmero de campos determina el nmero de subregistros de campo. Hay un 
subregistro de campo por cada campo de la tabla.
n+1	Final de registro de encabezado (0x0D)
n+2 a n+264	Intervalo de  263-bytes que contiene la informacin de vnculo 
anterior (la ruta relativa de un base de datos asociada (.DBC)). Si el primer 
byte es 0x00, el archivo no est asociado a una base de datos. Por lo tanto, las 
bases de datos siempre contienen el 0x00.
1 En el archivo de datos, los datos comienzan en la posicin indicada por los 
bytes 8 a 9 del registro de encabezado. Los registros de datos comienzan con 
un byte indicador de eliminacin. Si este byte es un espacio ASCII (0x20) el 
registro no se borra; si el primer byte es un asterisco (0x2A) el registro es 
eliminado. Los datos de los campos nombrados en los subregistros de campo 
van detrs del indicador de eliminacin.

Estructura de los subregistros de campo

Desplazamiento de bytes	Descripcin
         
0  10 	Nombre de campo (mximo de 10 caracteres  si hay menos de 
10 caracteres, se rellena con caracteres nulo (0x00))
11	Tipo de archivo: 
C		Character
Y		Currency
N		Numeric
F		Float
D		Date
T		DateTime
B		Double
I		Integer
L		Logical
M		Memo
G		General
C		Character (binario)
M		Memo (binario)
P		Picture
12  15	Desplazamiento de campo en el registro
16	Longitud de campo (en bytes)
17	Nmero de cifras decimales
18	Indicadores de campo
0x01	 Columna de sistema (no es visible para el usuario)
0x02	La columna puede almacenar valores nulo
0x04	Columna binaria (slo para CHAR y MEMO)
19  32	Reservado
Para obtener informacin sobre limitaciones de nmero de caracteres por 
registro, nmero mximo de campos, etc., consulte Capacidades del sistema de 
Visual FoxPro.

Comentarios

Visual FoxPro no modifica el encabezado de un archivo guardado en formato 
de archivo FoxPro 2.x a menos que se le haya aadido al archivo alguna de las 
siguientes caractersticas:

	Compatibilidad con el valor nulo
	Tipos de datos DateTime, Currency y Double
	Se marca como binario un campo CHAR o MEMO
	Se agrega una tabla a un archivo de base de datos (.DBC)

Sugerencia   Se puede usar la siguiente frmula para obtener el nmero de 
campos de un archivo de tabla:(x  296/32). En la frmula, x es la posicin del 
primer registro (bytes 8 a 9 en el registro de encabezado de la tabla), 296 es 
263 (informacin de vnculo anterior) + 1 (final del registro de encabezado) + 
32 (primer subregistro de campo) y 32 es la longitud de un subregistro de 
campo.
Estructuras de tabla de archivos de tabla (.DBC, .FRX, .LBX, .MNX, .PJX, 
.SCX, .VCX)

Las descripciones de las estructuras de tabla estn almacenadas en archivos 
situados en el directorio FILESPEC. El directorio FILESPEC contiene dos 
proyectos: 50SPEC.PJX y 26SPEC.PJX. 50SPEC.PJX contiene tablas e 
informes que documentan los archivos de tabla de la versin 5.0 de Visual 
FoxPro. 26SPEC.PJX contiene tablas e informes que documentan los archivos 
de tabla de la versin 2.6 de FoxPro.
Para ver las descripciones de cualquier estructura de tabla, imprima el informe 
adecuado. La lista de tablas siguiente presenta los tipos de archivo y sus 
informes asociados. Algunos tipos de archivos requieren ms de un informe 
porque hay demasiadas columnas para ajustarse al ancho de una nica pgina.

Nota   Todos los informes tienen formato para impresin horizontal.

Visual FoxPro

Para ver la estructura de
una tabla de:	Imprima este informe	
Que utiliza:
Base de datos1	50DBC.FRX	50DBC.DBF
Formulario y Biblioteca de 
clases visuales	50SCX1.FRX
50SCX2.FRX	50SCX.DBF
Men	50MNX.FRX	50MNX.DBF
Proyecto	50PJX1.FRX
50PJX2.FRX	50PJX.DBF
Informe y 
etiqueta	50FRX1.FRX
50FRX2.FRX	50FRX.DBF
1 Las propiedades de la base de datos se pueden imprimir de 
50DBCPRO.FRX.		
Versin 2.6 de FoxPro

Para ver la estructura de tabla de:	Imprima este informe:	
Que utiliza:
Pantalla	26SCX1.FRX
26SCX2.FRX	26SCX.DBF
Men	26MNX.FRX	26MNX.DBF
Proyecto	26PJX1.FRX
26PJX2.FRX	26PJX.DBF
Informe y
etiqueta	26FRX1.FRX
26FRX2.FRX	26FRX.DBF

Estructura de archivo memo (.FPT)

Los archivos memo contienen un registro de encabezado y un nmero 
arbitrario de estructuras de bloque. El registro de encabezado contiene un 
puntero que apunta al siguiente bloque libre y al tamao del bloque en bytes. 
El tamao est determinado por el comando SET BLOCKSIZE cuando se crea 
el archivo. El registro de encabezado comienza en la posicin cero del archivo 
y ocupa 512 bytes. El comando SET BLOCKSIZE TO 0 fija en 1 la anchura 
del bloque.
A continuacin del registro de encabezado estn los bloques que contienen un 
encabezado de bloque y el texto del memo. El archivo de tabla contiene 
nmeros de bloque que se usan para hacer referencia a los bloques de memo. 
La posicin del bloque en el archivo memo se determina multiplicando el 
nmero de bloque por el tamao del bloque (encontrado en el registro de 
encabezado del archivo memo). Todos los bloques memo comienzan en 
direcciones de lmite de bloque pares. Un bloque memo puede ocupar ms de 
un bloque consecutivo.

Registro de encabezado de memo
Desplazamiento
de bytes	Descripcin
00  03	Situacin del siguiente bloque libre1
04  05	Sin utilizar
06  07	Tamao de bloque (bytes por bloque)1
08  511	Sin utilizar
1 Los enteros se almacenan con el byte ms significativo en primer lugar.	
Encabezado de bloque de memo y texto memo
 
 
Desplazamiento
de bytes	Descripcin
00  03	Signatura de bloque 1 (indica el tipo de datos del bloque)
0  imagen (tipo campo de imagen)
1  texto (tipo campo memo)
04  07	Longitud 1 de memo (en bytes)
08  n	Texto de memo (n = longitud)
1 Los enteros se almacenan con el byte ms significativo en primer lugar.

Estructura de archivo de ndice (.IDX)

Los archivos de ndice contienen un registro de encabezado y uno o varios 
registros de nodos. El registro de encabezado contiene informacin sobre el 
nodo raz, el tamao del archivo actual, la longitud de la clave, opciones de 
ndice y de signatura, y representaciones ASCII imprimibles de la clave1 de 
expresiones FOR. El registro de encabezado comienza en la posicin cero del 
archivo.
Los registros de nodo restantes contienen un atributo, nmero de claves 
presentes y punteros que apuntan a nodos a la izquierda y a la derecha (en el 
mismo nivel) del nodo actual. Tambin contienen un grupo de caracteres que 
rodean el valor clave y o bien un puntero que apunta a un nodo de nivel ms 
bajo, o bien un nmero de registro de tabla actual. El tamao de cada registro 
que sale a un archivo es de 512 bytes.

Registro de encabezado de ndice
Desplazamiento de bytes	Descripcin
00  03	Puntero dirigido al nodo raz
04  07	Puntero dirigido a la lista de nodos libres (  1 si no est 
presente)
08  11	Puntero dirigido al final del archivo (tamao de archivo)
12  13	Longitud de clave
14 	Opciones de ndice (cualquiera de los valores numricos siguientes o 
sus sumas):
1  un ndice nico 
8  el ndice tiene una clusula FOR
15	Signatura de ndice (para uso futuro)
16  235	Expresin clave (sin compilar; hasta 220 caracteres)1,3
236  455	Expresin FOR (sin compilar; hasta 220 caracteres, finalizando 
con un byte de valor nulo)
456  511	Sin utilizar
Registro de nodos de ndice
Desplazamiento de bytes	Descripcin
00  01	Atributos de nodos (cualquiera de los valores numricos 
siguientes o sus sumas):
0  nodo ndice 
1  nodo raz 
2  nodo terminal
02  03	Nmero de claves presentes (0, 1 o muchas)
04  07	Puntero dirigido al nodo situado directamente a la izquierda del 
nodo actual (en el mismo nivel; -1 si no est presente)
08  11	Puntero dirigido al nodo situado directamente a la derecha del 
nodo actual (en el mismo nivel; -1 si no est presente)
12  511	Hasta 500 caracteres que contienen el valor clave para la longitud 
de la clave con un nmero hexadecimal de cuatro bytes (almacenado en 
formato de izquierda a derecha normal):
Si el nodo es una hoja (atributo = 02 o 03), los cuatro bytes contienen un 
nmero de tabla actual en formato hexadecimal; si no, los 4 bytes contienen un 
puntero entre ndices.2Las combinaciones de nmeros hexadecimales 
clave/cuatro-bytes se darn el nmero de veces indicado en los bytes 02-03.
Notas

1.	El tipo de clave no se almacena en el ndice. Debe ser determinado por 
la expresin clave.
2.	Todos los tipos menos las cadenas de caracteres, los nmeros usados 
como valores clave y los nmeros de cuatro bytes del nodo secundario se 
representan en bytes invertidos (formato Intel 8086).
3.	Los nmeros son un caso especial cuando se usan como clave. Son 
convertidos mediante el siguiente algoritmo de forma que pueden ordenarse 
usando la misma secuencia de ordenacin ASCII que los caracteres:

	Se convierte el nmero al formato de coma flotante IEEE.
	Se intercambia el orden de los bytes del orden Intel 8086 al orden 
izquierda a derecha.
	Si el nmero era negativo, se toma el complemento lgico del nmero 
(se intercambian los 64 bits, 1 a 0 y 0 a 1); si no, slo se invierte el bit ms a la 
izquierda.

Ejemplo de estructura de rbol ordenada

Para encontrar una clave en la estructura siguiente hay que buscar un slo 
camino entre el nodo primario y los nodos secundarios. Los nodos del nivel 
ms bajo son nodos secundarios. Como las claves estn ordenadas, todas las 
claves del subrbol son menores o iguales que el nodo primario.

En la ilustracin anterior, las letras se usan como los valores clave. Cada clave 
tambin tendra un nmero hexadecimal de cuatro bytes. Los nmeros 
asociados con las claves de los nodos secundarios seran los nmeros de tabla 
actuales  todas las claves de los otros nodos tendran asociados punteros 
entre ndices.

Podramos ver los bytes 12-511 en el registro de nodo ndice de la siguiente 
forma:

La combinacin de nmeros valor/hexadecimal clave se da n veces en los 
bytes 12-511 en donde n es el nmero de claves presentes.

Estructura de archivo de ndice compacto (.IDX)

Registro de encabezado de ndice compacto
Desplazamiento de bytes	Descripcin
00  03	Puntero dirigido al nodo raz
04  07	Puntero dirigido a la lista de nodos libres (  1 si no est 
presente)
08  11	Reservado para uso interno
12  13	Longitud de clave
14	Opciones de ndice (cualquiera de los valores numricos siguientes o 
sus sumas):
1		un ndice nico 
8		el ndice tiene una clusula FOR 
32	 	formato de ndice compacto 
64	 	encabezado de ndice compuesto  
15	Signatura de ndice
16  19	Reservado para uso interno
20  23	Reservado para uso interno
24  27	Reservado para uso interno
28  31	Reservado para uso interno
32  35	Reservado para uso interno
36  501	Reservado para uso interno
502  503 	Ascendiente o descendiente:
0	 = ascendiente 
1	 = descendiente 
504  505	Reservado para uso interno
506  507	Longitud de conjunto de expresin FOR1
508  509	Reservado para uso interno
510  511	Longitud de conjunto de expresin clave1
512  1023	Conjunto de expresin clave (sin compilar)
1 Esta informacin sigue la pista del espacio usado en el conjunto de expresin 
clave.	
Registro de nodo interior de ndice compacto
Desplazamiento de bytes	Descripcin
00  01 	Atributos de nodo (cualquiera de los siguientes valores 
numricos o sus sumas:
a.	0  nodo ndice
b.	1  nodo primario
c.	2  nodo secundario
02  03	Nmero de claves presentes (0, 1 o muchas)
04  07	Puntero dirigido al nodo situado directamente a la izquierda del 
nodo actual (en el mismo nivel;   1 si no est presente)
08  11	Puntero dirigido al nodo situado directamente a la derecha del 
nodo actual (en el mismo nivel;   1 si no est presente)
12  511	Hasta 500 caracteres conteniendo el valor clave para la longitud 
de la clave con un nmero hexadecimal de cuatro bytes (almacenado en 
formato normal de izquierda a derecha):Este nodo siempre contiene la clave 
ndice, nmero de 
registro y puntero entre ndices.2Las combinaciones de nmero hexadecimal 
clave/cuatro bytes se darn el nmero de veces indicado en los bytes 02  03.
Registro de nodo exterior de ndice compacto
Desplazamiento de bytes	Descripcin
00  01 	Atributos de nodo (cualquiera de los siguientes valores 
numricos o sus sumas):
0  nodo ndice
1  nodo raz
2  nodo hoja
02  03	Nmero de claves presentes (0, 1 o muchas)
04  07 	Puntero dirigido al nodo situado directamente a la izquierda del 
nodo actual (en el mismo nivel;   1 si no est presente)
08  11 	Puntero dirigido al nodo situado directamente a la derecha del 
nodo actual (en el mismo nivel;   1 si no est presente)
12  13	Espacio libre disponible en el nodo
14  17	Mscara de nmero de registro
18	Mscara de cuenta de bytes duplicados
19	Mscara de cuenta de bytes de la derecha
20	Nmero de bits usados para nmero de registro
21	Nmero de bits usados para cuenta duplicada
22	Nmero de bits usados para cuenta de la derecha
23 	Nmero de bytes conteniendo nmero de registro, cuenta duplicada y 
cuenta de la derecha
24  511	Claves ndice e informacin2
2 Cada entrada est formada por el nmero de registro, cuenta de bytes 
duplicada y cuenta de bytes de la derecha, todo compactado. El texto clave est 
colocado en el final lgico del nodo, funcionando hacia atrs, teniendo en 
cuenta entradas clave anteriores.

Introduccion al lenguaje:
Tipos de datos y campos
Todos los datos de Visual FoxPro tienen un tipo, como una descripcin de los 
valores permitidos y el intervalo y tamao de los valores. Cuando haya 
especificado el tipo de datos que est usando, Visual FoxPro puede almacenar 
y manipular los datos de forma eficaz.
Las variables y las matrices contienen un subconjunto de los tipos de datos 
disponibles de Visual FoxPro. Los tipos de datos adicionales slo estn 
disponibles para campos de la tabla. Para agregar un campo de un tipo 
especfico a una tabla mediante programacin, especifique el tipo de campo 
con una letra. Para obtener ms informacin, vea la descripcin de TipoCampo 
en CREATE TABLE - SQL.

Tipos de datos de Visual FoxPro 
Tipo de datos	Descripcin	Tamao	Intervalo
Character	Cualquier texto	1 byte por carcter hasta 254	Cualquier 
carcter
Currency	Cantidades monetarias	8 bytes	  
922337203685477.5808 a 922337203685477.5807
Date	Datos cronolgicos formados por mes, ao y da	8 bytes
	01/01/100 a 12/31/9999
DateTime	Datos cronolgicos formados por mes, ao, da y hora	8 bytes
	01/01/100 a 12/31/9999, ms 00:00:00 a.m. a 11:59:59 p.m.
Logical	Valor booleano verdadero o falso	1 byte	Verdadero (.T.) o Falso 
(.F.)
Numeric	Enteros o fracciones	8 bytes en la memoria;
1 a 20 bytes en una tabla	  .9999999999E+19 a .9999999999E+20
Tipos de campos de Visual FoxPro 
Tipo de campo	Descripcin	Tamao	Intervalo
Double	Nmero de coma flotante de precisin doble	8 bytes	+/
4.94065645841247E-324 a +/8.9884656743115E307
Float	Igual que Numeric	8 bytes en la memoria;
1 a 20 bytes en una tabla	  .9999999999E+19 a .9999999999E+20
General	Referencia a un objeto OLE 	4 bytes en una tabla	Limitado 
por la memoria disponible
Integer	Valores enteros	4 bytes	2147483647 a 2147483646
Memo	Referencia a un bloque de datos	4 bytes en una tabla	Limitado por la 
memoria disponible
Character (Binario)	Datos de tipo carcter que quiere mantener sin 
modificacin en pginas de cdigos	1 byte por carcter hasta 254
	Cualquier carcter
Memo (Binario)	Datos de campo memo que quiere mantener sin 
modificacin en pginas de cdigos	4 bytes en una tabla	Limitado por la 
memoria disponible

Almacenar datos
La tabla siguiente resume las diferencias de alcance entre contenedores de 
datos.

Contenedor	Alcance	Ejemplo
Constantes	Privado	#DEFINE ERRSTR "Error!"
Variables	Pblico, privado o local	Var = 7
Matrices	Pblico, privado o local	ArrayName[1,1] = "John Brown"
Campos	Almacenamiento permanente, accesible mientras est abierta la 
tabla que contiene los registros	REPLACE name WITH "John Brown"
Propiedades de objeto	Se hace referencia a ellas a travs del objeto y de la 
jerarqua del contenedor del objeto	txtCustomer.Value = "John Brown"

Visual FoxPro y otros lenguajes de programacin
La mayora de los lenguajes de programacin tienen caractersticas bsicas 
similares. Si est familiarizado con un lenguaje de programacin, puede 
traducir fcilmente estos conocimientos a otro lenguaje de programacin. Elija 
un elemento de los que aparecen abajo para ver una comparacin entre Visual 
FoxPro, BASIC, C/C++, y Pascal.

Para comparar	Vea
Cundo el lenguaje distingue maysculas de minsculas	Distincin entre 
maysculas y minsculas
Cmo declarar variables	Declaracin de variables
Cmo insertar comentarios en programas	Comentarios
Cmo almacenar valores en variables	Instrucciones de asignacin
La estructura de instrucciones IF	Instrucciones IF
La estructura de instrucciones CASE	Instrucciones CASE
La estructura de bucles FOR	Bucles FOR
La estructura de bucles WHILE	Bucles WHILE
Cmo pasar parmetros por valor	Paso de parmetros por valor
Cmo pasar parmetros por referencia	Paso de parmetros por referencia

Pginas de cdigos compatibles con Visual FoxPro
Una pgina de cdigos es un conjunto de caracteres especfico de un lenguaje o 
de una plataforma hardware. Los caracteres acentuados no estn representados 
por los mismos valores en distintas plataformas y pginas de cdigos. Adems, 
algunos caracteres que estn disponibles en una pgina de cdigos no lo estn 
en otra.

Pgina de cdigos	
Plataforma	
Identificador de pgina de cdigo
437	MS-DOS U.S. 	x01
620 1	MS-DOS Mazovia (Polaco)	x69
737 1	MS-DOS (437G) Griego	x6A
850	MS-DOS Internacional	x02
852	MS-DOS de Europa Oriental	x64
861	MS-DOS Islands	x67
865	MS-DOS Nrdico	x66
866	MS-DOS Ruso	x65
895 1	MS-DOS Kamenicky (Checo)	x68
857	MS-DOS Turco	x6B
1250	Windows de Europa Oriental	xC8
1251	Windows Ruso	xC9
1252	Windows ANSI	x03
1253	Windows Griego	xCB
1254	Windows Turco	xCA
10000	Macintosh Estndar	x04
10006	Macintosh Griego	x98
10007 1	Macintosh Ruso	x96
10029	Macintosh EE	x97
1 No detectado cuando incluye CODEPAGE=AUTO en su archivo de 
configuracin.

Extensiones de archivo y tipos de archivo
Esta tabla presenta las extensiones y sus tipos de archivos asociados que se 
usan con Visual FoxPro.

Extensin	Tipo de archivo
.ACT	Diagrama de accin del Asistente para documentacin
.APP	Aplicacin generada
.CDX	ndice compuesto
.DBC	Base de datos
.DBF	Tabla
.DCT	Memo de base de datos
.DCX	ndice de base de datos
.DLL	Biblioteca de vnculos dinmicos de Windows
.ERR	Error de compilacin
.ESL	Biblioteca de compatibilidad de Visual FoxPro
.EXE	Programa ejecutable
.FKY	Macro
.FLL	Biblioteca de vnculos dinmicos de FoxPro
.FMT	Archivo de formato
.FPT	Memo de tabla
.FRT	Memo de informe
.FRX	Informe
.FXP	Programa compilado
.H	Archivo de encabezado (para incluir en un programa de Visual FoxPro o 
C/C++)
.HLP	Ayuda grfica
.IDX	ndice, ndice compacto
.LBT	Memo de etiqueta
.LBX	Etiqueta
.LST	Lista del Asistente para documentacin
.MEM	Variables guardadas
.MNT	Memo de men
.MNX	Men
.MPR	Programa de men generado
.MPX	Programa de men compilado
.OCX	Control OLE
.PJT	Memo de proyecto
.PJX	Proyecto
.PRG	Programa
.QPR	Programa de consulta generado
.QPX	Programa de consulta compilado
.SCT	Memo de formulario
.SCX	Formulario
.SPR	Programa de pantalla generado (slo en versiones anteriores de FoxPro)
.SPX	Programa de pantalla compilado (slo versiones anteriores de FoxPro)
.TBK	Copia de seguridad de memo
.TXT	Texto
.VCT	Memo de biblioteca de clases visuales
.VCX	Memo de biblioteca de clases visuales
.VUE	Presentacin de FoxPro 2.x
.WIN	Archivo de ventana

Mtodos abreviados del teclado
Las tablas de este tema muestran los mtodos abreviados de Visual FoxPro 
para ejecutar comandos de men, manipular ventanas, acceder a la Ayuda, y 
usar definiciones de macro predefinidas.

Comandos de men

Teclas de 
mtodo 
abreviado	

Comando	

Sirve para
CTRL+A	Seleccionar todo (Men Edicin)	Editar texto
CTRL+C	Copiar (Men Edicin)	
CTRL+D	Ejecutar (Men Programa)	
CTRL+E	Eliminar elemento (Men Men)	Disear mens
CTRL+E	Ejecutar <programa> (Men Programa)	Programas
CTRL+F	Buscar (Men Edicin)	
CTRL+H	Cambiar tamao de particiones (Men Tabla)	Ventanas 
Examinar 
CTRL+I	Insertar elemento (Men Men)	Disear mens
CTRL+J	Informacin del proyecto (Men Proyecto)	Proyectos
CTRL+L	Reemplazar (Men Edicin)	
CTRL+M	Reanudar (Men Programa)	Programas
CTRL+N	Nuevo (Men Archivo)	
CTRL+O	Abrir (Men Archivo)	
CTRL+P	Imprimir (Men Archivo)	
CTRL+Q	Ejecutar consulta (Men Consulta)	Consultas
Cuando el Diseador de consultas no est activo, CTRL+Q cierra la ventana 
activa o el cuadro dilogo.
CTRL+R	Rehacer (Men Edicin)	
CTRL+S	Guardar (Men Archivo)	
CTRL+T	Alternar marca de eliminacin (Men Tabla)	Ventanas 
Examinar 
CTRL+V	Pegar (Men Edicin)	
CTRL+W	Cierra la ventana de Texto actual o el cuadro de dilogo y guarda 
los cambios.	
CTRL+X	Cortar (Men Edicin)	
CTRL+Y	Agregar nuevo registro (Men Tabla)	Ventanas Examinar
CTRL+Z	Deshacer (Men Edicin)	
Manipulacin de ventanas

Teclas de mtodo
abreviado	
Accin
CTRL+F1	Recorre las ventanas
CTRL+F2	Muestra la ventana Comandos
CTRL+F4	Cierra la ventana activa
CTRL+F5	Restaura una ventana maximizada
CTRL+F6	Recorre las ventanas
CTRL+F7	Mueve la ventana activa
CTRL+F8	Ajusta el tamao de la ventana activa
CTRL+F9	Minimiza la ventana activa
CTRL+F10	Maximiza la ventana activa
CTRL+ALT+SHIFT	Oculta todas las ventanas secundarias mientras las 
teclas estn presionadas. Ocultar las ventanas hace ms fcil ver la salida que 
se presenta en la ventana principal de la aplicacin.
Ayuda

F1	Muestra el ndice de la Ayuda o Ayuda interactiva sobre elementos 
activos (por ejemplo, una palabra clave resaltada en la ventana Comandos o la 
propiedad actual de la ventana Propiedades).
SHIFT+F1	Activa la Ayuda interactiva solicitada por el usuario. El puntero 
de insercin cambia a un signo de interrogacin de forma que se puede hacer 
clic en un elemento (por ejemplo, un comando de men o una barra de 
herramientas) para mostrar Ayuda interactiva.
Ventana Propiedades

CTRL+ALT+letra	Selecciona la siguiente propiedad en la lista de 
propiedades que comienza con el carcter de letra. Por ejemplo, presionar 
CTRL+ALT+B selecciona la prxima propiedad que comience por B.
CTRL+PAGE DOWN	Moverse al siguiente objeto de la lista desplegable 
Objetos.
CTRL+PAGE UP	Moverse al objeto anterior de la lista desplegable Objetos.
CTRL+END	Moverse al ltimo objeto de la lista desplegable Objetos.
CTRL+HOME	Moverse al primer objeto de la lista desplegable Objetos.
Definiciones de macros predefinidas

F2	SET
F3	LIST
F4	DIRECTORY
F5	DISPLAY STRUCTURE
F6	DISPLAY STATUS
F7	DISPLAY MEMORY
F8	DISPLAY
F9	APPEND
Nota   Las definiciones de macro se aplican a la ventana Comandos. Se pueden 
cambiar las definiciones de macro con el comando Macros del men 
Herramientas.

Capacidades del sistema de Visual FoxPro
Algunas capacidades pueden verse limitadas por la disponibilidad de memoria.

Categora	Caracterstica	Nmero
Archivos de tabla y de ndice
Nmero mximo de registros por archivo de tabla	1000 millones
Tamao mximo de un archivo de tabla	2 gigabytes
Nmero mximo de caracteres por registro	65.500
Nmero mximo de campos por registro	255
Nmero mximo de tablas abiertas a la vez	2551
caracteres por campo de tabla	254
Nmero mximo de bytes por clave de ndice en un ndice no compacto 2	100
Nmero mximo de bytes por clave de ndice en un ndice compacto 2	240
Nmero mximo de archivos de ndice abiertos por tabla	sin lmite1
Nmero mximo de ndices abiertos en todas las reas de trabajo	sin lmite1
Nmero mximo de relaciones	sin lmite
Longitud mxima de expresiones relacionales	sin lmite
Caractersticas de campo
Tamao mximo de campos de caracteres	254
Tamao mximo de campos numricos (y Float)	20
Nmero mximo de caracteres en nombres de campos de una tabla libre	10
Nmero mximo de caracteres en nombres de campo de una tabla contenida en 
una base de datos	128
Valor mnimo de un entero	-2.147.483.647
Valor mximo de un entero	2.147.483.647
Dgitos de precisin en clculos numricos	16
Variables de memoria y matrices
Nmero predefinido de variables de memoria	1.024
Nmero mximo de variables de memoria	65.000
Nmero mximo de matrices	65.000
Nmero mximo de elementos por matriz	65.000
Archivos de programas y procedimientos
Nmero mximo de lneas en archivos de programa fuente	sin lmite
Tamao mximo de mdulos de programa compilados 3	64K
Nmero mximo de procedimientos por archivo	sin lmite
Nmero mximo de llamadas DO anidadas	128
Nmero mximo de llamadas DO anidadas	5
Nmero mximo de comandos de programacin estructurada anidados	384
Nmero mximo de parmetros transferidos	27
Nmero mximo de transacciones	5
Capacidades del diseador de informes
Nmero mximo de objetos en una definicin de informes	sin lmite1
Longitud mxima de una definicin de informe	20 pulgadas (50,8 centmetros)
Nmero mximo de niveles de agrupamiento	128
Otras capacidades
Nmero mximo de ventanas abiertas (de todos los tipos)	sin lmite1
Nmero mximo de ventanas Examinar abiertas	255
Nmero mximo de caracteres por cadena de caracteres	2 gigabytes
lnea de comando	8.192
Nmero mximo de caracteres por control etiqueta en un informe	252
Nmero mximo de caracteres por lnea de subst. de macro	8.192
Nmero mximo de archivos abiertos	Lmite del sistema
Nmero mximo de pulsaciones en macro de teclado	1.024
Nmero mximo de campos que se pueden seleccionar mediante una 
instruccin SQL SELECT	255
1 Limitado por memoria y controladores de archivo disponibles. Los archivos 
.CDX slo usan un controlador de archivo.2 Si en la secuencia de ordenacin 
est establecido MACHINE, cada carcter utiliza un byte. Si en la secuencia de 
ordenacin no est establecido MACHINE, cada carcter utiliza dos bytes. Si 
el campo indexado admite valores nulos, se utiliza un byte adicional en la 
clave del ndice. Observe que los ndices no machine son siempre compactos.3 
Un mdulo de programa es un procedimiento. Un programa o aplicacin puede 
contener un nmero ilimitado de mdulos de programa.

DISEADORES:
Diseador de clases
Utilice el Diseador de clases para crear y modificar visualmente clases. 
Cuando la ventana del Diseador de clases est activa, Visual FoxPro muestra 
el men Clase. El men Ver le permite abrir herramientas complementarias de 
generacin de clases, como la ventana Propiedades, y la barra de herramientas 
Controles de formularios y la barra de herramientas Distribucin.
Las clases se almacenan en archivos (.VCX) de biblioteca de clases. Para 
modificar ms de una clase, debe abrir mltiples Generadores de clases al 
mismo tiempo.

La ventana Diseador de clases consta de:

La ventana Clase   Muestra una sola clase. La ventana Clase est acoplada en 
la esquina superior izquierda del Diseador de clases y no puede moverse, a 
menos que la ventana contenga los tipos de barra de herramientas.
Formulario   Especifica el formulario activo dentro de un conjunto de 
formularios
. El cuadro Formulario slo est activo cuando el tipo de clase que se est 
modificando es FormSet.
Pgina   Especifica la pgina activa dentro de un marco de pgina. El cuadro 
Pgina slo se activa cuando el tipo de clase que se est modificando es 
PageFrame.

Diseador de conexiones
Utilice el Generador de conexiones para crear y modificar conexiones con 
nombre. Como las conexiones se almacenan como parte de una base de datos, 
slo puede utilizar el Diseador de conexiones si tiene abierta una base de 
datos.
Para obtener ms informacin acerca de crear conexiones, vea "Definir una 
conexin" en el Captulo 8, "Crear vistas," en el Manual del programador.


Opciones de la ventana
Especificar origen de datos

Origen de datos, ID de usuario, contrasea   Especifica que Visual FoxPro 
muestre los tres cuadros siguientes:

	Origen de datos   Le permite elegir un origen de datos de una lista de 
fuentes de datos ODBC instaladas.
	Id. de usuario   Le permite introducir un nombre de usuario o Id. si el 
origen de datos requiere uno.
	Contrasea   Le permite introducir una contrasea si el origen de datos 
requiere uno.
	Base de datos   Le permite elegir una base de datos a la que conectar el 
origen de datos seleccionado.

Cadena de conexin   Especifica que Visual FoxPro muestre el cuadro Cadena 
de conexin, en el cual usted escribe la cadena de conexin.

Comprobar conexin   Le permite comprobar la conexin para la que ha 
introducido informacin. Si la conexin se realiz correctamente, aparece un 
cuadro de dilogo para indicarlo. Si la conexin no tuvo xito, aparece un 
mensaje de error. Si no se ha especificado informacin para la conexin, 
aparece el cuadro de dilogo Seleccionar base de datos, que le permite 
seleccionar un origen de datos.

Nuevo origen de datos   Presenta el cuadro de dilogo Orgenes de datos, que 
le permite agregar, eliminar o configurar orgenes de datos.

Mostrar instrucciones de inicio de sesin ODBC

Cuando no se especifica la informacin de inicio de sesin   Especifica que 
Visual FoxPro muestre al usuario el cuadro de dilogo ID de usuario del origen 
de datos ODBC si el ID de usuario y la contrasea no se almacenan en la 
definicin de la conexin con nombre.

Siempre   Especifica que Visual FoxPro muestre siempre el cuadro de dialogo 
ID de usuario del origen de datos ODBC lo cual permite al usuario utilizar un 
identificador de usuario y una contrasea diferentes de los que se almacenaron 
con la conexin con nombre.

Nunca   Especifica que Visual FoxPro no solicite nunca el usuario. Esta opcin 
proporciona la mayor seguridad.

Proceso de datos

Estas opciones corresponden a las propiedades de conexin que puede 
establecer tambin con la funcin DBSETPROP( ). Para obtener ms 
informacin acerca de estas propiedades, vea "Propiedades de conexin" en la 
funcin DBGETPROP( ).

Ejecucin asncrona   Especifica una conexin asncrona. Esta opcin 
corresponde a la propiedad de conexin Asynchronous.

Mostrar avisos   Especifica la visualizacin de avisos no interceptables. Esta 
opcin corresponde a la propiedad de conexin DispWarnings.

Proceso por lotes   Especifica que la conexin opera en modo de proceso por 
lotes. Esta opcin corresponde a la propiedad de conexin "BatchMode".

Transacciones automticas   Especifica que el proceso de transacciones se 
controla automticamente. Esta opcin corresponde a la propiedad de conexin 
Transactions.

Tamao del paquete   Le permite especificar el tamao de paquete de red (en 
bytes) para la informacin transmitida a y desde el sitio remoto de datos. 
Seleccione una opcin de la lista desplegable o escriba un valor.

Intervalos de tiempo de espera

Estas opciones establecen los valores para las propiedades de conexin que 
puede configurar tambin con la funcin DBSETPROP( ). Para obtener ms 
informacin acerca de estas propiedades, vea Propiedades de conexin en la 
funcin DBGETPROP( ).

Conexin (segundos)   Especifica el intervalo de tiempo de espera de conexin 
en segundos. Esta opcin corresponde a la propiedad de conexin 
ConnectTimeout.

Consulta (segundos)   Especifica el intervalo de tiempo de espera de consulta 
en segundos. Esta opcin corresponde a la propiedad de conexin 
QueryTimeout.

Inactivo (minutos)   Especifica el intervalo de tiempo de espera de inactividad 
en minutos. Las conexiones activas se desactivas tras el intervalo de espera 
especificado. Esta opcin corresponde a la propiedad de conexin IdleTimeout.

Tiempo de espera (ms.)   Especifica la cantidad de tiempo en milisegundos que 
se espera antes de que Visual FoxPro determine si la instruccin SQL ha 
completado su ejecucin. Esta opcin corresponde a la propiedad de conexin 
WaitTime.

Diseador de bases de datos
El Diseador de bases de datos muestra todas las tablas, vistas y relaciones 
contenidas en una base de datos. Cuando la ventana del Diseador de bases de 
datos est activa, Visual FoxPro muestra el men Base de datos y la barra de 
herramientas Diseador de bases de datos.
Cada tabla se representa por una ventana dimensionable que muestra los 
campos de la tabla y los ndices, si existe alguno. El Diseador de bases de 
datos muestra las relaciones persistentes mostrando lneas entre las tablas que 
conectan los ndices.

Puede colocar las tablas y las vistas arrastrndolas a su lugar o utilizando el 
comando Organizar del men Base de datos. Si desea mostrar u ocultar objetos 
en la ventana, puede utilizar el comando Propiedades del men Base de datos.

Diseador de formularios
Utilice el Diseador de formularios para crear y modificar visualmente 
formularios y conjuntos de formularios. Un conjunto de formularios consta de 
uno o ms formularios que pueden manipularse como una unidad. Los 
formularios y conjuntos de formularios son objetos con sus propias 
propiedades, eventos y mtodos.
Cuando la ventana del Diseador de formularios est activa, Visual FoxPro 
muestra el men Formulario, la barra de herramientas Controles de 
formularios, el Diseador de formularios y la ventana Propiedades.

La ventana del Diseador de formularios consta de:










Ventana Formulario   Contiene un formulario sencillo en el cual puede agregar 
y modificar controles. Se muestra ms de una ventana de formulario en el 
Diseador de 


formularios cuando modifica un conjunto de formularios que contiene 
mltiples formularios. Las ventanas Formulario pueden moverse por el 
Diseador de formularios.
Formulario   Especifica el formulario activo dentro de un conjunto de 
formularios. La lista desplegable Formulario slo se activa cuando el 
Diseador de formularios contiene un conjunto de formularios.

Ventana de propiedades





Barra de diseos visuales




Barra de herramientas





Pgina   Especifica la pgina activa dentro de un marco de pgina. El cuadro 
Pgina slo se activa cuando el tipo de control que se est modificando es un 
marco de pgina.

Diseadores de mens y mens emergentes.
Utilice el Diseador de mens y el Diseador de mens emergentes para crear 
mens, elementos de men, submens de elementos de men, lneas que 
separen grupos de elementos de men relacionados, etc. Con el Diseador de 
mens y el Diseador de mens emergentes, puede personalizar su copia de 
Visual FoxPro o generar mens para las aplicaciones que piensa distribuir.
Los Diseadores de mens y mens emergentes constan de:

Indicador   Le permite especificar los ttulos de men y los elementos de men 
de su sistema de mens.
Control Mover   Este es el botn con la flecha de doble punta que aparece a la 
izquierda de la columna "Indicador". Permite una colocacin visual de los 
elementos de men en tiempo de diseo.
Accin   Le permite especificar la accin que ocurre cuando elige el ttulo de 
men o el elemento de men. Por ejemplo, puede ejecutar un comando, abrir 
un submen, o ejecutar un procedimiento.

Crear   Le permite especificar un submen o procedimiento para un ttulo de 
men o elemento de men.
Editar   Le permite cambiar un submen o procedimiento asociado con un 
ttulo de men o elemento de men.
Opciones   Muestra el cuadro de dilogo Opciones de la accin, en el cual 
puede definir el mtodo abreviado de teclado y otras opciones de men.
Nivel de men   Le permite elegir el men o submen con el que desea 
trabajar.

Vista previa   Muestra el men que est creando.

Elemento

Insertar   Inserta una nueva fila en la ventana del Diseador de mens.
Insertar barra   Presenta el cuadro de dilogo Insertar barra de mens del 
sistema, que le permite insertar elementos de men estndar de Visual FoxPro.
Eliminar   Elimina la fila actual del Diseador de mens.


Diseadores de consultas y vistas
Utilice los Diseadores de consultas y de vistas para crear y modificar 
consultas y de vistas. Cuando se activa el Diseador de consultas o el 
Diseador de vistas, Visual FoxPro muestra el men Consulta y la barra de 
herramientas Consulta o bien la barra de herramientas Diseador de vistas.
El panel superior del diseador muestra las tablas de la consulta o vista. Cada 
tabla se representa por una ventana dimensionable que muestra los campos de 
las tablas y los ndices. El generador muestra las condiciones de combinacin 
mostrando lneas que conectan los campos entre las tablas. Puede arrastrar 
campos indexados entre las tablas para crear condiciones de combinacin. 
Haga doble clic en una lnea para mostrar el cuadro de dilogo Condicin de 
combinacin para editar la condicin.

Opciones de la ficha

Campos   Especifica los campos, las funciones que desea agregar, como SUM 
o COUNT, u otras expresiones.
Combinacin   Especifica expresiones de combinacin para registros 
coincidentes entre dos o ms tablas o vistas.
Filtro   Especifica condiciones para seleccionar registros, tales como valores 
especficos en un campo o condiciones de combinacin que definen relaciones 
temporales entre tablas.
Ordenar por   Especifica los campos, las funciones agregadas como SUM o 
COUNT, u otras expresiones que se utilizan para configurar el orden de los 
registros seleccionados en la consulta.

Agrupar por   Especifica los campos, las funciones agregadas como SUM o 
COUNT, u otras expresiones que se utilizan para combinar registros en un 
grupo basado en idnticos valores en esos campos.
Criterios de actualizacin   Especifica las condiciones bajo las que se 
actualizan las vistas (Solamente en el Diseador de vistas).
Varios   Especifica si se deben recuperar los duplicados y lmites en los 
registros tales como la cantidad superior o porcentajes.

Diseador de informes
Utilice el Diseador de informes para crear y modificar informes. Cuando la 
ventana del Diseador de informes est activa, Visual FoxPro muestra el men 
Informe y la barra de herramientas Controles de informes.
Para crear rpidamente una distribucin simple de informe, elija Informe 
rpido del men Informe. Informe rpido le solicita la entrada de los campos y 
la distribucin que desea para su informe.


Opciones de la ventana
Bandas

De forma predeterminada, el Diseador de informes muestra tres bandas:: 
Encabezado de pgina, Detalle y Pie de pgina. En la parte inferior de cada 
banda hay una barra separadora. El nombre de la banda aparece en la barra gris 
junto a una flecha azul, que indica que la banda est encima, no debajo, de la 
barra gris.
Puede agregar las siguientes bandas a su informe.

Banda	Se imprime	Contenido tpico
Encabezado de columna	Una vez por columna	Ttulo de columna
Pie de columna	Una vez por columna	Resumen, totales
Encabezado de grupo	Una vez por grupo	Precede los datos siguientes
Pie de grupo	Una vez por grupo	Valores calculados para grupos de datos
Ttulo	Una vez por informe	Ttulo
Fecha o nmero de pgina
Logotipo de la compaa
Cuadro alrededor del ttulo
Resumen	Una vez por informe	Totales 
Texto como Suma total
Regla

El Diseador de informes tiene una regla vertical y otra horizontal que puede 
utilizar para colocar de forma ms precisa los objetos en las bandas. Utilice las 
reglas junto con el comando Mostrar posicin del men Ver para ayudarle en 
la colocacin de los objetos.
La escala de la regla viene determinada por las configuraciones de medidas de 
su sistema. Puede cambiar de la escala predeterminada del sistema (pulgadas o 
centmetros) a pxeles desde dentro de Visual FoxPro. Si desea cambiar al 
valor predeterminado del sistema, cambie la configuracin de medidas de su 
sistema operativo. 

Para cambiar la escala de la regla

Cambie esta unidad a pxeles haciendo lo siguiente:

1	Desde el men Formato elija Configurar cuadrcula. Se muestra el 
cuadro de dilogo Configurar cuadrcula.
2	En el cuadro Escala de la regla seleccione Pxeles y elija Aceptar.

La escala de la regla se configura a pxeles, y el indicador de posicin de la 
barra de estado (si est activado Mostrar posicin en el men Ver) tambin 
muestra las posiciones en pxeles.
