Академический Документы
Профессиональный Документы
Культура Документы
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 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.
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.
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.
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
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.
El asistente genera una nueva tabla siguiendo tcitamente una serie de pasos que conducen a
confeccionar una tabla y sus ndices correspondientes.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
Fuentes
Cualquier fuente definida en Windows puede utilizarse para visualizar en cualquier
tamao y tipo, informacin en una ventana Browse (Examinar).
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.
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.
Seleccionar la taba
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)
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.
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.
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.
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
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.
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.
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
Figura 31 - Finalizar
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.
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.
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.
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)
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:
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.
- INDICE ALFABETICO 41 -
INDICE ALFABETICO
Diseador de mens, 2
DLL, 4
A Documentacin, 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 -