Вы находитесь на странице: 1из 43

1 - El entorno de desarrollo de Visual FoxPro

Introduccin
Visual FoxPro es uno de los gestores de bases de datos relacionales ms rpidos y flexibles
del mercado, disponiendo de un completo entorno de desarrollo totalmente orientado al objeto y
altamente integrado en el sistema operativo Windows. Como cualquier otra aplicacin Windows
estndar, Visual FoxPro soporta interfaces MDI, formularios acoplables, barras de herramientas,
ayuda sensible al contexto, mltiples fuentes, acceso a servicios Web, etc.
Aparte del acceso a tablas en formato nativo de Visual FoxPro, se puede acceder virtualmente a
cualquier fuente de datos cuyo acceso se pueda hacer a travs de ODBC (Open Database
Connectivity) o bien, OLEDB. Este estndar, definido como Conectividad Abierta de Bases de
Datos, permite abrir y consultar diversas bases de datos a travs de un conjunto de controladores,
utilizando SQL como lenguaje de consulta.

El entorno de desarrollo
Toda la interfaz de desarrollo incorporada por Visual FoxPro est orientado a la generacin
rpida de aplicaciones (Rapid Application Development). El objetivo final es la generacin de
aplicaciones seguras en un tiempo razonablemente pequeo. Todo esto se consigue dejando que el
trabajo a bajo nivel lo efecte el sistema, quedando para el programador el diseo del aspecto visual
y el anlisis de la aplicacin. Para conseguir este fin, Visual FoxPro incorpora el siguiente conjunto
de herramientas:

Administrador de proyectos
Visual FoxPro incorpora un potente gestor de proyectos que centraliza la administracin de
todos los archivos manejados por una aplicacin. A partir de la informacin contenida en un
proyecto se generan las aplicaciones que pueden ser distribuidas libremente a todos los
usuarios. Adems, Visual FoxPro incorpora una versin reducida de InstallShield,
herramienta que asiste al programador para crear instalaciones que incluyan toda la
informacin necesaria para instalar esta aplicacin en otros ordenadores.

Diseador de bases de datos


Como apoyo al sistema, incorpora un potente diseador de bases de datos. Esta
herramienta maneja bases de datos que actan como contenedor de informacin adicional
relacionada con tablas, ndices, relaciones, reglas de validacin, integridad referencial y un
sinnmero ms de datos. De esta forma una base de datos mantiene actualizada y
centralizada toda la informacin acerca del comportamiento de las tablas que con ella estn
relacionadas. Por ejemplo, cada vez que se modifica un registro en una tabla perteneciente
a una base de datos, se comprueban las reglas de modificacin para esta tabla. Si por
cualquier razn no es posible actualizar la tabla porque una de las reglas de validacin ha
fallado, se devuelve la tabla a su estado original advirtiendo por supuesto al usuario de esta
eventualidad.

Diseador de formularios
Totalmente orientados al objeto, permiten disear el aspecto grfico final de una aplicacin.
Permiten la inclusin de objetos estndar en Windows, tales como casillas de verificacin,
grupos de opciones, marcos de pgina, imgenes, controles Activex. Gracias al diseador
de clases visuales, se pueden crear nuevos tipos de controles que pueden ser incorporados
como cualquier otro control a un formulario.
Gestionan de forma transparente al usuario el entorno de datos asociado para cada
formulario. En este entorno de datos es posible incluir cualquier tabla, vista local o remota
definida en una base de datos. Pero no solo eso, es posible que cada entorno de datos sea
privado para cada formulario. De esta forma es posible abrir varias instancias de un mismo
formulario sin que existan problemas de colisin de datos entre las dos instancias definidas.

- 1 - El entorno de desarrollo de Visual FoxPro 1 -


Diseador de informes y etiquetas
A la hora de visualizar datos ya sea por pantalla o impresora, Visual FoxPro incorpora un
potente diseador de informes y etiquetas. Dentro de un informe se pueden definir objetos
dentro de las tres bandas cabecera, pie o detalle, y, adems, distribuir el informe en varios
grupos que muestren el resultado de clculos sumatorios u otros realizados desde el propio
formulario.
A estas prestaciones hay que aadir la posibilidad de incluir en el entorno de datos del
propio informe cualquier tabla o vista definida en la base de datos, tal como se ha
comentado en referencia a los formularios.

Diseador de mens
Este diseador se utiliza para crear mens personalizados en la aplicacin y as sustituir el
men de sistema incorporado por defecto en Visual FoxPro. El sistema utilizado se basa
en la creacin de unos archivos donde se almacenan las definiciones de men. A posteriori,
la informacin contenida en estos archivos de men es analizada por un generador de
cdigo con la finalidad de generar de forma automtica un programa que genera un men a
partir de estas definiciones.

Asistentes
Para usuarios que empiezan, los asistentes pueden ayudar a crear nuevos tipos de archivos
de forma sencilla y rpida. No por ello se elimina la posibilidad de modificar los archivos
creados, ya que stos pueden ser alterados posteriormente mediante su diseador
correspondiente.
Los generadores de controles ayudan en la creacin de nuevos controles insertados en los
formularios. Estos generadores se encuentran totalmente abiertos y el usuario puede
incorporar sus propios generadores.

Diseador de consultas y vistas


Cuando se trata de recuperar informacin, los generadores de consultas y vistas
constituyen un apoyo indispensable para poder generar expresiones SQL. Si estas
sentencias extraen informacin de la propia base de datos se denominan vistas locales.
Cuando estas vistas extraen informacin de una base de datos externa se denominan vistas
remotas.

- 1 - El entorno de desarrollo de Visual FoxPro 2 -


Apariencia de la ventana de sistema
El sistema intrprete se basa en la utilizacin de la ventana de Comandos. Desde esta ventana
se escriben sentencias que usualmente provocan una accin por parte del sistema de desarrollo.
As, desde la ventana de comandos se puede abrir tablas, examinar su contenido, crear programas,
compilarlos, etc.
Aparte de la ventana de comandos, cualquier accin se puede realizar desde el men de
sistema, o bien desde la barra de herramientas activa. Es posible personalizar el men de sistema y
cualquier barra de herramientas, o incluso, crear nuevas barras de herramientas segn las
necesidades del usuario.

Figura 1 - El entorno de desarrollo

Tipos de archivos
Como se ha dicho, el proyecto guarda informacin acerca de la localizacin de cada archivo.
Como ayuda,a continuacin, se presenta una lista de las posibles extensiones asociadas con cada
tipo de archivo y una breve descripcin de cada tipo.

Tipo Extensiones Descripcin


Relacionadas
Proyecto PJX, PJT Ncleo central de desarrollo. Efecta el seguimiento a
todos los archivos relacionados con una aplicacin.
Base de datos DBC, DCX, Tabla contenedora de informacin relacionada con
DCT tablas, ndices, relaciones, vistas y conexiones.
Formulario SCX, SCT Archivos de definicin de formularios
Bibliotecas de VCX, VCT Bibliotecas conteniendo clases definidas por el
clases visuales usuario.
Tablas DBF, FPT Tablas y archivos memo asociados
Indices CDX, IDX Archivos de ndice compactos y simples

- 1 - El entorno de desarrollo de Visual FoxPro 3 -


Documentacin ACT Archivo conteniendo el diagrama de acciones de un
archivo PRG generado por el asistente de
documentacin.
Informes FRX, FRT Archivos de definicin de informes.
Etiquetas LBX, LBT Archivos de definicin de etiquetas.
Libreras DLL Librera de enlace dinmico Windows
Windows
Errores ERR Archivo de seguimiento de errores de compilacin
Ejecutable EXE Archivo ejecutable Visual FoxPro
Macros FKY Archivo de definicin de macros
Biblioteca API FLL Biblioteca de enlace dinmico Windows
Programas PRG, FXP Programa fuente y compilado
Ayuda HLP Archivo de ayuda grfica
Memoria MEM Archivo de almacenamiento de variables de memoria
Mens MNX, MNT Archivos de definicin de mens
Mens MPR, MPX Archivo generado a partir de una definicin de mens
generados y su versin compilada.
Control OLE OCX Archivo de control ActiveX
Consulta SQL QPR, QPX Archivo de consulta SQL y su versin compilada
Copias de TBK, BAK Copias de seguridad de diversos archivos
seguridad
Texto TXT Archivos de texto
Constantes H Archivo de constantes predefinidas

Administracin de archivos
Desde el men File (Archivo) se realizan las acciones relacionadas con archivos. Consta de las
siguientes opciones:

Opcin Descripcin
New (Nuevo) Crea un nuevo archivo de cualquier tipo
Open (Abrir) Abre un archivo de cualquier tipo
Close (Cerrar) Cierra el archivo en uso
Save (Guardar) Actualiza las modificaciones efectuadas al archivo actual en disco
Save as... Salva el archivo actual en disco con un nuevo nombre
(Guardar
como)
Revert (Revertir) Recupera la versin guardada en disco del archivo actual

