Escolar Documentos
Profissional Documentos
Cultura Documentos
Aprendizaje - Ayuda
Conceptos - Eventos - Controles
Introduccin
Visual Foxpro es uno de los gestores de Bases de Datos relacionales ms
rpido y flexible del mercado, disponiendo de un complejo entorno de desarrollo
totalmente orientado al objeto y altamente integrado en el sistema operativo Windows
95. Como cualquier otra aplicacin Windows estndar, Visual Foxpro soporta
interfaces MDI, barras de herramientas, ayuda sensible al contexto, mltiples fuentes,
acceso a bibliotecas de enlace dinmico (DLL), 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 atravs
de ODBC (Open Database Connectivity). 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.
Con el advenimiento de Visual Fox, los desarrolladores de aplicaciones tienen
acceso a multitud de eventos y opciones que los programadores de Visual Basic y
Visual C tuvieron durante aos. Se elimina la necesidad del uso del READ y su
confusa nidificacin (Fundational read).
Se aprovechan algunas de las innovaciones que incorpor el Visual Basic, que tuvo
liderazgo en simplificaciones tales que le dieron alcance masivo a la programacin. En esta
clase examinaremos, entre otras cosas, qu son los formularios, eventos y controles, y cmo
se usan
3.- Aprendizaje
Vea en men de Ayuda, (ALT + U, D), "Documentacin" que pone en pantalla a
todos los manuales. Podra empezar por ej. por la Gua de Instalacin, Manual del
Usuario, "Manual del Programador", Referencia del Lenguaje, etc..
Ms adelante podr usar ese mismo men de Ayuda - Aplicaciones Ejemplo. Y
estudiar los casos tpicos que all se explican.
4.- Ayuda
Vea en la Ayuda, (ALT + U), Temas de ayuda, y tambin aplicaciones de ejemplo
que se pueden ejecutar y estudiar, Microsoft en la Web (Si tiene Internet), Soporte
tcnico, etc.
Tambin est la ayuda sensible al contexto (F1), el ndice temtico, y la opcin
Buscar.
En la ayuda se puede imprimir, seleccionar, copiar, y luego pegar en un
procesador de textos cualquiera.
5.- Conceptos
Cmo funciona Windows:
Mensajes: Todo lo que sucede dentro de Windows es el resultado del envo de
un mensaje. Cuando se hace clic en una tecla o botn, cuando cambia el tamao a
una ventana, cuando un carcter se digita dentro de una caja de edicin, cuando se
mueve el puntero del mouse, etc., Windows enva un mensaje informando de dicha
situacin.
Formularios
Visual Fox Pro tiene un nombre especial para una pantalla: formulario o Form.
Un formulario no es nada mas que una ventana comn de Windows, pero a un
nivel mayor de abstraccin.
Se podra pensar un formulario, por ejemplo, como un conjunto auto-contenido
de objetos sin tener que preocuparse por una gran cantidad de detalles por cuales se
preocupara un programador de C.
Auto contenidos quiere significar que el formulario tiene propiedades que
pueden ser alteradas para controlar la apariencia y comportamiento del formulario, y
eventos que se disparan cuando ciertos mensajes se envan a los mismos.
Una pantalla de entrada o ventana construida usando el constructor de
pantallas de Fox 2.6 (Screen Builder) no es un objeto, aunque le d la ilusin de que
es as.
Cuando se examina el cdigo generado por Fox Pro 2.6 se puede ver la
sentencia DEFINE WINDOW, las sentencias GET / SAY, y finalmente la sentencia
READ que causa que Fox entre en estado de espera para permitirle al usuario ingresar datos.
Cuando Ud. disea un formulario en Visual Fox, lo hace casi igual que en
Visual Basic y, a diferencia de lo que ocurra en Fox 2.6 para Windows, el formulario
es un objeto, porque tiene propiedades que manipulan la apariencia del formulario, o
cambian la forma en que se comporta.
Se puede fijar los valores (numricos o alfabticos) de dichas propiedad tanto a
tiempo de diseo usando la ventana de propiedades, como durante la ejecucin de
un programa (tiempo de ejecucin o en ingls, runtime).
A cada formulario se le asigna un nico nombre (propiedad Name), y una vez
que tiene un nombre se lo puede referenciar tanto dentro como fuera del mismo
formulario.
Por ejemplo, suponga que tiene un formulario al que llama frmCliente y desea
cambiar el ttulo de dicho formulario (propiedad Caption), se puede referencia dicha
propiedad utilizando la sintaxis del punto como sigue:
frmCliente.Caption = ALTAS
Eventos
Todo lo que ocurra en Windows es el resultado de enviar un mensaje. Visual
Fox previene que Ud. se las tenga que ver con cientos de diferentes mensajes usando
la nocin de evento.
Un evento es una accin reconocida por un objeto, tal como el clic de un ratn,
o la presin de una tecla en el teclado. Cuando Ud. hace clic con el ratn en un
formulario, Windows enva un mensaje al formulario dicindole que alguien ha hecho
clic sobre l.
Entonces Visual Fox dispara el evento clic del formulario en respuesta a dicho
mensaje. Ud. solamente debe escribir la parte de cdigo que se ejecutar cuando
dicho evento ocurra.
Por ejemplo, puede poner cdigo que cambie el color de fondo del formulario
(Propiedad BackColor) en respuesta a dicho evento.
En la siguiente tabla estn algunos de los eventos ms comunes del objeto formulario:
Evento
Se dispara cuando...
Load
DblClick
MouseMove
Resize
GotFocus
Lost Focus
Controles
Son aquellos objetos grficos a travs de los cuales los usuarios pueden recibir
y responder a los distintos tipos de mensajes Windows, de forma similar a las que lo
haca el formulario. Otra definicin de control: son una instancia de una clase,
combinada con datos y procedimientos.
Ejemplo: botn (push button), cajas de edicin (edit boxes), cajas de texto (text
boxes), lneas, texto o etiquetas (labels), etc.
Los controles pueden ser vistos como objetos autocontenidos, con propiedades
que le permiten manipular su propia apariencia, comportamiento, y responder a los
eventos mediante cdigo escrito (programacin).
Al igual que pasaba con los formularios, los controles tiene un nico nombre
(Propiedad Name), y se puede cambiar cualquier propiedad usando la notacin del
punto.
Por ejemplo, para hacer que el texto (propiedad Text) que est en una caja de
texto (text Box) que se llama txtCaja desde y hacia la variable lcVar, se usar:
txtCaja.Text = lcVar
lcVar = txtCaja.Text
Significado
Enabled
FontName
Left
Visible
Los controles pueden responder a eventos disparados tanto por accin del usuario como directamente desde el sistema.
Por ejemplo, si el usuario hace clic sobre un control botn de apretar (push
button), Windows le informa envindole un mensaje a dicho control que ha sido apretado (clicked). El control o botn entonces dispara el evento Clic, y ejecuta el cdigo
colocado o asignado a dicho evento.
Al igual que las propiedades, algunos eventos son inherentes a dicho control y
no existen en otros, pero hay eventos comunes a todos los controles, como seran los
siguientes caso tpico:
Evento
Se dispara cuando...
Click
MouseMove
GotFocus
Lost Focus
Controles Custom
Uno de los principales factores que contribuyeron al xito del Visual Basic fue
la explosin en el mercado de controles suministrados por fabricantes externos o
terceras partes.
Estos controles aparecen en la paleta de controles del Visual Fox Pro junto con
los controles normales (built-in) y se manipulan de forma similar (fijando valores a sus
propiedades y codificando rutinas que dan respuesta a ciertos eventos).
Estos controles cubren un amplio espectro desde botones y cajas de texto
mejoradas, hasta complejas hojas de clculo (grid) o grficos comerciales (Pinacle
Graph).
5
Tipos de datos
Los tipos de datos determinan la manera en que se almacenan los datos y la
forma en que se pueden utilizar tales datos.
Puede multiplicar dos nmeros, pero no puede multiplicar caracteres. Puede
imprimir caracteres en maysculas, pero no es posible imprimir nmeros en
maysculas.
En la siguiente tabla se enumeran algunos de los principales tipos de datos
de Visual FoxPro.
Byte
Numrico
Moneda
(Currency)
Character
Logical
Fecha - Fecha
y hora (Date DateTime)
1
256
1
8
RANGO - Ejemplo
.9999999999E+19 a
.9999999999E+20
922337203685477.5808 a
922337203685477.5807
Prueba
123
01/01/95
.T.(verdadero)
.F. (falso)
{01/01/95}
{01/01/95 12:30:00 pm}
01/01/0100 hasta 31/12/9999
Tipos de campos
Tipo
Byte
Ejemplos
Numrico
1 20 .9999999999E+19 a
Punto Flotante
1 20 .9999999999E+19 a
.9999999999E+20
.9999999999E+20
Texto longitud variable Mximo segn memoria
+/4.94065645841247E-324
a +/8.9884656743115E307
Prueba 123 01/01/95
Cualquier caracter
.T.(verdadero)
.F. (falso)
2147483647 a 2147483646
10
10
4
Memo
Doble
Precisin
Character
Logical
Integer
(Entero)
Carcter
(Binario)
Memo (Binario)
General
(Obj.OLE)
Fecha - Fecha
y hora (Date DateTime)
1
254
1
Contenedores de datos
Los contenedores de datos le permiten realizar las mismas operaciones con
varios datos.
Por ejemplo, sumar las horas que ha trabajado un empleado, multiplicarlas
por el salario por hora y restar los impuestos para determinar el sueldo que ha
percibido el empleado.
Deber realizar estas operaciones para cada empleado y para cada perodo
de pago.
Si almacena esta informacin en contenedores y realiza las operaciones
sobre stos, bastar con sustituir los datos antiguos por los nuevos datos y volver
a ejecutar el mismo programa.
En la siguiente tabla se enumeran algunos de los principales contenedores
de datos disponibles en Visual FoxPro:
Contenedores de datos
Tipo
Descripcin
Uso de operadores
Los operadores se utilizan para vincular los datos formando expresiones. Las
expresiones producen un resultado que se puede asignar a un variable o campo
mediante un operador (el operador de asignacin o el signo igual).
Operador =
Tipos de datos vlidos
Ejemplo
Todos
?n=7
imprime .F.
Operador +
Tipos de datos vlidos
? "Fox" + "Pro"
Imprime FoxPro
Operador *, /
Tipos de datos vlidos
Numeric
Ejemplo
? 5 * 5
Resultado
Imprime 25
FUNCION
Carcter o
Memo
Numrico,
Flot, Doble o
Entero
Numrico
Moneda
Carcter o
Memo
Fecha
VAL ( )
Numrico
STR( )
Caracter
NTOM( )
MTON( )
CTOD( )
Moneda
Numrico
Fecha
Carcter
Carcter
Binario
Carcter o
Memo
FechaHora
Fecha
FechaHora
Lgico
Tipo DESTINO
DTOC o Carcter
DTOS
CTOBIN( ) Carcter
Binario
BINTOC( ) Carcter
CTOT( )
FechaHora
TTOC( )
DTOT( )
TTOD( )
IIF( )
Carcter
FechaHora
Fecha
Cualquiera
FUNCION TYPE
Evala una expresin de caracteres y devuelve el tipo de datos de su
contenido.
Sintaxis TYPE (cExpresin)
Carcter
devuelto
Character
Numeric (tambin flotante,
doble y entero)
Currency
Date
DateTime
Logical
Memo
Object
General
Indefinido
C
N
Y
D
T
L
M
O
G
U
Jerarqua de operadores
El orden de prioridades segn el cual se aplican los operadores al evaluar una
expresin matemtica, se llama en Visual FoxPro, la precedencia de los operadores,
que es de mayor a menor jerarqua:
( ) (agrupamiento de subexpresiones),
^ o ** (exponenciacin),
* y / (multiplicacin y divisin),
% (mdulo),
+ y (suma y resta).
ENDIF
Argumentos:
lExpresin
Especifica la expresin lgica evaluada. Si lExpresin da como
resultado verdadero (.T.), se ejecutarn cualesquiera instrucciones posteriores a IF y
anteriores a ELSE o ENDIF (lo que suceda primero).
Continua...
Administrador de proyectos
Visual Foxpro incorpora un potente gestor de proyectos que centraliza la
gestin 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
10
libremente a todos los usuarios. Adems, Visual Foxpro incorpora una herramienta
que asiste al programador para crear disquetes de instalacin 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 gestor de bases de datos. Este
gestor maneja bases de datos que actan como referente de la informacin adicional
relacionada con tablas, ndices, relaciones, reglas de validacin, integridad referencias
y un sin nmero ms de informacin. De esta forma, una base de datos mantiene
actualizada y centralizada toda la informacin de funcionamiento 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 OLE.
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 slo eso, es posible que cada entorno de datos sea
privado para cada formulario. De esta forma pueden abrirse varias instancias de un
mismo formulario sin que existan problemas de colisin de datos entre las dos
instancias definidas.
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. En 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 incorporado por Visual FoxPro. El sistema utilizado se basa en la
creacin de unos ficheros donde estn las definiciones de men. A posteriori, la
informacin contenida en estos ficheros de men es analizada por un generador de
cdigo con la finalidad de generar de forma automtica cdigo fuente con las
definiciones de men.
Asistentes
Para usuarios incipientes, los asistentes pueden ayudar a crear nuevos tipos de
ficheros de forma sencilla y rpida. No por ello se elimina la posibilidad de modificar
los ficheros 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.
11
Tipos de Ficheros
Como se han dicho, el proyecto guarda informacin acerca de la localizacin de
cada archivo. Como ayuda se presenta una lista de las posibles extensiones
asociadas con cada tipo de ficheros y una breve descripcin de cada tipo.
Tipo
Proyecto
Extensiones
relacionadas
PJX, PJT
Descripcin
Bases de Datos
Formulario
SCX,SCT
Bibliotecas de
Clases Visuales
Tablas
VCX,VCT
DBF,FPT
ndices
CDX,IDX
Documentacin
ACT
Informes
FRX,FRT
Etiquetas
LBX,LBT
Etiquetas.
Libreras Windows
DLL
Errores
ERR
12
Ejecutables
EXE
Macros
FKY
Bibliotecas API
FLL
Programas
PRG,FXP
Biblioteca
de
enlace
dinmico
Windows.
Programa Fuente y Compilado.
Ayuda
HLP
Memoria
MEM
Mens
MNX,MNT
Fichero de almacenamiento
variables de memoria.
Fichero de definicin de mens.
Mens generados
MPR,MPX
Control OLE
OCX
Consulta SQL
QPR,QPX
Copias de seguridad
TBK,BAK
Texto
TXT
Constantes
de
Gestin de ficheros
Desde el men Archivo se realizan las acciones relacionadas con archivos. Consta de
las opciones:
Opcin
Nuevo
Abrir
Cerrar
Guardar
Guardar como...
Revertir
Descripcin
Crea un nuevo fichero de cualquier tipo
Abre un fichero de cualquier tipo.
Cierra el archivo en uso.
Actualiza las modificaciones efectuadas al fichero actual en
disco.
Salva el fichero actual en disco con un nuevo nombre.
Recupera la versin guardada en disco del fichero actual.
Los 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 ficheros bsicos
13
que se pueden crear, desde tablas a formularios, pasando por informes, consultas, etc.
Veamos cules son:
Asistentes
Asistente para formularios
Asistente para formularios
uno a varios
Asistentes para tablas
Asistente para importar
datos a tablas
Asistente para tablas
dinmicas
Asistentes para consultas
Asistente para tablas de
referencias cruzadas
Asistentes para grficos
Asistente para informes
Asistente para informes de
uno a varios
Asistente para informes
de grupos/totales
Asistentes para etiquetas
Asistente para combinacin
de correspondencia
Asistente para vistas
Asistente para vista remota
Descripcin
Crea nuevos formularios. Crea ficheros de tipo
SCX.
Crea formularios con soporte de ficheros
relacionados de uno a muchos. Crea ficheros
SCX.
Crea nuevas tablas libres o definidas en una base
de datos. Crea ficheros de tipo DBF.
Importa datos a una tabla procedentes de otro
origen.
Crea tablas de hoja de clculo utilizables desde
Microsoft Excel.
Crea consultas con sentencias SQL almacenadas
en ficheros de tipo QPR.
Crea una consulta en formato hoja de clculo.
Crea ficheros de tipo QPR.
Crea un nuevo grfico en Microsoft Graph a
partir de la informacin contenida en una tabla.
Crea una nueva definicin de informe. El tipo de
fichero creado es FRX.
Crea una nueva definicin de informe
relacionando una tabla primaria con otra
secundaria. Crea fichero de tipo FRX.
Crea un informe con definicin de resumen para
grupos y totales. Crea ficheros de tipo FRX.
Crea un nuevo fichero de definicin para imprimir
etiquetas postales. Crea un fichero de tipo LBX.
Crea un origen de datos compatible con el
procesador de texto Microsoft Word o cualquier
otro.
Crea una nueva definicin de vista en una base de
datos. La informacin generada por este asistente
se guarda en una base de datos DBC.
Crea una nueva definicin de vista 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.
14
El asistente genera una nueva tabla siguiendo tcticamente 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.
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 ms adelante, es posible asignar nombres de campo hasta 255
caracteres.
Paso 3. lndexacin
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 que 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 modificarla 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 Examinar con la nueva
tabla vaca.
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.
15
Descripcin
Abre la ventana Cambiar para aadir
registros a una tabla interactivamente.
Abren las ventanas Examinar y Cambiar,
respectivamente.
Abre una nueva ventana para poder editar
un campo de tipo general.
16
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, desde la ventana 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.
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 utilizar el submen Ir al registro, cuyo contenido analizado es el siguiente:
Opcion
Primero
ltimo
Siguiente
Anterior
Registro nmero
Descripcin
Va al primer registro de la tabla.
Desde la ventana Comandos habra
que utilizar:
GO TOP
Va al ltimo registro de la tabla.
Desde la ventana Comandos habr
que escribir:
GO BOTTOM
Posiciona el puntero de registro en el
siguiente registro. Obteniendo el
mismo resultado que utilizando esta
sentencia
desde
la
ventana
Comandos:
SKIP 1
Posiciona el puntero en el registro
anterior.
Desde
la
ventana
Comandos:
SKIP -1
Cambia el puntero de registro a un
registro especfico. Desde la ventana
Comando habra que emitir la
siguiente sentencia:
GO nRegistro
Encontrar
17
Continua...
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 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 Encontrar del submen Ir al registro, se visualiza el
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
el mismo 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 Encontrar, la sentencia
LOCATE se emite desde la ventana Comandos.
Veamos estos conceptos aplicados a la bsqueda de registros.
18
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
Todos
ALL
Siguiente
NEXT n
Registros
RECORD n
Restantes
REST
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 esta misma clusula.
Cuando se elige este botn de comando, se activa el 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.
Para confeccionar el ejemplo que veremos, ha bastado elegir el campo del
cuadro de lista Campos. A continuacin se ha escrito la comparacin. Por tanto,
estamos buscando aquel registro cuyo nombre de empresa sea igual a Centro, o al
menos comience con esos caracteres.
Clusula WHILE
La seleccin de registros efectuada mediante la clusula FOR se refiere a toda
la tabla por completo, y eso precisamente se diferencia de la clusula WHILE. Esta
ltima 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
incluye esta clusula finaliza inmediatamente.
Por esta razn se puede decir que en este caso la bsqueda se realizar
mientras se cumpliera la clusula WHILE, finalizando la bsqueda cuando no se
cumpliera, aunque no se hubiera recorrido toda la tabla.
19
20
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. De este modo, slo aparecen en la ventana Examinar aquellas
columnas pedidas en esta opcin.
Examinar
La Ventana Examinar tiene una serie de caractersticas interesantes, entre las
cuales podemos destacar las siguientes:
Modificar el aspecto de las columnas
Las columnas de datos pueden cambiar su posicin y tamao.
Definicin de particiones
Una Ventana Examinar puede dividirse verticalmente en dos particiones. Cada
particin puede funcionar de forma independiente y presentar un aspecto distinto.
Fuentes
Cualquier fuente definida en Windows puede utilizarse para visualizar, en
cualquier tamao y tipo, informacin en una ventana Examinar.
Establecer relaciones
Si existen al menos dos tablas abiertas, es posible establecer relaciones entre
ambas. La forma de establecer relaciones entre la s dos consiste en pulsar el botn de
comando Relaciones teniendo una de las dos seleccionada en el cuadro de lista
Alias. En ese momento, en el cuadro de lista Relaciones aparece la tabla elegida.
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.
21
22