- 1 - El entorno de desarrollo de Visual FoxPro 4 -


Cuando se desea crear un nuevo archivo, se muestra el cuadro de dilogo que vemos en la
figura siguiente. Este cuadro de dilogo permite seleccionar el tipo de archivo que se desea crear.
Existen algunos tipos de archivos que permiten su creacin mediante asistentes de modo que se
facilita enormemente la tarea de crear nuevos archivos.

Figura 2 - Eleccin del tipo de archivo nuevo

Wizards (Asistentes)
Los asistentes proporcionan el mtodo ms eficaz y sencillo de apoyo a los nuevos usuarios en
Visual FoxPro. Cubren prcticamente todos los tipos de archivos bsicos que se pueden crear,
desde tablas a formularios, pasando por informes, consultas, etc. Veamos cules son:

Asistente Descripcin
Table Crea nuevas tablas libres o definidas en
(Asistente para tablas) una base de datos. Crea archivos de
tipo DBF.
Query Crea consultas con sentencias SQL
(Asistente para consultas) almacenadas en archivos de tipo QPR.
Form Crea nuevos formularios. Crea archivos
(Asistente para formularios) de tipo SCX
One-to-Many Form Wizard Crea formularios con soporte de
(Asistente para formularios uno a varios) archivos relacionados de uno a
muchos. Crea archivos de tipo SCX.
Report Crea una nueva definicin de informe.
(Asistente para informes) El tipo de archivo creado es FRX.
Label Crea un nuevo archivo de definicin
(Asistente para etiquetas) para imprimir etiquetas postales. Crea
archivos de tipo LBX.

- 1 - El entorno de desarrollo de Visual FoxPro 5 -


Mail Merge Crea un origen de datos compatible con
(Asistente para combinacin de correspondencia) el procesador de texto Microsoft Word
o cualquier otro.
PivotTable Crea tablas de hoja de clculo
(Asistente para tablas dinmicas) utilizables desde Microsoft Excel
Import Importa datos a una tabla procedentes
(Asistente para importar datos a tablas) de otro origen.
Documenting Genera archivos de texto conteniendo
(Asistente para documentacin) informacin acerca de los archivos de
un proyecto. Permite tambin efectuar
correcciones al cdigo fuente de modo
que aplique sangras a procedimientos
o poner en maysculas elementos
reservados de cdigo.
Upsizing Crea una nueva base de datos en un
servidor SQL Server especfico de
(Asistente para convertir a SQL Server) modo que replique en la medida de lo
posible una base de datos Visual
FoxPro.
Application Crea una nueva aplicacin basada en
las especificaciones detalladas sobre
(Asistente para aplicaciones) base de datos, tablas, formularios e
informes que se han introducido
durante la ejecucin de este asistente.
Database Crea una nueva base de datos que
(Asistente para bases de datos) contiene tablas basadas en plantillas
predefinidas que se muestran como
ayuda durante la ejecucin de este
asistente.
Web Publishing Crea un nuevo documento HTML
(Asistente para publicacin en Web) presentando el contenido de una tabla o
vista.
Web Services Crea archivos WSDL o WSML a partir
(Asistente para la publicacin de servicios Web) de la informacin obtenida durante la
ejecucin de este asistente.
Application Builder Ofrece herramientas adicionales para
(Generador de aplicaciones) agregar nuevas funcionalidades en
forma de controles o formularios a una
aplicacin generada con el asistente
para aplicaciones.
Graph Crea un nuevo grfico en Microsoft
(Asistente para grficos) Graph a partir de la informacin
contenida en una tabla.
Local View Crea una nueva definicin de vista en
(Asistente para vistas locales) una base de datos. La informacin
generada por este asistente se guarda
en una base de datos DBC.
Cross-Tab Crea una consulta en formato hoja de
(Asistente para tablas de referencias cruzadas) clculo. Crea archivos de tipo QPR.
Remote View Crea una nueva definicin de vista
(Asistente para vistas remotas) remota. El fin es acceder a otro tipo de
informacin contenida a su vez en un
servidor de datos. Esta nueva vista se
almacena en una base de datos DBC.

- 1 - El entorno de desarrollo de Visual FoxPro 6 -


One-to-Many Crea una nueva definicin de informe
(Asistente para informes de uno a varios) relacionando una tabla primaria con
otra secundaria. Crea archivos de tipo
FRX.

Crear una nueva tabla mediante el asistente


Para crear una tabla mediante el Asistente para Tablas, debe proceder de alguna de estas dos
formas:
1. Desde el men Tools (Herramientas), escoja el submen Wizards (Asistentes). De este
men escoja la opcin Table (Tabla).
2. Desde el men principal escoja del men File (Archivo), la opcin New (Nuevo) CTRL-N
escoja el botn de comando New (Nuevo) de la barra de herramientas Standard
(Estndar). Observe que a continuacin se muestra el cuadro de dilogo para la eleccin
del nuevo tipo de archivo a crear. Escoja Table (Tabla) y pulse en el botn de comando
Wizard (Asistente).

El asistente genera una nueva tabla siguiendo tcitamente una serie de pasos que conducen a
confeccionar una tabla y sus ndices correspondientes.

Paso 1 - Seleccionar Campos


Este paso trata de determinar los campos que se van a definir en la nueva tabla, a partir de
unas definiciones estndar aportadas por el propio asistente. De esta forma, se puede crear
una nueva tabla basndose en tipos ms o menos ajustados a las necesidades del usuario.

Figura 3 - Seleccin de campos

- 1 - El entorno de desarrollo de Visual FoxPro 7 -


Paso 1a Seleccin de base de datos
Si no existe una base de datos abierta en el momento de ejecutar el asistente, en este paso
se puede escoger entre dejar la tabla como libre o bien agregarla a una base de datos
existente. Si se escoge dejar la tabla libre, no se podrn aprovechar las caractersticas
adicionales de su pertenencia a una base de datos, tal como poder asignar ttulos a los
nombres de los campos o establecer nombres de campos de ms de 10 caracteres.

Figura 4 Seleccin de base de datos

Paso 2 - Opciones de campos


Puede que las definiciones de campo no se ajusten exactamente a las necesidades del
usuario. Para esto existe este paso, permitiendo la modificacin de los parmetros
definitorios de un campo, como son su nombre, el ttulo, el tipo, el ancho, decimales y
soporte de valores nulos.
Bien, en cuanto al ttulo, slo hay que hacer una diferenciacin y es que si no hay una base
de datos definida y abierta en el sistema, no se puede crear o modificar un ttulo asociado a
un campo. Esta es una de las caractersticas aportadas por las bases de datos, la
posibilidad de ampliar la informacin relativa a tablas. Otro caso es el nombre del campo, si
no existe una base de datos abierta, no se puede ampliar su descripcin ms all de diez
caracteres. Como se ver mas adelante, es posible asignar nombres de campo hasta 255
caracteres.

- 1 - El entorno de desarrollo de Visual FoxPro 8 -


Figura 5 - Opciones de campos

Paso 3- Indexacin
Para poder localizar cualquier tipo de informacin de una tabla es necesario recurrir a la
creacin de ndices. Los ndices proporcionan un mtodo rpido de localizacin de registros
basndose en expresiones. La expresin a localizar se va comparando con el contenido del
ndice hasta localizar el registro cuyo valor en la clave de ndice coincide con la expresin
buscada.

- 1 - El entorno de desarrollo de Visual FoxPro 9 -


Figura 6 - Indexacin

Paso 4 - Finalizar
Una vez se han recorrido los pasos correctamente, se procede a generar una tabla.
Adicionalmente el asistente nos permite examinar la tabla tal como ha quedado o modificar
la tabla mediante el diseador de tablas para aadirle prestaciones adicionales.

Figura 7 - Finalizar asistente

Manejo de tablas
Suponiendo que hubiramos elegido la opcin Guardar la tabla y examinarla en el Asistente
para Tablas, obtendra una nueva ventana Browse (Examinar) con la nueva tabla vaca.

Figura 8 - La ventana Browse (Examinar)

- 1 - El entorno de desarrollo de Visual FoxPro 10 -


Lo que aqu vemos es una ventana tpica utilizada para examinar tablas. En este caso estamos
visualizando una tabla con registros. Dentro de la ventana distinguimos varios apartados.
1. Columnas. Dependiendo del tamao de la ventana Browse (Examinar) se muestran ms
o menos columnas. Cada columna visualiza en el encabezado el nombre del campo, o
bien, el ttulo definido en la base de datos para este campo. Usualmente, marcando en el
ttulo de un campo y arrastrndolo a una nueva posicin, modificamos el orden de
visualizacin de columnas.
2. Seleccin de celda. Para indicar en qu registro est posicionado, existe un indicador
situado a la izquierda de la primera columna visualizada. Este indicador contiene una
flecha indicando que el puntero de registro est posicionado en esa fila. Asimismo, la celda
que tiene el enfoque de lectura visualiza el cursor de edicin y est remarcada con un
cuadro cuyos bordes son ligeramente mayores que las lneas separadoras. Como se
puede observar en la figura todas las funciones de edicin estn disponibles, tales como
marcar un determinado segmento de caracteres, insertar, o incluso marcar todo el
contenido del campo.
3. Estado del registro. Adyacente al indicador de registro se encuentra el indicador de
estado de la marca de eliminacin Si el registro est marcado para borrar, este cuadro
cambia su contenido de color negro.

Opciones del men Table (Tabla)


Cuando se abre una nueva ventana Browse (Examinar), se crea un nuevo men en la barra de
mens de sistema. El men Table (Tabla), contiene las opciones bsicas para manejo de tablas.
Veamos algunas:

Aadir un nuevo registro


Elija la opcin Append New Record (Aadir nuevo registro), o bien, pulse la combinacin
de teclas CTRL+Y. Se inserta un nuevo registro en la tabla que se est examinando. Tambin
es posible aadir registros desde la ventana de comando emitiendo alguna de las
sentencias:
APPEND BLANK
APPEND

Cambiar el estado de la marca borrado


Cuando un registro ya no se hace necesario se marca como borrado. Este es el paso previo
a la eliminacin de todos los registros marcados, cuyo proceso requiere el uso del comando
PACK. Como es evidente, tambin se puede realizar esta accin como todas las dems
acciones, desde la ventana de comandos mediante la sentencia
DELETE

Otra posibilidad interesante es alternar el estado del registro utilizando un cuadro situado al
lado del marcador de registro. Pulsando alternativamente en este cuadro, modificamos el
estado de la marca de borrado.

Figura 9 Marca de registro eliminado


Otra opcin es utilizar la opcin Toggle Deletion Mark (Alternar marca de borrado) del
men Table (Tabla) o bien, pulse la combinacin de teclas CTRL+T.

- 1 - El entorno de desarrollo de Visual FoxPro 11 -


Ir a un registro determinado
Se puede ir a un registro determinado modificando la celda activa mediante el ratn y las
barras de desplazamiento vertical, o el teclado mediante los cursores. Pero tambin se
puede utilizar el submen Go to Record (Ir al registro), cuyo contenido analizado es el
siguiente:

Opcin Descripcin
Top Va al primer registro de la tabla. Desde la ventana de
(Primero) comandos habra que utilizar
GO TOP
Bottom Va al ltimo registro de la tabla. Desde la ventana de
(ltimo) comandos habr que escribir:
GO BOTTOM
Next Posiciona el puntero de registro en el siguiente registro.
(Siguiente) Obtenemos el mismo resultado que utilizar esta sentencia
desde la ventana de comandos:
SKIP 1
Previous Posiciona el puntero en el registro anterior. Desde la ventana
(Anterior) de comandos:
SKIP 1
Record # Cambia el puntero de registro a un registro especfico. Desde
(Registro nmero) la ventana de comandos habra que emitir la siguiente
sentencia:
GO nRegistro
Donde nRegistro es el nmero de registro donde se desea
posicionar el puntero de registro.
Locate Encuentra el registro que cumpla la expresin de bsqueda.
(Encontrar) Veremos ms adelante la sintaxis del comando LOCATE
utilizado por esta opcin de men.

Ajustar el tamao y posicin de un campo


Para realizar la primera accin procedemos de alguna de estas dos formas:
1. Teclado. Elegimos la opcin Ajustar el tamao de columna y mediante los cursores
derecho e izquierdo ajustamos el tamao del campo.
2. Ratn. Posicionamos el ratn en el borde derecho del ttulo de la columna advirtiendo
que la forma del cursor cambia para indicar que es posible realizar ese cambio.
Marcamos y arrastramos la longitud del campo hasta conseguir la deseada.

Modificar la posicin de un campo se puede realizar de alguna de estas dos formas:


1. Teclado. Elegimos la opcin Mover campo y mediante los cursores derecho e izquierdo
elegimos la nueva posicin del campo.
2. Ratn. Posicionamos el ratn en el ttulo de la columna advirtiendo que la forma del
cursor cambia para indicar que es posible realizar ese cambio. Marcamos en el ttulo del
campo y arrastramos ste hasta su nueva posicin.

- 1 - El entorno de desarrollo de Visual FoxPro 12 -


Edicin de registros interactivo
Desde la ventana de comandos se pueden utilizar estos comandos para abrir la ventana Browse
(Examinar) y realizar modificaciones en cualquier tabla.

Comando / Funcin Descripcin


APPEND [BLANK] Abre la ventana Cambiar para aadir registros a
[IN nreaTrabajo | cAliasTabla] una tabla interactivamente
[NOMENU]
BROWSE y CHANGE/EDIT Abren las ventanas Browse (Examinar) y Change
(Cambiar), respectivamente.
MODIFY GENERAL CampoGeneral1 [, Abre una nueva ventana para poder editar una
CampoGeneral2 ...] campo de tipo General.
[NOMODIFY]
[NOWAIT]
[ [WINDOW NombreVentana1]
[IN [WINDOW] NombreVentana2 |
IN SCREEN] ]
MODIFY MEMO CampoMemo1 Abre una nueva ventana para permitir editar un
[, CampoMemo2 ...] campo de tipo memo.
[NOEDIT]
[NOMENU]
[NOWAIT]
[RANGE nCarcterInicial,
nCarcterFinal]
[ [WINDOW NombreVentana1]
[IN [WINDOW] NombreVentana2 |
IN SCREEN] ]
[SAME]
[SAVE]

Bsqueda de registros
Al realizar una consulta en busca de uno o varios registros que cumplan los criterios de
bsqueda en una tabla, es necesario aclarar algunos conceptos bsicos. Por una parte el mbito
donde se va a realizar la consulta, que puede restringirse a todos los registros de la tabla, los 10
siguientes, o cualquier otra combinacin vlida.
Por otra parte existe el concepto de expresin de bsqueda. Una expresin de bsqueda se
evala y compara con el registro activo. Si no se cumple la expresin de bsqueda, contina con el
siguiente registro y as hasta llegar al final de la tabla. Se puede comprobar si una bsqueda ha
tenido xito observando en qu posicin se encuentra el puntero de registro.
Por ltimo, esta bsqueda contina mientras se cumpla una segunda expresin. Es decir, se
recorre toda la tabla mientras esta expresin sea verdadera, en cuanto evale a falsa, finaliza la
bsqueda aunque no haya recorrido toda la tabla.
Cuando se elige la opcin Locate (Encontrar) del submen, Go to Record (Ir al Registro), se
visualiza el siguiente cuadro de dilogo que resume los tres conceptos que se acaban de perfilar. La
utilidad de este cuadro de dilogo es construir a partir de la informacin introducida en este cuadro
de dilogo una sentencia completa utilizando el comando LOCATE. Por tanto, lo que vaya
introduciendo en este cuadro de dilogo se incorporar como argumento tras el comando LOCATE.
Cuando se pulse en el botn de comando Locate (Encontrar), la sentencia LOCATE se emite
desde la ventana de Comandos.

- 1 - El entorno de desarrollo de Visual FoxPro 13 -


Figura 10 - Opciones de seleccin de registro

Veamos estos conceptos aplicados a la bsqueda de registros.

Scope (Alcance)
El alcance delimita la cantidad de registros que se van a procesar e incluso desde y
hasta qu registro va a cubrir la bsqueda. Cuando se aceptan las modificaciones
introducidas en este cuadro de dilogo se aaden los argumentos necesarios en la
sentencia LOCATE.

Alcance Argumento Descripcin


All ALL Incluye la totalidad de los registros en la bsqueda.
(Todos) El lmite de bsqueda va desde el registro nmero 1
hasta el ltimo.
Next NEXT n Incluye slo los n registros siguientes al actual en la
(Siguientes) bsqueda. Es decir, especificando 10 en el cuadro
de texto, incluir slo los 10 siguientes registros a
partir del actual en la bsqueda. Por tanto, el lmite
se centra desde el registro actual hasta el nmero de
registros especificados.
Record RECORD n La bsqueda se limita nicamente al nmero de
(Registro) registro especificado por este cuadro de texto.
Rest REST Comienza la bsqueda a partir del registro actual y
(Restantes) contina hasta el final de la tabla. Por tanto, el
intervalo de bsqueda se limita desde el registro
actual al ltimo de la tabla.

- 1 - El entorno de desarrollo de Visual FoxPro 14 -


Clusula FOR
Este es el ncleo bsico de toda sentencia de bsqueda. Veremos que hay multitud
de comandos que pueden incorporar esta clusula para delimitar aquellos registros
que cumplen los criterios especificados por sta.
Cuando se elige este botn de comando, se activa el cuadro de dilogo
Expression Builder (Generador de expresiones) de Visual FoxPro. Esta es una
herramienta de gran utilidad para la construccin de expresiones desde la ms
simple, hasta la ms compleja. Veremos el generador de expresiones ms
ampliamente en secciones siguientes.

Figura 11 - Generador de expresiones

Clusula WHILE
La seleccin de registros efectuada mediante la clusula FOR se refiere a toda la
tabla por completo y en eso precisamente se diferencia de la clusula WHILE. Esta
clusula restringe el mbito de bsqueda a que la expresin lgica incluida con
esta clusula sea cierta. En el momento en que no se cumpla la expresin el
comando que incluya esta clusula finaliza inmediatamente.
Por esta razn se puede decir que en este caso la bsqueda se realizara mientras
se cumpliera la clusula WHILE, finalizando la bsqueda cuando no se cumpliera,
aunque no se hubiera recorrido toda la tabla.

- 1 - El entorno de desarrollo de Visual FoxPro 15 -


La ventana Data Session (Sesin de Datos)
Este cuadro de dilogo se utiliza como administrador para las tablas abiertas en cada una de las
sesiones de datos (1 en la Figura 12). Consta de dos cuadros de lista que visualizan por una parte
las tablas abiertas (2 en la Figura 12) y por otra parte las relaciones establecidas entre ellas (3 en la
Figura 12). Cada tabla tiene asociadas una serie de propiedades a las cuales es posible acceder
desde el botn de comando Properties (Propiedades). Asimismo, es posible abrir, cerrar tablas o
establecer nuevas relaciones entre las tablas abiertas, mediante los botones de comando Open
(Abrir), Close (Cerrar) y Relations (Relaciones), respectivamente. Pero la funcin primordial
puede ser la de examinar el contenido de la tabla seleccionada en el cuadro de lista Aliases (Alias)
utilizando el botn de comando Browse (Examinar). La particularidad de esta opcin reside en que
se recupera el estado en que se cerr la ventana Browse (Examinar) para esa tabla la ltima vez,
incluyendo tamao y posicin de la ventana, o el tipo y tamao de la fuente utilizada.

Figura 12 - La ventana Data Session (Sesin de Datos)

Modificar las propiedades de la tabla


Cuando se pulsa el botn de comando Properties (Propiedades), se accede al cuadro de
dilogo utilizado para modificar las propiedades de la tabla abierta en el rea de trabajo
actual. Entre las opciones que se pueden controlar desde este cuadro de dilogo se
encuentra la posibilidad de activar un ndice determinado mediante Index order (Orden del
ndice) (1 en la Figura 13), filtrar los registros de una tabla mediante Data filter (Filtro de
datos) (2 en la Figura 13) o restringir la informacin que se muestra en una ventana
Browse (Examinar) predeterminada mediante Field Filter (Filtro de campos) (3 en la
Figura 13).

- 1 - El entorno de desarrollo de Visual FoxPro 16 -


Figura 13 - Propiedades de tabla

Bfer de datos
El bfer de datos se activa si se elige la opcin Enable data buffering (Activar
almacenamiento en bfer de datos) (4 en la Figura 13). Esto significa que los
cambios que se efecten sobre la tabla no sern actualizados de forma inmediata,
y dependiendo del tipo de bfer de datos elegido, son potencialmente descartables
en un momento determinado.
Siempre es posible cambiar el estado del bfer de datos, y de hecho, si no se
indica lo contrario, la tabla no se abre inicialmente con ningn bfer de datos activo.
Por tanto, si se desea utilizar el bfer de datos, es necesario activarlo desde este
cuadro de dilogo, o bien, desde la ventana de comandos mediante la funcin
DBGetProp().
Seleccin de ndice
Desde este cuadro combinado (1 en la Figura 13) se elige el orden activo para el
rea de trabajo actual. Se muestran en l todas las etiquetas de ndice definidas
para esta tabla. De este modo se pueden utilizar el comando SEEK y la funcin
SEEK() para encontrar el registro que cumpla el criterio de bsqueda.
Filtro de datos
Desde el cuadro de texto o utilizando el generador de expresiones llamado al
pulsar el botn de comando generamos una expresin de filtro de datos (2 en la
Figura 13) . Esto significa que cuando abramos una ventana Browse (Examinar)
para esta tabla, slo se van a visualizar aquellos registros que cumplan la condicin
escrita aqu.
Filtro de campos
Del mismo modo que se establecen filtros para visualizar una parte de los datos
presentes en una tabla, es posible realizar una accin anloga con las columnas
definidas en una tabla (3 en la Figura 13). De este modo, slo aparecen en la
ventana Browse (Examinar) aquellas columnas pedidas en esta opcin.

Browse (Examinar)
La ventana examinar tiene una serie de caractersticas interesantes, entre las cuales
podemos destacar las siguientes:
Modificar el aspecto de las columnas

- 1 - El entorno de desarrollo de Visual FoxPro 17 -


Las columnas de datos pueden cambiar su posicin y tamao de forma que se
pueden reorganizar, guardando esta configuracin para la prxima vez que se
vuelva a consultar la misma tabla. Al hacer doble clic en la lnea que separa dos
columnas en la cabecera de ttulos de columnas, el ancho de columna se ajusta
automticamente al contenido de la misma.
Definicin de particiones
Una ventana Browse (Examinar) puede dividirse verticalmente en dos particiones.
Cada particin puede funcionar de forma independiente y presentar un aspecto
distinto. En la parte izquierda de la Figura 14 (1) observamos una vista en formato
cuadrcula tpica de una ventana Browse (Examinar). En la parte derecha (2)
observamos una ficha del registro que se est editando actualmente. Para obtener
una ventana Browse (Examinar) con este aspecto, basta con introducir la
siguiente sentencia desde la ventana de Comandos:
BROWSE REDIT PARTITION 50

Esta sentencia indica que abra una nueva ventana Browse (Examinar) en la que
la particin derecha estar en formato edicin mediante la clusula REDIT y que
establezca una particin en la columna 50 mediante la clusula PARTITION 50.

Figura 14 - Combinacin de particiones

Fuentes
Cualquier fuente definida en Windows puede utilizarse para visualizar en cualquier
tamao y tipo, informacin en una ventana Browse (Examinar).

Abrir y cerrar tablas


Estos dos botones de comando permiten abrir y cerrar tablas. Cuando se pulsa en el botn
de comando Open (Abrir) se selecciona el ltima rea de datos libre y se abre en esa rea.
Si existe una tabla seleccionada en la lista de alias activos, el botn de comando Close
(Cerrar) cierra la tabla que est en el rea de datos seleccionada en la lista.

Establecer relaciones
Si existen al menos dos tablas abiertas es posible establecer relaciones entre ambas. La
forma de establecer relaciones entre las dos consiste en hacer clic en el botn de comando
Relations (Relaciones) teniendo una de las dos seleccionada en el cuadro de lista Aliases
(Alias). En ese momento, en el cuadro de lista Relations (Relaciones) aparece la tabla
elegida.

- 1 - El entorno de desarrollo de Visual FoxPro 18 -


Para establecer una relacin entre las dos tablas es necesario saber qu campo de la tabla
principal - la que se eligi en primer lugar- hay que buscar en la tabla secundaria. Eso es
precisamente lo que se le pide al usuario cuando se establece una nueva relacin. En
primer lugar elegimos un campo de la tabla principal y a continuacin el orden activo en la
tabla secundaria. Veamos un ejemplo, utilizando como siempre la base de datos Northwind

Seleccin de tabla principal


En primer lugar se plantea la necesidad de ver los pedidos de cada cliente. Por
tanto se han de abrir las tablas Customers y Orders de la base de datos Northwind.

Figura 15 Las tablas Customer y Orders abiertas

Iniciar la relacin
En esta relacin la tabla principal es Customers, por tanto es la tabla que ha de
estar seleccionada cuando se haga clic en el botn Relations (Relaciones). El
cuadro de lista Relations (Relaciones) muestra el inicio de la secuencia de
relacin.
Al hacer clic en el botn Relations el resultado en la lista Relations (Relaciones)
es el que se muestra en la figura siguiente.

Figura 16 Inicio de una relacin

- 1 - El entorno de desarrollo de Visual FoxPro 19 -


Seleccionar el ndice de la tabla secundaria
Al intentar establecer una relacin con la tabla Orders, es necesario especificar el
ndice activo por el que va a realizar la bsqueda de la expresin que relaciona
ambas tablas. En este caso, el ndice se llama Customerid basado en el campo
customerid de la tabla Orders.

Figura 17 Establecer orden de ndice

Seleccionar la taba

El siguiente paso es especificar la expresin que va a relacionar ambas tablas.


Existe un campo que relaciona ambas tablas llamado customerid, que contiene el
identificador de cliente. Al hacer clic en la tabla Orders del cuadro de lista Aliases
(Alias) se muestra un cuadro de dilogo Expression Builder (Generador de
expresiones) de modo que se pueda introducir la expresin que relaciona ambas
tablas.

Figura 18 Expresin de relacin

Resultado

Es decir, una relacin est basada en la bsqueda de una expresin formada por
uno o ms campos de la tabla principal en la tabla secundaria cuyo ndice activo ha
de haberse construido con esta misma expresin. En este caso, el campo
customerid de la tabla Customers est estableciendo una especie de filtro en la
tabla secundaria, Orders. De modo que al seleccionar un registro determinado en la
tabla principal (Customers), slo sean visibles en la tabla secundaria (Orders)
aquellos registros que coincidan con la expresin buscada (customerid)

- 1 - El entorno de desarrollo de Visual FoxPro 20 -


Figura 19 El resultado de la relacin entre Customers y Orders

Manejar registros borrados


La eliminacin de registros puede realizarse de tres formas distintas, desde la ventana Browse
(Examinar) utilizando el marcador de registros borrados, desde la opcin Toggle Deletion Mark
(Alternar marca de eliminacin) el men Table (Tabla), o bien, mediante el comando DELETE
desde la ventana de comandos.
El efecto inmediato es que el registro actual queda marcado para borrar y se requiere la posterior
intervencin del comando PACK que elimina definitivamente de la tabla todos aquellos registros
marcados para borrar.

Recuperar registros
Se puede alternar la marca de borrado de un registro determinado. Esto se consigue de tres
formas distintas, desde la propia ventana Browse (Examinar), mediante la opcin Toggle
Deletion Mark (Alternar marca de eliminacin), presente en el men Table (Tabla) o
mediante el comando RECALL.

Eliminar un conjunto de registros


Para evitar la necesidad de ir marcando cada registro individualmente, se recurre al marcaje
de varios registros de una vez. Para ello podemos utilizar la opcin Delete Records
(Eliminar registros) del men Table (Tabla) o bien, el comando DELETE.

Eliminar registros marcados


Los registros marcados como borrados permanecen en la tabla hasta que no se invoca el
comando PACK o se utiliza la opcin Remove Deleted Records (Desmarcar registros)
del men Table (Tabla). La finalidad de este comando es eliminar fsicamente todos los
registros marcados. Despus de efectuar esta operacin no ser posible recuperar los
registros eliminados de ninguna forma.

- 1 - El entorno de desarrollo de Visual FoxPro 21 -


Uso de registros borrados
A continuacin se detallan todos los comandos y funciones relacionados con el uso de registros
borrados.

Comando / Funcin Descripcin


DELETE Borra uno o ms registros de una tabla.
[Alcance] [FOR lExpresin1] Puede utilizarse el alcance o las expresiones
[WHILE lExpresin2] FOR y WHILE para determinar el rango de
[IN nreaTrabajo | cAliasTabla] registros a borrar.
[NOOPTIMIZE]
DELETE FROM Marca registros para eliminar mediante SQL
[NombreBaseDatos!]NombreTabla
[WHERE CondicinFiltro1
[AND | OR CondicinFiltro2 ...]]
DELETED( [cAliasTabla | Indica si el registro actual est marcado para
nreaTrabajo] ) borrar
RECALL Recupera uno o ms registros marcados
[Alcance] para borrar. Puede utilizarse la clusula de
[FOR lExpresin1] alcance o las expresiones FOR y WHILE
[WHILE lExpresin2] para delimitar el rango de registros a
[NOOPTIMIZE] recuperar.

PACK [MEMO] [DBF] Elimina de la tabla activa todos los registros


marcados para borrar. Indicando la clusula
MEMO compacta el espacio utilizado por el
archivo de campos memo FPT. Si se incluye
la clusula DBF, se ignora la compactacin
del archivo memo.
SET DELETED ON | OFF Indica si los registros marcados para borrar
estn disponibles cuando se utilizan otros
comandos.
ZAP Elimina todos los registros de la tabla
[IN nreaTrabajo | cAliasTabla] especificada, estn o no marcados para
borrar.
BLANK Borra toda la informacin de uno o ms
[FIELDS ListaCampos] registros sin marcarlos para borrar.
[Alcance]
[FOR lExpresin1]
[WHILE lExpresin2]
[NOOPTIMIZE]

Reemplazar valores en campos


Mediante la ventana Browse (Examinar), tal como hemos ido viendo hasta ahora, es posible
alterar el contenido de uno o ms registros. Sin embargo, a veces se hace necesario modificar un
grupo de registros de una vez sin necesidad de ir cambiando el valor de uno en uno.
Para efectuar esta operacin encontramos la opcin Replace Field (Reemplazar campo) en el
men Table (Tabla). Esta opcin muestra un cuadro de dilogo que permite efectuar este tipo de
modificaciones masivas.

- 1 - El entorno de desarrollo de Visual FoxPro 22 -


Figura 20 - Reemplazar valores en un campo

Field (Campo)
Determina el campo en el que se va a realizar el reemplazo masivo.
With (Con)
En este cuadro de texto se especifica la expresin con la que se va a sustituir el
contenido del campo especificado anteriormente. Al pulsar en el botn de comando
situado al lado de este campo se muestra el cuadro de dilogo Expression Builder
(Generador de expresion).
Scope (Alcance)
El alcance delimita la cantidad de registros que se van a procesar e incluso desde y
hasta qu registro va a cubrir la bsqueda. Cuando se aceptan las modificaciones
introducidas en este cuadro de dilogo se aaden los argumentos necesarios en la
sentencia REPLACE.

Alcance Argumento Descripcin


All ALL Incluye la totalidad de los registros en la bsqueda.
(Todos) El lmite de bsqueda va desde el registro nmero 1
hasta el ltimo.
Next NEXT n Incluye slo los n registros siguientes al actual en la
(Siguientes) bsqueda. Es decir, especificando 10 en el cuadro
de texto, incluir slo los 10 siguientes registros a
partir del actual en la bsqueda. Por tanto, el lmite
se centra desde el registro actual hasta el nmero de
registros especificados.
Record RECORD n La bsqueda se limita nicamente al nmero de
(Registro) registro especificado por este cuadro de texto.
Rest REST Comienza la bsqueda a partir del registro actual y
(Restantes) contina hasta el final de la tabla. Por tanto, el
intervalo de bsqueda se limita desde el registro
actual al ltimo de la tabla.

- 1 - El entorno de desarrollo de Visual FoxPro 23 -


Clusula FOR
Este es el ncleo bsico de toda sentencia de bsqueda. Veremos que hay multitud
de comandos que pueden incorporar esta clusula para delimitar aquellos registros
que cumplen los criterios especificados por sta.

Clusula WHILE
La seleccin de registros efectuada mediante la clusula FOR se refiere a toda la
tabla por completo y en eso precisamente se diferencia de la clusula WHILE. Esta
clusula restringe el mbito de bsqueda a que la expresin lgica incluida con
esta clusula sea cierta. En el momento en que no se cumpla la expresin el
comando que incluya esta clusula finaliza inmediatamente.
Por esta razn se puede decir que en este caso la bsqueda se realizara mientras
se cumpliera la clusula WHILE, finalizando la bsqueda cuando no se cumpliera,
aunque no se hubiera recorrido toda la tabla.

Importacin / Exportacin de datos


Tan importante como el dominio sobre los datos a los que podemos acceder mediante el gestor
de tablas, es la posibilidad de acceder a los datos contenidos en archivos creados por otras
aplicaciones. De esta forma podemos extraer informacin de los mismos, tratarla y si resulta til
enviarla de nuevo al tipo de datos de origen.

Comando / Funcin Descripcin


EXPORT Exporta datos de una tabla de Visual FoxPro a
cualquiera de los tipos de archivo soportados.
IMPORT Importa datos desde un fichero de datos externo en
alguno de los formatos soportados.
APPEND FROM Agrega registros de otra tabla al final de la tabla
activa.
APPEND MEMO Copia en un campo memo el contenido de un
archivo de texto
APPEND GENERAL Importa un objeto OLE en un campo de tipo general.
COPY TO Crea una tabla nueva a partir del contenido de la
tabla activa.

- 1 - El entorno de desarrollo de Visual FoxPro 24 -


Importar datos
Microsoft Visual FoxPro soporta los siguientes tipos de archivos de los cuales puede extraer
informacin si elegimos la opcin Import (Importar) del men File (Archivo):

Tipo Descripcin
Microsoft Excel 5.0 and 97 Esta opcin permite importar datos de hojas de
(XLS) clculo creadas con Microsoft Excel 5.0.
Microsoft Excel 2.0, 3.0 and 4.0 Esta opcin importa datos de hojas de clculo de
(XLS) Microsoft Excel versiones 2.0, 3.0 y 4.0.
Lotus 1-2-3 3.x (WK3) Importa datos procedentes de una hoja de clculo
realizada con Lotus 1-2-3 versin 3.x.
Lotus 1-2-3 2.x (WK1) Importa datos procedentes de una hoja de clculo
realizada con Lotus 1-2-3 versin 2.x.
Lotus 1-2-3 1-A (WKS) Importa datos procedentes de una hoja de clculo
realizada con Lotus 1-2-3 versin 1-A.
Paradox 3.5 y 4.0 (DB) Importa datos procedentes de la base de datos
Paradox en sus versiones 3.5 y 4.0
Symphony 1.10 (WR1) Permite importar datos procedentes de la hoja de
clculo del paquete integrado Symphony versin
1.10
Symphony 1.01 (WRK) Permite importar datos procedentes de la hoja de
clculo del paquete integrado Symphony versin
1.01
FrameWork II (FW2) Permite importar datos procedentes de la hoja de
clculo del paquete integrado FrameWork II
Multiplan 4.01 (MOD) Importa datos procedentes de la hoja de clculo
Multiplan versin 4.01
RapidFile (RPD) Importa datos procedentes de RapidFile

Figura 21 - Importacin de registros procedentes de Excel 5.0

- 1 - El entorno de desarrollo de Visual FoxPro 25 -


Asistente para importar datos
Este asistente es adecuado en aquellas ocasiones en las que se necesita moldear algunos
aspectos de la importacin de datos. Este sencillo pero potente asistente permite especificar
el origen y destino de los datos, ver qu datos se estn importando directamente y
especificar el nombre y tipo de cada uno de los campos que se estn importando.

Paso 1 - Archivos de origen y de destino


En este primer paso especificamos el tipo de archivo de datos del que se van a extraer los
datos. A continuacin se indica el archivo origen de datos y por ltimo el nombre de la tabla
sobre la que se van a copiar los registros importados

Figura 22 - Archivos de origen y destino

Paso 1a Seleccin de base de datos


Este paso slo se muestra si se decide crear una nueva tabla con los datos que se van a
importar, de modo que pueda crear una nueva tabla libre , o bien, incorpore la nueva tabla a
una base de datos ya existente.

- 1 - El entorno de desarrollo de Visual FoxPro 26 -


Figura 23 Seleccin de base de datos

Paso 2 Determinar el formato de los datos


En este paso se puede tener una vista previa de la informacin que se pretende importar.
Esto es importante ya que permite identificar correctamente los datos que pretendemos
insertar, ya que podemos volver atrs y especificar otro origen de datos en cualquier
momento.

Figura 24 Determinar el formato de los datos

- 1 - El entorno de desarrollo de Visual FoxPro 27 -


Paso 2a Describir datos
Tratndose de un archivo de texto , en este paso se determinar cual es el delimitador de
campo. Este paso slo se mostrar si es un archivo de texto el que se est tratando de
importar.

Figura 25 Describir datos

Paso 3 Definir campos importados


Antes de efectuar la importacin de datos podemos ver la estructura de la informacin.
Permite esta pantalla el cambio de los siguientes parmetros: Name (Nombre), Type
(Tipo), Width (Ancho) y Decimals (Posiciones Decimales).

- 1 - El entorno de desarrollo de Visual FoxPro 28 -


Figura 26 Definir campos importados

Paso 3 a Especificar opciones internacionales


Antes de importar definitivamente, si existen determinados datos que se hayan de tratar de
forma diferente debido a que se van a transformar de un idioma a otro, ser necesario
especificar esa circunstancia en este paso. A tal efecto, disponemos la opcin de cambiar la
pgina de cdigos del archivo de orgen, el indicador de moneda, el separador de miles, el
indicador decimal y el formato de fecha.

- 1 - El entorno de desarrollo de Visual FoxPro 29 -


Figura 27 Paso 3a Especificar opciones internacionales

Formularios. Introduccin
En principio, la ventana Browse (Examinar) puede ser suficiente herramienta para la
visualizacin y modificacin de tablas, pero, adems, podemos utilizar formularios para dar una
presencia ms til y verstil a la misma informacin.
Los formularios contienen cualquier tipo de control, desde etiquetas, pasando por cuadros de
texto, cuadros de edicin, hasta cuadros combinados o cuadros de lista. Existe un nmero suficiente
de controles disponibles de forma estndar pudindose ampliar esta lista con controles diseados
por el propio usuario o controles universales Activex.
Un formulario tiene asociado un entorno de datos que permite abrir y cerrar de forma automtica
las tablas que el mismo formulario necesita. Incluso es posible utilizar el resultado de consultas de
una base de datos.
Otra caracterstica importante relativa a los controles insertables en un formulario es la
vinculacin que pueden mantener con un origen de datos. Esto quiere decir que un control puede
visualizar y editar directamente el contenido de un campo de una tabla. Por ejemplo, podemos
definir que un cuadro de lista edite el campo relativo al nombre de un producto definido en la tabla
de Productos, o una casilla de verificacin indicando si ese producto dispone de estocaje suficiente.
En definitiva se trata de visualizar informacin de forma que el usuario identifique claramente el tipo
de informacin que necesita para tomar decisiones.

Crear un formulario rpido


La forma ms sencilla de crear formularios es, en principio, recurrir al asistente para la creacin
de formularios. Puede llamar a este asistente cuando crea un nuevo formulario o bien desde el
men Wizards (Asistentes) escogiendo la opcin Form (Formulario).
Como datos bsicos, tal como se va a comprobar a continuacin, este asistente solo necesita
una tabla y qu campos de la misma van a participar en la generacin del nuevo formulario. El orden
en el que van a figurar en el formulario definitivo depende del orden que se vayan eligiendo desde el
cuadro de lista Available Fields (Campos disponibles) hacia el cuadro de lista Selected Fields
(Campos seleccionados).

- 1 - El entorno de desarrollo de Visual FoxPro 30 -


Paso 1 - Seleccin de campos
El primer paso consiste en la eleccin de tabla y campos. Como dato esencial se necesita
una tabla de la cual se van a tomar las definiciones de determinados campos con el fin de
confeccionar controles para su visualizacin y edicin desde el nuevo formulario. Como dato
interesante se puede comentar el hecho de que este generador utiliza como etiquetas de
campo, es decir, el texto que figura delante de cada uno de los controles de edicin, el
encabezado que se haya definido en la base de datos si la tabla pertenece a una.

Figura 28 - Seleccin de campos

Paso 2 - Estilo
Existen una serie de estilos predefinidos que el asistente utiliza como patrn en el momento
de generar el aspecto visual general del formulario y cada uno de los controles que lo
contienen. Esta prestacin se completa con la posibilidad de elegir botones de comando
grficos o de texto. Estos botones de comando situados en la parte inferior del nuevo
formulario permiten mover el puntero de registro del primer al ltimo registro, o bien, al
anterior o siguiente con respecto al registro que se est visualizando actualmente. Pueden,
adems, insertar o eliminar registros de la tabla.

- 1 - El entorno de desarrollo de Visual FoxPro 31 -


Figura 29 - Estilo

Paso 3 - Orden
Si la tabla no dispone de una secuencia de ordenacin, lo que hace este paso es permitir
crear una a partir de hasta tres campos de la tabla origen de datos. Este orden ser
utilizado en los desplazamientos hacia atrs o delante cuando se utilizan los botones de
comando de desplazamiento por registros.

Figura 30 - Orden

- 1 - El entorno de desarrollo de Visual FoxPro 32 -


Paso 4 - Finalizar
Como informacin final, el asistente necesita saber el ttulo del formulario y qu deseamos
hacer con l. A este ltimo respecto, tenemos tres opciones, guardar el formulario para
poder ejecutarlo o modificarlo posteriormente, generar y ejecutar el formulario o bien, y por
ltimo, generar el formulario y modificarlo mediante el generador de formularios.
Antes de elegir cualquiera de las tres opciones, podemos ver una presentacin del
formulario en proceso de generacin, con el fin de volver atrs y alterar cualquier
informacin de las que se han definido en los tres pasos anteriores.

Figura 31 - Finalizar

Ejecutar el nuevo formulario


Una vez se ha generado el formulario podemos obtener uno como el que visualizamos en la
figura siguiente. Como podemos observar en la parte superior del formulario figura el ttulo elegido
para el formulario: Customers (Clientes).

- 1 - El entorno de desarrollo de Visual FoxPro 33 -


Figura 32 - Resultado final

Macros
Existen multitud de situaciones donde repetimos hasta la saciedad la misma secuencia de teclas,
al abrir un proyecto, al abrir una pantalla, al compilar, etc.. Las macros pueden ayudar a que la
secuencia de teclas que tengamos que utilizar se reduzca lo ms posible y de esta forma
aprovechemos mejor el tiempo. Las macros permiten grabar secuencias de caracteres y asociarlas a
una combinacin de teclas. De esta forma la pulsacin de esta combinacin de teclas a posteriori
ejecuta toda la secuencia de caracteres guardada.

Cmo visualizar y editar las macros activas?


Para acceder al cuadro de dilogo para el mantenimiento de macros eliga la opcin Macros del
men Tools (Herramientas). Se visualiza una ventana como esta:

Figura 33 El cuadro de dilogo Macros

- 1 - El entorno de desarrollo de Visual FoxPro 34 -


Esta ventana est subdividida en los siguientes elementos:

1. Lista de macros definidas (Individual macro). Este cuadro de lista visualiza los nombres
de las macros definidas en este momento en el sistema. Cada elemento de la lista
visualiza el nombre que se le ha dado a la macro, no la tecla que invoca a la misma,
aunque normalmente suele coincidir el nombre que se le da a la macro con la combinacin
de teclas que la ejecuta.
2. Record (Grabar). Inicia la secuencia de grabacin de una macro.
3. New (Nueva). Crea una macro nueva.
4. Edit (Editar). Edita el contenido de una macro existente.
5. Clear (Borrar). Borra una macro definida.
6. Macro set (Conjunto de macros). Los botones de comando definidos en esta zona
permiten recuperar un conjunto de macros guardadas en un archivo, salvar las existentes
en un archivo o hacer que las macros definidas en este momento sean las
predeterminadas cada vez que se arranca Visual FoxPro.

Cmo grabar una macro?


Es muy sencillo, para ello basta con elegir la opcin Macros del men Tools (Herramientas) y
en el cuadro de dilogo Macros, hacer clic en el botn Record (Grabar). Visualizamos un cuadro de
dilogo pidiendo la combinacin de teclas a la cual vamos a asociar la secuencia de teclas que
estn a punto de ser grabadas. Es decir, cada vez que pulsemos la secuencia de teclas que se
indique en este momento, se repetirn las teclas pulsadas a continuacin de la salida de este cuadro
de dilogo.

Figura 34 Grabar macro

Cuando pulsemos Ok (Aceptar) en este cuadro de dilogo, todas las teclas pulsadas quedarn
registradas en la macro llamada Ctrl_alt_f, invocada siempre que se pulse la combinacin de teclas
Ctrl-Alt-F.

Si en ese momento la combinacin de teclas que intentamos asignar a la macro ya se ha


definido con anterioridad, veremos una ventana de alerta advirtiendonos esta circunstancia. Esta
ventana admite tres respuestas totalmente distintas:
a) Sobrescribir. Reemplaza las teclas guardadas con anterioridad en esta macro por las que se
van a grabar ahora.
b) Aadir pulsaciones. Agrega nuevas pulsaciones de teclas al final de la macro anterior.
C) Cancelar. Cancela la grabacin de la macro.

Figura 35 Advertencia sobrescribir macro

- 1 - El entorno de desarrollo de Visual FoxPro 35 -


Para finalizar la grabacin de la macro, volvemos a elegir la opcin Macros del men Tools
(Herramientas). Vemos el siguiente cuadro de dilogo:
Insert Literal (Insertar Literal). Inserta en la definicin de macro la tecla tal cual se ha
pulsado
Insert Pause (Insertar Pausa). Este botn de comando permite insertar una pausa en la
macro de dos formas distintas:
Key to Resume (Tecla para reanudar). Cuando se inserta una pausa de este tipo en
una macro, sta no reanuda su ejecucin hasta que no se pulsa una tecla.
Seconds (Segundos). Esta pausa paraliza momentneamente la macro los segundos
especificados en el control numrico.

Al hacer clic en el botn de comando Ok (Aceptar) finaliza la grabacin de la macro.

Figura 36 Detener grabacin de la macro

Nomenclatura de teclas

Conozcamos los nombres de cada una de las teclas para poder identificarlas correctamente.

Tecla Nombre
LEFTARROW
RIGHTARROW
UPARROW
DNARROW
Inicio (Home) HOME
Fin (End) END
AvPag (Page Up) PGUP
RePag (Page Down) PGDN
Sup (Del) DEL
Borrar (Backspace) BACKSPACE
Barra Espaciadora SPACEBAR
(Spacebar)
Ins INS
Tabulador TAB
Retroceder BACKTAB
Tabbulador(Shift Tab)

- 1 - El entorno de desarrollo de Visual FoxPro 36 -


Intro (Enter) ENTER
F1 F1, F2, F3 ...
a
F12
Ctrl+F1 Ctrl+F1, Ctrl+F2 ...
a
Ctrl+F12
Shift+F1 Shift+F1, Shift+F2 ...
a
Shift+F12
Alt+F1 Alt+F1, Alt+F2, Alt+F3 ...
a
Alt+F12
Alt+0 Alt+0, Alt+1, Alt+2 ...
a
Alt+9
Alt+A Alt+A, Alt+B, Alt+C ...
a
Alt+Z
Ctrl+ Ctrl+LEFTARROW
Ctrl+ Ctrl+RIGHTARROW
Ctrl+Inicio Ctrl+HOME
Ctrl+Fin Ctrl+END
Ctrl+AvPg Ctrl+PGUP
Ctrl+RePg Ctrl+PGDN
Ctrl+A Ctrl+A, Ctrl+B, Ctrl+C ...
a
Ctrl+Z
Botn derecho ratn RIGHTMOUSE
Botn izquierdo ratn LEFTMOUSE
Cualquier Botn del MOUSE
ratn
Esc ESC

Edicin de macros
Dado que a veces es difcil recordar toda la secuencia de teclas que conducen a realizar una
accin, es posible que cometamos errores. No hay problema puesto que es posible introducir
nuevas pulsaciones o eliminarlas en cualquier lugar de la macro.
Para modificar el contenido de una macro sigamos los siguientes pasos:

- 1 - El entorno de desarrollo de Visual FoxPro 37 -


1. Elija la opcin Macros del men Tools (Herramientas).
2. Seleccione de la lista de macros definidas la que desee modificar. Para editar la macro
pulse el botn de comando Edit (Editar).

Figura 37 Editar macro

Algunas macros
Hasta ahora hemos visto como crear y modificar una macro para creacin de proyectos, pero hay
muchas ms utilidades para las macros. Veamos algunas.

Seleccionar una lnea


Esta macro selecciona la lnea entera donde est situado el cursor, independientemente de
la posicin de ste.

Figura 38 Macro seleccionarlinea

Localizar definiciones de funciones y clases en el cdigo fuente


A menudo se hace difcil recorrer enormes archivos de cdigo en busca de funciones o
clases de las cuales no recordamos el nombre exacto Para solucionar en parte esta
eventualidad se podran utilizar estas dos macros

Nombre macro Tecla Contenido

BuscaFuncin SHIFT+CTRL+F {CTRL+F}FUNCTION{TAB}N{TAB}{ENTER}

BuscaClase SHIFT+CTRL+C {CTRL+F}CLASS{TAB}N{TAB}{ENTER}

- 1 - El entorno de desarrollo de Visual FoxPro 38 -


Estas dos macros realizan acciones parecidas. Veamos paso a paso su ejecucin:
1. En primer lugar, abren el cuadro de dilogo de bsqueda de cadenas {CTRL+F}
2. Dado que al activar este cuadro de dilogo el control activo es el cuadro de texto
donde se escribe la cadena a buscar, sencillamente emitimos la secuencia de
teclas CLASS / FUNCTION
3. Para efectuar la bsqueda, movemos el control al botn de comando Next
(Siguiente) mediante la pulsacin de la tecla {TAB} y pulsamos la inicial
marcada del ttulo del botn de comando, la letra N.
4. Finalmente salimos del cuadro de dilogo moviendo el control al botn de
comando Cancel (Cancelar) y pulsndolo, mediante la secuencia
{TAB}{ENTER}.

Guardar y restaurar conjuntos de macros


Consideramos como un conjunto de macros todas las macros activas en la sesin actual. Este
conjunto de macros puede ser guardado en un archivo para su uso en posteriores sesiones. Este
tipo de archivos, con extensin .FKY guardan la configuracin guardada en cada momento. Existe
un archivo llamado DEFAULT.FKY cuyos valores se restauran cada vez que se arranca Visual
FoxPro.

- 1 - El entorno de desarrollo de Visual FoxPro 39 -


INDICE
1 - EL ENTORNO DE DESARROLLO DE VISUAL FOXPRO .......................................................... 1
INTRODUCCIN ............................................................................................................................................. 1
EL ENTORNO DE DESARROLLO ....................................................................................................................... 1
Administrador de proyectos ..................................................................................................................... 1
Diseador de bases de datos .................................................................................................................... 1
Diseador de formularios ........................................................................................................................ 1
Diseador de informes y etiquetas ........................................................................................................... 2
Diseador de mens ................................................................................................................................. 2
Asistentes.................................................................................................................................................. 2
Diseador de consultas y vistas ............................................................................................................... 2
APARIENCIA DE LA VENTANA DE SISTEMA..................................................................................................... 3
TIPOS DE ARCHIVOS ...................................................................................................................................... 3
ADMINISTRACIN DE ARCHIVOS.................................................................................................................... 4
WIZARDS (ASISTENTES)................................................................................................................................ 5
CREAR UNA NUEVA TABLA MEDIANTE EL ASISTENTE .................................................................................... 7
Paso 1 - Seleccionar Campos................................................................................................................... 7
Paso 1a Seleccin de base de datos ...................................................................................................... 8
Paso 2 - Opciones de campos .................................................................................................................. 8
Paso 3- Indexacin................................................................................................................................... 9
Paso 4 - Finalizar................................................................................................................................... 10
MANEJO DE TABLAS .................................................................................................................................... 10
OPCIONES DEL MEN TABLE (TABLA)......................................................................................................... 11
Aadir un nuevo registro........................................................................................................................ 11
Cambiar el estado de la marca borrado ................................................................................................ 11
Ir a un registro determinado .................................................................................................................. 12
Ajustar el tamao y posicin de un campo............................................................................................. 12
EDICIN DE REGISTROS INTERACTIVO ......................................................................................................... 13
BSQUEDA DE REGISTROS ........................................................................................................................... 13
Scope (Alcance) .................................................................................................................................................. 14
Clusula FOR ...................................................................................................................................................... 15
Clusula WHILE................................................................................................................................................. 15
LA VENTANA DATA SESSION (SESIN DE DATOS)....................................................................................... 16
Modificar las propiedades de la tabla ................................................................................................... 16
Bfer de datos ..................................................................................................................................................... 17
Seleccin de ndice.............................................................................................................................................. 17
Filtro de datos...................................................................................................................................................... 17
Filtro de campos.................................................................................................................................................. 17
Browse (Examinar)................................................................................................................................. 17
Modificar el aspecto de las columnas.................................................................................................................. 17
Definicin de particiones .................................................................................................................................... 18
Fuentes ................................................................................................................................................................ 18
Abrir y cerrar tablas .............................................................................................................................. 18
Establecer relaciones ............................................................................................................................. 18
Seleccin de tabla principal................................................................................................................................. 19
Iniciar la relacin ................................................................................................................................................ 19
Seleccionar el ndice de la tabla secundaria ........................................................................................................ 20
Seleccionar la taba .............................................................................................................................................. 20
Resultado............................................................................................................................................................. 20
MANEJAR REGISTROS BORRADOS ................................................................................................................ 21
Recuperar registros................................................................................................................................ 21
Eliminar un conjunto de registros.......................................................................................................... 21
Eliminar registros marcados.................................................................................................................. 21
USO DE REGISTROS BORRADOS .................................................................................................................... 22
REEMPLAZAR VALORES EN CAMPOS ............................................................................................................ 22
Field (Campo) ..................................................................................................................................................... 23
With (Con) .......................................................................................................................................................... 23
Scope (Alcance) .................................................................................................................................................. 23
Clusula FOR ...................................................................................................................................................... 24

- 1 - El entorno de desarrollo de Visual FoxPro 40 -


Clusula WHILE................................................................................................................................................. 24
IMPORTACIN / EXPORTACIN DE DATOS .................................................................................................... 24
IMPORTAR DATOS ........................................................................................................................................ 25
ASISTENTE PARA IMPORTAR DATOS............................................................................................................. 26
Paso 1 - Archivos de origen y de destino ............................................................................................... 26
Paso 1a Seleccin de base de datos .................................................................................................... 26
Paso 2 Determinar el formato de los datos......................................................................................... 27
Paso 2a Describir datos ...................................................................................................................... 28
Paso 3 Definir campos importados ..................................................................................................... 28
Paso 3 a Especificar opciones internacionales................................................................................... 29
FORMULARIOS. INTRODUCCIN .................................................................................................................. 30
CREAR UN FORMULARIO RPIDO ................................................................................................................. 30
Paso 1 - Seleccin de campos ................................................................................................................ 31
Paso 2 - Estilo ........................................................................................................................................ 31
Paso 3 - Orden ....................................................................................................................................... 32
Paso 4 - Finalizar................................................................................................................................... 33
EJECUTAR EL NUEVO FORMULARIO ............................................................................................................. 33
MACROS ...................................................................................................................................................... 34
CMO VISUALIZAR Y EDITAR LAS MACROS ACTIVAS? ............................................................................... 34
CMO GRABAR UNA MACRO? .................................................................................................................... 35
NOMENCLATURA DE TECLAS ....................................................................................................................... 36
EDICIN DE MACROS ................................................................................................................................... 37
ALGUNAS MACROS ...................................................................................................................................... 38
Seleccionar una lnea ............................................................................................................................. 38
Localizar definiciones de funciones y clases en el cdigo fuente........................................................... 38
GUARDAR Y RESTAURAR CONJUNTOS DE MACROS ...................................................................................... 39
INDICE ...................................................................................................................................................... 40
INDICE ALFABETICO .......................................................................................................................... 42

- INDICE ALFABETICO 41 -
INDICE ALFABETICO

Diseador de mens, 2
DLL, 4
A Documentacin, 4

Abrir y cerrar tablas, 18


ACT, 4 E
Administrador de proyectos, 1
Alcance, 14, 23 Edicin, 37
APPEND, 24 Ejecutable, 4
Asistente para combinacin de correspondencia, 6 Eliminar registros marcados, 21
Asistente para consultas, 5 Eliminar un conjunto de registros, 21
Asistente para etiquetas, 5 ERR, 4
Asistente para formularios, 5, 30 Errores, 4
Asistente para formularios uno a varios, 5 Estado del registro, 11
Asistente para grficos, 6 Etiquetas, 4
Asistente para importar datos, 26 Examinar, 17
Asistente para importar datos a tablas, 6 EXE, 4
Asistente para informes, 5 EXPORT, 24
Asistente para informes de uno a varios, 7
Asistente para tablas, 5, 7
Asistente para tablas de referencias cruzadas, 6 F
Asistente para tablas dinmicas, 6
Asistente para vistas, 6 Filtro de campos, 17
Asistente para vistas remotas, 6 Filtro de datos, 17
Asistentes, 2 FKY, 4
Ayuda, 4 FLL, 4
FOR, 15, 24
Formulario, 3
B FRX, 4
Fuentes, 18
Base de datos, 3
Biblioteca API, 4
Bibliotecas de clases visuales, 3 G
BLANK, 22
Bfer de datos, 17 Grabar, 35
Bsqueda de registros, 13
H
C
H, 4
CDX, 3 HLP, 4
Columnas, 11
Constantes, 4
I
Consulta SQL, 4
Control OLE, 4
IMPORT, 24
Copias de seguridad, 4
Importar datos, 25
Indices, 3
D Informes, 4

DBC, 3
L
DBF, 3
DBGetProp()., 17
La ventana Sesin de Datos, 16
DEFAULT.FKY, 39
LBX, 4
DELETE, 22
Libreras Windows, 4
DELETED, 22
Diseador de bases de datos, 1
Diseador de consultas y vistas, 2 M
Diseador de formularios, 1
Diseador de informes y etiquetas, 2 Macros, 4

- INDICE ALFABETICO 42 -
MEM, 4
Memoria, 4 S
men Tabla, 11
Mens, 4 SCX, 3
Mens generados, 4 SEEK, 17
MNX, 4 SEEK(), 17
MPR, 4 Seleccin de celda, 11
Seleccin de ndice, 17
SET, 22
O
OCX, 4 T
ODBC, 1
Tablas, 3
TBK, 4
P Texto, 4
Tipos de ficheros, 3
PACK, 22 TXT, 4
particiones, 18
PJX, 3
PRG, 4 V
Programas, 4
propiedades de la tabla, 16 VCX, 3
Proyecto, 3 ventana de Comandos, 3
ventana Examinar, 10
Visualizar, 34
Q
QPR, 4 W
WHILE, 15, 24
R
RAD, 1 Z
RECALL, 22
Recuperar registros, 21 ZAP, 22
Reemplazar valores en campos, 22
registros borrados, 21
relaciones, 18

- INDICE ALFABETICO 43 -

Вам также может понравиться