You are on page 1of 72

Microsoft Visual FoxPro

1. Introduccin
En Visual FoxPro funcionan juntas la programacin por procedimientos y la
programacin orientada a objetos para permitirnos crear aplicaciones
potentes y flexibles. Conceptualmente, puede imaginarse que la
programacin consiste en escribir una secuencia de instrucciones con el fin
de realizar tareas especficas. A un nivel estructural, la programacin en
Visual FoxPro precisa la manipulacin de los datos almacenados.
Entre los pasos bsicos de la programacin cabe citar los siguientes:
Definir el problema.
Desglosar el problema en elementos discretos.
Construir los elementos.
Comprobar y perfeccionar los elementos.
Ensamblar los elementos.
Comprobar el programa en su conjunto.
a. Programacin Orientada a Eventos
Un evento es una actividad especfica y predeterminada, iniciada por el
usuario o por el sistema. Los eventos, en la mayor parte de los casos,
se generan por interaccin del usuario. Por ejemplo, con un telfono, se
desencadena un evento cuando un usuario descuelga el receptor. Los
eventos tambin se desencadenan cuando el usuario presiona los
botones para efectuar una llamada.
En Visual FoxPro, las acciones del usuario que desencadenan eventos
incluyen clics, movimientos del mouse y pulsaciones de teclas. nicializar
un objeto y encontrar una lnea de cdigo que produce un error son
eventos iniciados por el sistema.
Los mtodos son procedimientos asociados a un objeto. Los mtodos se
diferencian de los procedimientos normales de Visual FoxPro en que
estn vinculados inseparablemente a un objeto y tienen nombres
distintos que los procedimientos normales de Visual FoxPro.
Los eventos pueden tener mtodos asociados. Por ejemplo, si se
escribe cdigo de mtodo para el evento Click, ese cdigo se ejecutar
cuando se produzca el evento Click. Los mtodos tambin pueden
existir independientemente de los eventos. Se debe llamar a estos
mtodos de forma explcita en el cdigo.
El conjunto de eventos es limitado, aunque amplio. No es posible crear
nuevos eventos. Sin embargo, el conjunto de mtodos puede ampliarse
indefinidamente.
b. Programacin Basada en Objetos
El diseo orientado a objetos y la programacin orientada a objetos
representan un cambio de perspectiva con respecto a la programacin
estndar por procedimientos. En lugar de pensar en el flujo del
programa desde la primera hasta la ltima lnea de cdigo, se debe
pensar en la creacin de objetos: Componentes autocontenidos de una
aplicacin que tienen funcionalidad privada adems de la funcionalidad
que se puede exponer al usuario.
En Visual FoxPro, los formularios y los controles son objetos que puede
incluir en sus aplicaciones. Puede manipular estos objetos a travs de
sus propiedades, eventos y mtodos. Las mejoras en el lenguaje
orientado a objetos de Visual FoxPro proporcionan un mayor control
sobre los objetos de las aplicaciones. Asimismo, facilitan la creacin y el
mantenimiento de bibliotecas de cdigo reutilizable, proporcionando:
Cdigo ms compacto.
ncorporacin ms sencilla del cdigo a las aplicaciones sin
necesidad de elaborar esquemas de asignacin de nombres.
Menos complejidad al integrar cdigo de distintos archivos en una
aplicacin.
Un objeto tiene ciertas propiedades o atributos. Por ejemplo, un telfono
tiene un color y un tamao determinados. Cuando se instala un telfono
en la oficina, tiene una determinada posicin sobre la mesa. El receptor
puede estar colgado o descolgado.
Los objetos que se crean en Visual FoxPro tambin tienen propiedades
que estn determinadas por la clase en la que se basa el objeto. Estas
propiedades pueden establecerse en tiempo de diseo o en tiempo de
ejecucin.
Cada objeto reconoce y puede responder a determinadas acciones
denominadas eventos.
En Visual FoxPro llamamos objeto a todo lo que veamos en pantalla:
Botones, cuadros de texto, casillas de verificacin, cuadros de lista
desplegable, formularios; en fin, todo objeto visual presente en pantalla.
c. Entorno de desarrollo
i. Barra de mens
Por medio de esta barra podemos acceder a todas las opciones que
Visual FoxPro ofrece, como abrir o crear bases de datos, reportes,
consultas, etc.
ii. Barras de herramientas
Por medio de las barras de herramientas podemos acceder a las
opciones que ms se utilizan, sin necesidad de ir a los mens que
las contienen, a manera de atajo. Son muy tiles a la hora de disear
los componentes de nuestra aplicacin, especficamente formularios
e informes, ya que cada uno de estos posee su propia barra de
herramientas de controles.
iii. Administrador de proyectos
Un proyecto en Visual FoxPro es el conjunto de formularios,
reportes, bases de datos, tablas libres, programas, mens y dems
elementos que forman parte de una aplicacin que se est
construyendo, y que por lo general se convertir en un programa
ejecutable.
El Administrador de proyectos permite compilar la aplicacin
completa. En la fase de programacin de la aplicacin, el
Administrador de proyectos facilita el diseo, la modificacin y la
ejecucin de los componentes individuales de su aplicacin.
Cuando utilice el Administrador de proyectos, podr:
Modificar y ejecutar partes de su aplicacin (formularios, mens,
programas) con tan slo algunos clics.
Arrastrar clases, tablas y campos desde el Administrador de
proyectos hasta el Diseador de formularios o el Diseador de
clases.
Arrastrar clases entre bibliotecas de clases.
Ver y modificar fcilmente sus tablas y bases de datos.
Agregar descripciones para los componentes de la aplicacin.
Arrastrar y colocar elementos entre proyectos.
Cada proyecto divide todos sus componentes en diferentes
categoras, agrupndolos en el Administrador de proyectos en
diferentes fichas o tabs:
iv. Ventana de comandos
Puede ejecutar un comando de Visual FoxPro si lo escribe en la
ventana Comandos y presiona ENTRAR. Para volver a ejecutar el
comando, lleve el cursor a la lnea que contiene el comando y
presione nuevamente ENTRAR.
Puede ejecutar varias lneas de cdigo en la ventana Comandos
como si constituyeran un programa. Para esto seleccione las lneas
de cdigo y presione ENTRAR o elija Ejecutar seleccin en el men
emergente.
Como la ventana Comandos es una ventana de edicin, puede
modificar comandos con las herramientas disponibles en Visual
FoxPro. Puede modificar, insertar, eliminar, cortar, copiar o pegar
texto en la ventana Comandos.
La ventaja que supone poder escribir cdigo en la ventana
Comandos radica en el hecho de que las instrucciones se ejecutan
de inmediato. No es necesario guardar un archivo y ejecutarlo como
un programa.
Adems, las opciones que elige en los mens y los cuadros de
dilogo aparecen en la ventana Comandos como comandos. Puede
copiar y pegar estos comandos en un programa de Visual FoxPro y a
continuacin ejecutar el programa repetidamente, lo cual facilita la
ejecucin de miles de comandos, una y otra vez.
Si la ventana no se encuentra visible en la pantalla principal, se
puede activar desde el men Ventana/Ventana de comandos o
presionando Ctrl+F12.
d. Proectos
Para crear un proyecto, vamos al men Archivo/Nuevo y aparece la
siguiente pantalla:
Seleccionamos Proyecto y hacemos clic en el botn Nuevo archivo;
luego aparecer el siguiente cuadro de dilogo pidiendo la ubicacin del
nuevo proyecto:
Una vez guardado el proyecto aparecer en la ventana de Proyectos,
con el nombre que le dimos.
Un proyecto de Visual FoxPro consta de componentes independientes
que se almacenan como archivos individuales. Por ejemplo, un proyecto
sencillo puede constar de formularios (archivos .scx), informes
(archivos .frx) y programas (archivos .prg y .fxp). Adems un proyecto
suele tener una o varias bases de datos (archivos .dbc), tablas
(almacenadas en archivos .dbf y .fpt) e ndices (archivos .cdx e .idx).
Para incluirse en una aplicacin, el archivo ha de agregarse al proyecto.
De esa manera, al compilar la aplicacin, Visual FoxPro puede incluir los
archivos de ese componente en el producto terminado.
Puede agregar fcilmente archivos a un proyecto de varias maneras:
Para crear un proyecto y agregar archivos existentes, use el
Asistente para aplicaciones.
Para agregar automticamente archivos nuevos a un proyecto, abra
un proyecto y, a continuacin, cree los archivos nuevos en el
Administrador de proyectos.
Para agregar archivos existentes a un proyecto, abra un proyecto y
agrguelos con el Administrador de proyectos.
e. Bases de datos tablas
En Visual FoxPro se utilizan bases de datos para organizar y relacionar
tablas y vistas. La base de datos proporciona la arquitectura necesaria
para almacenar los datos y cuenta adems con otras ventajas. Al utilizar
una base de datos, puede crear extensiones a nivel de tabla, tales como
reglas a nivel de campo o de registro, valores predeterminados para los
campos y desencadenantes. Tambin puede crear procedimientos
almacenados y relaciones persistentes entre tablas. La base de datos
puede utilizarse para tener acceso a conexiones con orgenes de datos
remotos y tambin para crear vistas de tablas remotas y locales.
Los trminos "base de datos" y "tabla" no son sinnimos en Visual
FoxPro. El trmino base de datos (archivo .dbc) se refiere a una base de
datos relacional que almacena informacin sobre una o ms tablas
(archivos .dbf) o vistas.
Al disear una base de datos, en primer lugar debe dividir la informacin
que desea almacenar como temas distintos y despus indicar a Visual
FoxPro cmo se relacionan estos temas para que pueda recuperar la
informacin correcta cuando sea necesario. Si mantiene la informacin
en tablas separadas facilitar la organizacin y el mantenimiento de los
datos y conseguir aplicaciones de alto rendimiento.
A continuacin se indican los pasos que hay que seguir en el proceso de
diseo de una base de datos.
1. !eterminar el "ro"sito de la base de datos. Este paso le ayudar
a decidir los datos que desea que Visual FoxPro almacene.
2. !eterminar las tablas necesarias. Cuando ya conoce claramente el
propsito de la base de datos, puede dividir la informacin en temas
distintos, como "Empleados" o "Pedidos". Cada tema ser una tabla
de la base de datos.
3. !eterminar los cam"os necesarios. Tiene que decidir la
informacin que desea incluir en cada tabla. Cada categora de
informacin de una tabla se denomina campo y se muestra en forma
de columna al examinar la tabla. Por ejemplo, un campo de la tabla
Empleado podra ser Apellidos y otro podra ser Fecha_cont.
4. !eterminar las relaciones. Observe cada tabla y decida cmo se
relacionan sus datos con los de las tablas restantes. Agregue
campos a las tablas o cree tablas nuevas para clarificar las
relaciones, si es necesario.
5. Perfeccionar el dise#o. Busque errores en el diseo. Cree las
tablas y agregue algunos registros de datos de ejemplo. Vea si
puede obtener los resultados que desea de sus tablas. Haga los
ajustes necesarios al diseo.
i. Creacin de una base de datos
Seleccionamos la ficha Datos en el Administrador de Proyectos y
elegimos la opcin Bases de datos; luego hacemos clic en Nuevo:
Luego aparecer el cuadro de dilogo solicitando la ubicacin de la
base de datos:
Una vez creada la base de datos, debe aparecer el Contenedor de la
Base de Datos, como se muestra a continuacin:
Una breve descripcin de los botones de la barra de herramientas
del contenedor es la siguiente:
Nueva tabla
Agregar tabla
Eliminar tabla
Nueva vista remota
Nueva vista local
Modificar tabla
Examinar tabla
Editar procedimientos almacenados
Conexiones externas
Al crear una nueva base de datos, sta estar vaca, pues no
contendr tablas asociadas ni ningn otro objeto. Al agregar una
tabla se crean vnculos entre el archivo de tabla y el contenedor de la
base de datos.
ii. Creacin de tablas
Cada tabla de Visual FoxPro puede existir en uno de dos estados:
Como tabla libre, que es un archivo .DBF no asociado a ninguna
base de datos, o como tabla de base de datos, que es un archivo
.dbf asociado a una base de datos. Las tablas asociadas a una base
de datos pueden tener propiedades que no tienen las tablas libres,
como las reglas a nivel de campo y a nivel de registro, los
desencadenantes y las relaciones persistentes.
Las tablas se asocian a una base de datos al crearlas desde dentro
de una base de datos abierta o al agregar tablas existentes a una
base de datos.
Para crear una tabla, debemos ir a la ficha Datos y seleccionar la
base de datos a la cual se quiere agregar la tabla, dndole doble clic
sobre ella, y posteriormente seleccionar la opcin Tablas, para
despus hacer clic sobre el botn Nuevo:
Al hacer clic sobre el botn Nuevo aparecer el cuadro en el cual nos
pregunta si deseamos una Tabla en blanco, o queremos usar el
Asistente para Tablas. Seleccionaremos Tabla en Blanco:
Al hacer clic sobre el botn $abla %ueva entonces deber aparecer
de nuevo la ventana donde nos pide un Nombre y una ubicacin
para la Tabla (la tabla se guarda con extensin DBF).
Una vez habiendo elegido un nombre y una ubicacin donde
quedar almacenada la tabla que vamos a crear, nos aparecer el
Diseador de Tablas:
Definicin de campos:
Se introduce el nombre del campo (nombre) el tipo de datos que
soportar (Tipo) y el tamao.
Definicin de Mostrar:
Formato : Es el formato de salida del campo; si fuera numrico
9,999.99 o si fuera carcter !!!!!!!!!!!!, para que solo acepte
maysculas.
M&scara de Entrada' gual que el Formato, lo nico que es para la
entrada de datos.
$itulo' Descripcin ms precisa del campo, es de utilidad al disear
los Formularios.
Definicin de reglas de validacin a nivel de campo:
Las validaciones son eventos que se ejecutan a nivel de campo.
Ejemplo: una validacin de un campo que slo acepte nmeros
positivos. (id > 0)
Regla: Es la regla de validacin, ejemplo: id > 0, si queremos que
acepte valores positivos.
Mensaje: Es el mensaje personalizado que queremos que aparezca
en pantalla a la hora de violarse la regla de validacin del campo.
Ejemplo: 'Slo se aceptan nmeros positivos' (el texto debe
escribirse entre comillas).
Valor Predeterminado: Valor por defecto del campo (hay que
respetar el tipo de dato del campo).
Tipos de campos:
$i"o !escri"cin Ejem"lo
Carcter Texto alfanumrico La direccin de un cliente
Monetario Unidades monetarias Precio de compra
Numrico Nmeros enteros o decimales de hasta
20 dgitos
Cantidad de artculos pedidos
Flotante gual que Numrico
Fecha Da, mes y ao, el formato puede
depender del estado del comando SET
DATE
Fecha en que se realiz un pedido
FechaHora Datos cronolgicos que constan de da,
mes, ao, horas, minutos y segundos
Fecha y hora en que un empleado
lleg al trabajo
Doble Puede guardar un valor numrico de
signo flotante de doble precisin
Datos procedentes de experimentos
que requieren un elevado grado de
precisin
Entero Valores numricos no decimales
(nmeros enteros)
Nmero de lnea de un pedido
Lgico Verdadero o Falso Si se ha completado o no un pedido
Memo Texto alfanumrico de longitud
indeterminada, similar a un procesador
de texto
Notas de un registro telefnico sobre
las llamadas
General Permite guardar datos tipo OLE, por
ejemplo imgenes, sonidos u otros
creados por una aplicacin diferente.
Hoja de clculo de Excel, un control
ActiveX
Carcter
(binario)
gual que Carcter, pero los valores no
se traducen cuando cambia la tabla de
cdigos
Las contraseas de usuario
almacenadas en una tabla y usadas en
distintos pases
Memo (binario) gual que Memo, pero los valores no se
traducen cuando cambia la tabla de
cdigos
Un archivo de comandos de inicio de
sesin empleado en distintos pases
iii. ndexacin
Cuando haya creado una tabla, puede ordenar los datos para
acelerar la obtencin de datos mediante ndices. Con los ndices,
puede procesar rpidamente los registros para mostrarlos,
consultarlos o imprimir. Tambin puede seleccionar registros,
controlar si se introducen valores duplicados en un campo y admitir
relaciones entre tablas.
VFP ofrece cuatro tipos de ndice diferentes, cada uno con
caractersticas predeterminadas:
Principal
Candidato
Normal
nico
Los ndices principales aseguran que slo se introducen valores
nicos en un campo y determinan el orden en el que se procesan los
registros. Puede crear un ndice principal para cada tabla si la tabla
est incluida en la base de datos. Si la tabla ya tiene un ndice
principal, agregue un ndice candidato. Este ndice es el que define el
campo clave.
Los ndices candidatos tambin imponen valores nicos y determinan
en qu orden se procesan los registros, como un ndice primario.
Puede tener varios ndices candidatos por tabla en bases de datos y
en tablas libres.
Los ndices normales determinan el orden en que se procesan los
registros pero permite que se introduzcan valores duplicados en un
campo. Puede agregar ms de un ndice normal a una tabla.
Por compatibilidad con versiones anteriores, tambin puede crear
un ndice nico que selecciona y ordena un subconjunto de registros
segn la primera aparicin de un valor en el campo que especifique.
Si quiere seleccionar registros de esta manera, es posible que quiera
crear una consulta o una vista en lugar de ello.
iv. Relaciones entre tablas
Los ndices permiten establecer relaciones persistentes entre las
tablas de una base de datos. Las relaciones persistentes son
relaciones entre tablas de base de datos almacenadas en el archivo
de la base de datos y se utilizan automticamente como condiciones
predeterminadas de combinacin en el Diseador de consultas y en
el Diseador de vistas. Las relaciones persistentes aparecen tambin
en el Diseador de bases de datos en forma de lneas que unen los
ndices de las tablas y son las relaciones predeterminadas al utilizar
las tablas en el entorno de datos.
Al establecer una relacin temporal entre tablas, se hace que el
puntero de registro de una tabla (la tabla secundaria) siga
automticamente los movimientos del puntero de la otra (la tabla
primaria), lo que permite seleccionar un registro en el lado 'uno', o
primario, de una relacin y tener acceso automticamente a los
registros relacionados del lado 'varios', o secundario.
Las relaciones persistentes entre tablas se crean arrastrando la llave
de una tabla a un ndice de la otra tabla.
A diferencia de las relaciones temporales establecidas con el
comando SET RELATON, las relaciones persistentes no tienen que
establecerse de nuevo cada vez que se utilizan las tablas. Sin
embargo, las relaciones persistentes no controlan la relacin entre
los punteros de registros, por lo que deber utilizar ambos tipos al
programar aplicaciones con Visual FoxPro.
f. Vistas
Si desea un conjunto de datos personalizado y actualizable para su
aplicacin, puede utilizar vistas. Las vistas combinan las cualidades de
las consultas y las tablas: al igual que una consulta, puede utilizar una
vista para extraer un conjunto de datos de una o ms tablas
relacionadas; y como en una tabla, puede utilizar una vista para
actualizar la informacin de la misma y almacenar definitivamente en
disco sus resultados.
Primero debemos ir a la ficha Datos del Administrador de proyectos,
seleccionar la Base de Datos, posteriormente seleccionar la opcin
Vistas Locales y hacer clic en el Botn Nuevo, o bien entrar al Diseador
de Bases de Datos y hacer clic en el botn para crear Vistas Locales.
(rear Vista )ocal
Al hacer clic sobre cualquiera de las opciones anteriormente
mencionadas, deber aparecer la siguiente pantalla, donde se nos
pregunta si es una Vista en Blanco, o deseamos utilizar el Asistente.
Hacemos clic sobre la Vista en Blanco, como se muestra en la siguiente
figura.
Ventana de creacin de la vista:
(am"os: Aqu se seleccionan los campos de la vista (SELECT
campos).
(ombinacin: Relaciones entre tablas.
Filtro: Condicin de filtrado (WHERE condicin).
Ordenar "or: Campos de ordenamiento (ORDER BY).
*gru"ar "or: Campos de Agrupamiento (GROUP BY).
g. Ejercicios "r&cticos
Cree las siguientes tablas dentro de la base de datos Curso:
$EM*+.!BF
%ombre del (am"o $i"o de !ato )ongitud
Tema_id Entero 4
Tema Carcter 50
)IB,O*-$O,. !BF
%ombre del (am"o $i"o de !ato )ongitud
Libro_id entero 4
Autor_id entero 4
*-$O,E+.!BF
%ombre del (am"o $i"o de !ato )ongitud
Autor_id Entero 4
Nombre Carcter 50
Apellido Carcter 50
Notas Memo
Direccin Carcter 30
Ciudad Carcter 25
Estado Carcter 10
Zona postal Carcter 5
Telfono Carcter 17
Fax Carcter 17
Email Carcter 30
)IB,O+.!BF
%ombre del (am"o $i"o de !ato )ongitud
Libro_id Entero 4
Ttulo Carcter 50
Tema_id Entero 4
Ao Copyright Entero 4
SBN Carcter 50
Nombre editorial Carcter 50
Precio de venta Numrico 8,2
Cubierta Carcter 10
Fecha de edicin Fecha 8
Pginas Entero 4
Notas Memo
ncluya algunos valores en las tablas para poder trabajar con ellas y
obtener resultados.
Crear una vista donde aparezcan los siguientes campos:
o De la tabla *utores, todos los campos.
o De la tabla )ibros. todos los campos.
La tabla intermedia de relacin ser la tabla )ibroautor.
Para ver el resultado de la vista, hay que hacer clic en el botn Ejecutar
que se encuentra sobre la barra de herramientas Estndar.
Una vez hecho clic sobre este botn, debe aparecer para esa vista la
ventana de Examinar.
/. (omandos de Visual FoxPro
Los siguientes comandos se pueden utilizar en Ventana de Comandos o
dentro de un programa, como se muestra en la siguiente figura:
(omandos'
Para Cambiar de directorio de Trabajo:
+E$ !EF*-)$ $O ruta de directorio
Ejemplo:
SET DEFAULT TO C:\SSTEMAS\CAJA
Limpiar la Pantalla Principal de Visual FoxPro:
()E*,
Mostrar los archivos del directorio:
!I,
Ejemplos:
DR
DR *TXT
DR C:\SSTEMAS\CENTRAL
Para que Visual FoxPro no muestre los resultados de los comandos:
+E$ $*)0 OFF
Esto se hace porque al borrar, crear ndices, etc., en la pantalla de Visual
FoxPro se van mostrando los resultados; es por eso que en un programa se
debe de incluir.
Para cambiar el Formato de la Fecha:
+E$ !*$E $O formato
Ejemplos:
SET DATE TO DMY
SET DATE TO MDY
SET DATE TO BRTSH
Para salir de Visual FoxPro:
1-I$
Para cancelar la ejecucin de un Programa:
(*%(E)
Para Abrir una Base de Datos:
OPE% !*$*B*+E Nombre de la Base de Datos
Ejemplo:
OPEN DATABASE NOMNA
Para Cerrar una Base de Datos:
()O+E !*$*B*+E+
Para Abrir una Tabla:
-+E Nombre de la Tabla
Ejemplo:
USE clientes
USE clientes ORDER TAG nombre
(Se selecciona el ndice al abrir la tabla para no usar SET ORDER)
Para cerrar una tabla:
-+E
Para cerrar todas las tablas:
()O+E $*B)E+
Agregar un registro en blanco:
*PPE%! B)*%0
Eliminar registros:
!E)E$E
Ejemplos:
DELETE (borrar el actual)
DELETE ALL (borrar todos)
DELETE FOR depto = "0132 (borrar slo los de ese depto.)
DELETE NEXT 5 (borrar los siguientes 5 registros despus del actual)
Recuperar registros marcados como borrados:
,E(*))
Ejemplo:
RECALL (recobrar el actual)
RECALL ALL (recobrar todos los marcados)
RECALL FOR depto = "01232 (recobrar los de ese depto.)
RECALL NEXT 5 (recobrar los siguientes 5 despus del actual)
Eliminar los registros borrados como marcados:
P*(0
Eliminar todos los registros definitivamente (ya no se pueden recobrar):
2*P
Para ir al primer registro de la tabla:
3O $OP
Para ir al ltimo registro de la tabla:
3O BO$$OM
Para ir a un registro especfico:
3O nmero de registro
Ejemplo:
3O 14
Para brincar de registro:
+0IP
Ejemplo:
SKP 1 (brincar 1 registro hacia delante)
SKP 1 (brincar 1 registro hacia atrs)
Para abrir una o varias tablas (reas de trabajo):
+E)E($ rea de trabajo (nmero o letra)
-+E Tabla
Ejemplo:
SELECT A
USE Clientes
SELECT B
USE Proveedores
o
USE Clientes in A
USE Proveedores in B
Para cambiar de rea de trabajo:
+E)E($ rea de trabajo
Ejemplo:
SELECT A o SELECT Clientes
Para establecer el ndice de trabajo:
+E$ O,!E, $O nombre del ndice
Ejemplo:
SET ORDER TO nombre
Para no utilizar ningn ndice de trabajo:
+E$ O,!E, $O
Para establecer filtros de condicin:
+E$ FI)$E, $O condicin del filtro
Ejemplos:
SET FLTER TO sueldo> 1000
SET FLTER TO sueldo > 1000 .and. sueldo < 3000
SET FLTER TO sueldo = 1000 .or. sueldo = 2000
SET FLTER TO depto < > "0004 .and. (sueldo = 1000 .or. sueldo = 2000)
Primero se evalan las que estn en parntesis y despus las que estn
fuera
Para buscar informacin sin ndice activo:
)O(*$E FO, condicin de bsqueda
Ejemplo:
LOCATE FOR numero_empleado = "09499
Para buscar informacin con un ndice activo:
+EE0 informacin a buscar (variable, nmero o cadena de texto
Ejemplos:
SEEK "09499
SEEK num empleado
SEEK 1235
Para esto ha de haber un ndice activo con SET ORDER TO o haber abierto
la tabla con la opcin ORDER TAG nombre del ndice.
Examinar la informacin:
B,O5+E
Ejemplos:
USE empleado
BROWSE
o
BROWSE FELDS clave, nombre, sueldo (aqu se omiti el depto)
o
BROWSE FOR depto = "0003 (slo ese depto)
Listar registros en pantalla:
)I+$ [Campos] (opcional)
Ejemplos:
LST (lista todos los campos en pantalla)
LST clave, nombre, sueldo (lista slo esos campos)
LST FOR depto = "0012 (lista solo los de ese depto)
LST OFF (listar sin el nmero de registro)
Aqu se pueden utilizar una mezcla de todas, la nica desventaja es que si
son demasiados registros, los lista pero no hace pausa para que puedas
leerlos, si no que los despliega todos, y recorre los primeros registros hacia
arriba y ya no se pueden ver.
Listar registros hacia la impresora:
gual que la anterior slo que al final de la instruccin se le agrega $O
P,I%$
Ejemplo:
LST OFF clave, nombre, sueldo TO PRNT
Desplegar registros en pantalla:
Para esto slo se sustituye la instruccin )I+$ por !I+P)*6
Con esto tienes la ventaja de que cuando se llama la pantalla de registros,
el Visual FoxPro hace una Pausa para que los puedas leer y despus
continuar.
Modificar la estructura de una tabla:
MO!I F6 +$,-($-,E
Desplegar en pantalla o impresora la estructura de una tabla:
!I+P)*6 +$,-($-,E
o
!I+P)*6 +$,-($-,E $O P,I%$
7. O"eradores
a. O"eradores %um8ricos
Los operadores para el tipo Numrico trabajan con todos los valores del
tipo Numrico. En la siguiente tabla se muestran los operadores para el
tipo Numrico en orden de prioridad.
O"erador *ccin (digo
( ) Subexpresiones de grupo (4-3) * (12/nVar2)
**, ^ Potenciacin ? 3 ** 2
? 3 ^ 2
*, / Multiplicacin y divisin ? 2 * 7
? 14 / 7
% Mdulo (resto) ? 15 % 4
+, - Suma y resta ? 4 + 15
b. O"eradores )gicos
Los operadores para el tipo Lgico funcionan con todos los tipos de
datos y devuelven un valor lgico. En la siguiente tabla se muestran los
operadores para el tipo Lgico en orden de preferencia.
O"erador *ccin (digo
( ) Grupos de expresiones cVar AND (cVar2 AND
cVAR3)
NOT, ! Lgico negativo F NOT cVarA = cVarB
F ! nVar1 = nVar2
AND AND lgico lVar0 AND lVar9
OR OR lgico inclusivo lVarX OR lVarY
c. O"eradores ,elacionales
Los operadores relacionales funcionan con todos los tipos de datos y
devuelven un valor Lgico. En la siguiente tabla se muestran los
operadores relacionales.
O"erador *ccin (digo
< Menor que ? 23 < 54
> Mayor que ? 1 > 2
= gual que ? cVar1 = cVar
<>, #, != Distinto de ? .T. <> .F.
<= Menor o igual que ? {^1998/02/16} <=
{^1998/02/16}
>= Mayor o igual que ? 32 >= nSuEdad
== Comparacin de cadenas
de caracteres
? status == "Abierto"
d. O"eradores de (ar&cter
Puede agrupar y comparar datos de caracteres con los operadores para
caracteres +, -, y $. En la siguiente tabla se muestran los operadores de
expresin de caracteres en orden de prioridad.
O"erador *ccin (digo
+ Concatenacin. Combina
dos cadenas, una cadena
y un campo, o una cadena
y una variable.
? 'Buenos ' + 'das'
- Concatenacin. Quita los
espacios finales del
elemento anterior al
operador y luego combina
dos elementos.
? cliente.nombre -
cliente.apellido
$ Comparacin. Busca una
expresin de caracteres
dentro de otra.
? 'padr' $ 'padrino'
? 'Principal' $ cliente.direccion
e. O"eradores "ara Fec9a :ora
O"erador *ccin (digo
+
Suma
tNuevoTime = tTime1 + nSegundos
dNuevaFecha = dFecha1 + nDias
-
Resta
nSegundos = tTime1 - tTime2
tNuevoTime = tTime1 - nSegundos
dNuevaFecha = dFecha1 - nDias
;. (reacin de Informes
Los informes muestran datos y resumen de datos en un formulario impreso
o en pantalla. Los dos componentes principales de los informes son los
datos y el formato. La fuente de datos del informe puede ser una tabla de
base de dato, una consulta o una vista.
El primer paso para disear un informe es determinar los datos que se van
a mostrar, y el segundo paso es determinar cul va a ser el mejor formato
para mostrar ese informe. Puede crear listados que se basen en una nica
tabla o en informes complejos.
El Generador de nformes es una herramienta flexible y de fcil uso para la
creacin, diseo y modificacin de informes.
Para crear un informe o reporte, primero debemos ir al Administrador de
Programas, despus seleccionar la pagina !ocumentos. y despus
seleccionar la opcin nformes y dar clic en el botn Nuevo, como se
muestra en la siguiente figura:
Despus de haber dado clic sobre el botn Nuevo, nos debe aparecer la
siguiente pantalla, donde nos pregunta que si deseamos usar el Asistente o
un Reporte en Blanco. Elegiremos Blanco. Para que despus nos aparezca
la pantalla del Diseador de nformes, como se muestra en la siguiente
figura:
a. Entorno de datos
Para crear el entorno de datos seleccionamos el botn Entorno de Datos
de la barra de herramientas !ise#ador de Informes, o hacer clic con el
botn derecho del mouse sobre cualquier rea del diseador de reportes
y seleccionar la opcin Entorno de !atos, al hacer esto aparecer la
ventana de Entorno de Datos, donde deber hacer clic con el botn
derecho sobre la ventana del Entorno de Datos y seleccionar la opcin
agregar, es entonces cuando aparecer la ventana donde
seleccionaremos la(s) tabla(s) a utilizar en el reporte, como se muestra
en la siguiente figura:
Una vez escogiendo la(s) tabla(s) y habiendo hecho clic el botn
Agregar para cada una de las tablas que vamos a usar, en el Entorno de
Datos aparecer la(s) tabla(s) que se escogieron, como se muestra en
la siguiente figura:
Para establecer un orden (ndice) a la tabla seleccionada, debemos
hacer clic con en el botn Propiedades de la barra de herramientas
Diseador de nformes o con el botn derecho del mouse sobre la tabla
que deseamos y seleccionar la opcin Propiedades, una vez haciendo
esto aparecer la ventana de Propiedades de esa tabla, como se
muestra en la siguiente figura:
b. (omandos "ara mani"ular los Informes
$exto' Seleccionar la herramienta Texto de la Barra de herramientas, y
despus hacer clic en el lugar y seccin del reporte que se desea, y
escribir el texto, como se muestra en la siguiente figura:
Si deseamos dar formato a este texto, es decir, ponerlo en negritas por
ejemplo, debemos seleccionar el men Formato/Fuente.
Para editar un Texto dentro de un reporte debemos seleccionar la
herramienta Texto y hacer clic en el texto a modificar.
*gregar (am"o: Seleccionar la herramienta Campo de la barra de
herramientas y despus hacer clic en el lugar donde deseamos que
aparezca ese campo, una vez dando clic en el lugar deseado, aparecer
la siguiente pantalla donde elegiremos el campo que deseamos de la
Tabla, como se muestra en la siguiente figura:
Si deseamos por ejemplo, poner en negritas un campo vamos al men
Formato/Fuente. Para modificar un campo, basta con hacer doble clic
sobre el campo y aparecer la ventana anteriormente mostrada.
*gregar (am"o (3enerador de Ex"resiones<' Cuando la necesidad
es mostrar por ejemplo dos campos juntos, o el clculo entre dos
campos numricos, se debe hacer clic sobre el botn que se encuentra
a un lado del cuadro de texto Ex"resin como se muestra en la
siguiente figura.
Una vez, habiendo hecho clic sobre este botn, deber aparecer la
ventana del Generador de Expresiones, como se muestra en la
siguiente figura:
*gregar (am"o (alculado: Cuando tenemos la necesidad de mostrar,
por ejemplo, totales al final del reporte. Para agregar un campo
calculado, debemos agregar un campo nuevo, o seleccionar el campo
que queremos que sea calculado y aparecer la ventana de
Expresiones de nformes, donde se pona el nombre del campo y el
formato, all en esa ventana hay un botn que dice Clculos, al hacer
clic en ese botn, te debe aparecer la ventana Calcular Campo, como se
muestra en la siguiente figura:
Banda de ,esumen: La banda de resumen es la que se usa para
mostrar totales al final del reporte, y por lo tanto slo se imprime en la
ltima hoja. Por defecto cuando se disea un reporte en Visual FoxPro
no aparece la banda de resumen, esta se agrega en el men nforme/
Ttulo/Resumen, entonces aparece la ventana Ttulo/Resumen, donde
debemos marcar la banda que deseamos se agregue al reporte; una vez
habiendo elegido la banda de resumen se debe agregar al diseador de
reportes, como se muestra en la siguiente figura:
3uardar un informe: Para guardar un informe hay que hacer clic sobre
el botn de 3uardar que se encuentra en la barra de herramientas
Est&ndar. o ir al men Archivo/Guardar. Una vez hecho esto aparecer
la pantalla de Guardar archivo.
Los informes se guardan con la extensin FRX. Una vez guardado el
informe, este se agregar al Administrador de Proyectos en la ficha
!ocumentos. seccin Informes. Para ver una vista preliminar del
reporte, hay que hacer clic sobre el botn Vista Preliminar de la barra
de herramientas Estndar o bien, ir al men Archivo/Vista Previa, o en
otro caso ir al Administrador de Proyectos, seleccionar el reporte y hacer
clic en el botn Vista Previa. En cualquiera de los casos debe aparecer
la Ventana de Vista Preliminar para el reporte seleccionado, como se
muestra en la siguiente figura:
c. *sistente "ara Informes
El asistente para reportes es una opcin la cual nos permite crear un
reporte por medio del asistente, el cual nos gua a travs de una serie
de pasos. Para crear un reporte a travs del asistente, lo podemos
hacer haciendo clic sobre el botn nformes en la barra de herramientas
Est&ndar. o seleccionando la ficha Datos del Administrador de
Proyectos, seleccionando la opcin informes y despus dando clic en el
botn %uevo. y Visual FoxPro preguntar si deseamos un reporte en
blanco o queremos utilizar el asistente.
En cualquiera de los dos casos aparecer la ventana donde
seleccionaremos el Asistente para el Tipo de Reporte que deseamos
utilizar, como se muestra en la siguiente figura:
*sistente "ara Informes' Con este asistente se puede generar un
reporte sencillo de una sola tabla.
*sistente "ara informes de gru"os=totales' Con este asistente
podemos crear reportes agrupados con subtotales por grupo.
*sistente "ara informes de uno a varios' Con este asistente podemos
crear reportes como en las relaciones 1 a muchos.
Pasos "ara -tili>ar el *sistente "ara Informes
Ya una vez activado el Asistente y habiendo seleccionado por ejemplo la
primera opcin que es Asistente para nformes, y dando clic en Aceptar,
aparecer una ventana donde seleccionaremos la Base de Datos, la
Tabla y los campos que queremos en el reporte, como se muestra en la
siguiente figura:
Una vez habiendo seleccionado la Base de Datos, la Tabla y los
Campos que deseamos aparezcan en el reporte, debemos hacer clic en
el botn Siguiente, y aparecer una ventana donde elegiremos el estilo
del reporte, donde tenemos 3 opciones disponibles, como se muestra en
la siguiente figura:
Una vez seleccionado el Estilo de presentacin para el Reporte,
debemos hacer clic en el botn Siguiente, entonces nos aparecer una
ventana donde elegiremos el Diseo para el Reporte, como se muestra
en la siguiente figura:
Una vez habiendo seleccionado el Diseo para el reporte, debemos
hacer clic en el botn Siguiente, entonces aparecer una ventana donde
se nos preguntar por cul campo se quiere ordenar el reporte, como se
muestra en la siguiente figura:
Una vez seleccionado(s) el (los) campo(s) por el (los) cual (cuales) se
ordenar el reporte, debemos hacer clic sobre el botn Siguiente, y
aparecer la ventana final del asistente donde nos da varias opciones
para guardar el reporte, como se muestra en la siguiente figura:
Una vez seleccionada la opcin deseada para guardar el reporte, hay
que hacer clic en el botn Finalizar para que guarde el reporte con el
nombre que se le dio y lo agregue a la ficha Documentos, seccin
informes.
Barra de (ontroles de Informes
+eleccionar Objeto
Seleccionar un objeto dentro del reporte para moverlo o modificar otros
datos
:erramienta "ara $exto
Seleccionar un objeto colocado dentro del Reporte
:erramienta (am"o
Agregar o modificar campos de una tabla a un reporte.
:erramienta "ara )?neas
Dibujar lneas, horizontales o verticales dentro del reporte.
:erramienta "ara cuadros
Dibujar rectngulos dentro del reporte.
:erramienta "ara (?rculos o Eli"ses
Dibujar crculos o elipses dentro del reporte.
:erramienta "ara blo@uear los objetos
Para permitir o no permitir que se modifique, la posicin de los objetos
contenidos dentro del reporte.
A. (reacin de Formularios
Los formularios no slo sirven para ofrecer a los usuarios una interfaz
familiar para ver e introducir datos en una base de datos, sino que tambin
ofrecen un amplio conjunto de objetos que pueden responder a los eventos
del usuario (o del sistema) permitindole realizar las tareas de
administracin de informacin de la forma ms sencilla e intuitiva posible.
Para crear un formulario, primero debemos ir al Administrador de
Proyectos, despus seleccionar la ficha Documentos, y despus
seleccionar la opcin Formularios y dar clic en el botn Nuevo, como se
muestra en la siguiente figura.
Un formulario sencillo, es el que es realizado generalmente utilizando una
sola tabla.
Un ejemplo tpico de formularios sencillos son las pantallas de los catlogos
de un sistema (archivos maestros), que solamente tienen la funcin de
registrar, modificar, eliminar y consultar datos de una tabla.
a. Asistente para Formularios
Para crear un formulario con el Asistente para Formularios, primero se
debe hacer clic sobre el botn Formularios que se encuentra en la barra
de herramientas Estndar, o seleccionar en el Administrador de
Proyectos la ficha Datos y despus la opcin Formularios y
posteriormente hacer clic en el botn Nuevo. Una vez hecho esto, nos
debe aparecer la siguiente pantalla, donde nos pregunta que si
deseamos usar el Asistente de Formularios o un Formulario en Blanco.
Una vez elegido que se utilizar el Asistente, aparecer una ventana en
la cual debemos escoger uno tipo de asistente, como se muestra en la
siguiente figura.
Asistente para Formularios: Con este asistente se puede generar un
formulario sencillo de una sola tabla.
Asistente para Formularios uno a varios: Con este asistente puedes
crear formularios de uno a varios, es decir, una relacin; por ejemplo los
libros de un autor.
Pasos "ara -tili>ar el *sistente "ara Formularios
Ya una vez activado el Asistente y habiendo seleccionado por
ejemplo la primera opcin que es Asistente para formularios, y
haciendo clic en Aceptar, debe aparecer una ventana donde se
selecciona la Base de Datos, la Tabla y los campos que se desean
en el formulario, como se muestra en la siguiente figura.
Una vez habiendo seleccionado la Base de Datos, la Tabla y los
Campos que deseamos que aparezcan en el reporte, debemos hacer
clic en el botn Siguiente, y aparecer una ventana donde se elige el
estilo del formulario y los tipos de botones, como se muestra en la
siguiente figura.
Una vez habiendo seleccionado el Estilo de presentacin para el
Formulario, se debe hacer clic en el botn Siguiente, entonces
aparecer una ventana donde se elige el campo por el cual se quiere
ordenar la informacin, como se muestra en la siguiente figura.
Una vez habiendo seleccionado el o los campos por los cuales se
ordenar la informacin, se debe hacer clic sobre el botn Siguiente. y
aparecer la ventana final del asistente donde hay varias opciones para
guardar el Formulario, como se muestra en la siguiente figura.
Una vez seleccionada la opcin deseada para guardar el formulario, hay
que hacer clic en el botn Finalizar para que guarde el formulario con el
nombre que se le dio y lo agregue a la ficha Documentos, seccin
Formularios.
Ejercicio. Crear un formulario para la tabla de Autores utilizando el
Asistente.
b. Diseador de formularios
En el diseador de formularios es donde se utilizan los objetos visuales
(controles) y podemos programar tanto sus propiedades como sus
eventos.
Para crear un formulario sin el Asistente, vamos a la ficha Documentos,
opcin formularios y hacemos clic en el botn Nuevo; cuando Visual Fox
pregunte si deseamos usar el Asistente o un formulario en blanco,
escogemos este ltimo. Posteriormente aparecer un entorno similar a
esta figura:
:erramientas de Formulario. Se utilizan para activar algunas opciones
cuando se est diseando el formulario. Se usa para activar la ventana
de Propiedades, la ventana del Entorno de Datos o para ver el cdigo de
algn objeto.
Formulario. Aqu es donde se dibujan todos los controles que se van a
utilizar, ya que el formulario es el contenedor.
Barra de (ontroles. Aqu se encuentran todos los controles disponibles
para poder ser utilizados en los formularios, como botones, listas, listas
desplegables, imgenes, etiquetas de texto, cuadros de texto de una
lnea y multilneas, etc.
Ventana de Pro"iedades. Aqu se cambian las propiedades de los
controles, las cuales varan de acuerdo al control seleccionado; estas
tambin pueden cambiarse por programacin.
Algunas propiedades comunes son:
Caption. El texto que aparece en un control.
BackColor. El color de fondo de un control.
ForeColor. El color del texto del control.
Visible. Para mostrar u ocultar el control.
Enabled. Para activar o desactivar el control.
Name. El nombre del control para poder hacer referencia a l en el
cdigo.
Value. El valor de algn control, como por ejemplo un cuadro de texto.
Para disear un formulario, se crea uno nuevo y se van agregando los
controles a utilizar; simplemente se selecciona el control deseado de la
barra de controles con un clic y se dibuja en la zona del formulario
donde deseemos que aparezca, haciendo arrastre con el ratn.
Para cambiar las propiedades del control seleccionado se debe utilizar
la ventana de Propiedades; si sta no se encuentra activa, se hace clic
en el botn Propiedades de la barra de herramientas de Formularios,
como se muestra en la figura.
i. Controles de formulario
Seleccionar. Para seleccionar un control en la barra de
herramientas o en el formulario.
Etiqueta (Label). Para colocar texto de informacin en el
formulario, como ttulos:
Seleccionar
control
Arrastrar
bordes
Cuadro de texto (TextBox). Para capturar la informacin del
usuario en una sola lnea, o para mostrar informacin de una
consulta, por ejemplo:
Cuadro de edicin: Similar al cuadro de texto, pero multilnea.
Botn de comando (CommandButton). Se usan para iniciar un
evento que genere alguna accin, como guardar, cancelar, cerrar,
moverse a otro registro, imprimir, etc.
Grupo de comandos (CommandGroup). Crea un grupo de
botones de comando que pueden manipularse individualmente o en
grupo.
Grupo de opciones (OptionGroup). Se usa para elegir una
opcin entre varias posibles dentro del grupo.
Casilla de verificacin (Check). Se usa para asignar un valor
verdadero o falso, dependiendo de si se marca o no la casilla.
Cuadro combinado (ComboBox). Para colocar una lista
desplegable en el formulario con una serie de valores, que al hacer
clic sobre l se despliegan sobre el formulario, pudiendo escoger
alguno de ellos.
Cuadro de lista (List). Similar al cuadro combinado, con la
diferencia que no se despliega sino que siempre est visible;
pudiendo definirse para una seleccin o para mltiples selecciones.
Control numrico. Es un cuadro de texto que slo acepta
valores numricos, con un incrementador/decrementador.
Cuadrcula (Grid). Se usa para desplegar informacin de tablas
y consultas en columnas y filas.
magen (mage). Para mostrar una imagen en un formulario.
ii. Entorno de datos
El entorno, al igual que el Diseador de nformes, es el lugar donde
se seleccionan la(s) tabla(s) con la(s) que va a trabajar el formulario.
Para activar la ventana del entorno de datos, se debe hacer clic
sobre el botn Entorno de datos en la barra de herramientas de
formularios o hacer clic con el botn derecho sobre algn lugar del
formulario y seleccionar la opcin Entorno de datos; una vez hecho
esto deber aparecer la ventana del entorno de datos; la primera vez
que se activa, es decir que no hay ninguna tabla seleccionada,
inmediatamente aparecer una ventana donde se elegir la o las
tablas a usar, como se muestra en la siguiente figura:
Para agregar la(s) tabla(s) al entorno de datos, basta con seleccionar
la(s) tabla(s) y hacer clic sobre el botn Agregar; una vez
agregada(s) la(s) tabla(s) se debe hacer clic en el botn Cerrar, para
cerrar la ventana de seleccin y que slo quede activa la del entorno
de datos.
Entorno de
datos
Seleccionar
tablas
B. Programacin en Visual FoxPro
En Visual FoxPro, no hay una norma de programacin estricta a seguir
como se hace por ejemplo en Pascal o C++, donde en una seccin se
declaran las variables globales, en una las funciones a utilizar, en otra las
variables locales para cada procedimiento, y que cada variable que se va a
usar debi haber sido declarada antes de su uso, adems que no se puede
cambiar su tipo de dato; lo cual es la mejor forma de programar, para no
crear malos hbitos. Lo mismo sucede con lenguajes como Visual Basic,
donde a las variables que se les puede cambiar el tipo se le llama de tipo
Variant; aunque en VB se puede decir que todas las variables que se
intenten utilizar, hayan sido previamente declaradas.
En Visual FoxPro las instrucciones se pueden escribir con sus cuatro
primeras letras; es decir que Visual FoxPro las reconoce, porque no hay una
sola instruccin que empiecen con las mismas 4 letras; esto puede ayudar
mucho a la hora de desarrollar un sistema, pero tambin puede hacer el
cdigo ms difcil de leer para quien no est acostumbrado a este estilo de
programacin.
a. Tipos de datos
Number Para almacenar valores numricos, como edades o sueldo
String Para almacenar valores alfanumricos
Date Para almacenar fechas, como por ejemplo la fecha de nacimiento
Logical Para almacenar valores booleanos (verdadero o falso)
Como ya se dijo en Visual FoxPro, no hay tanta rigidez a la hora de
declarar y usar variables, pero se siguen conservando algunas cosas;
como no poder unir una variable String con una variable tipo Date, sin
antes haber convertido la variable Date a String, para poder unirlas.
b. Declaracin de variables
Variables pblicas P-B)I( nombre de variable
Variables locales )O(*) nombre de variable
Al declarar variables pblicas o locales no es necesario poner un
PUBLC por cada variable, simplemente se separan las variables por
comas, por ejemplo: PUBLC nombre, direccin, telfono. Adems de
esto se puede apreciar que aqu no se estableci el tipo de dato,
simplemente se dijo si era pblica o local; por lo tanto despus de haber
declarado que tipo de variable es, habra que declarar el tipo de dato.
Declaracin de Tipos de Datos para Variables. En Visual FoxPro hay dos
formas de declarar los tipos de datos de las variables.
1. Estableciendo un valor para la variable, por ejemplo:
PUBLC nombre
Nombre = " "
Se puede apreciar que se le asign un carcter en blanco a esa
variable, sin embargo eso no quiere decir que no puede almacenar 255
caracteres de longitud.
2. Utilizando la palabra reservada STORE TO, por ejemplo:
STORE space(30) TO nombre
Aqu se utiliza la palabra reservada STORE que nos sirve para declarar
variables, posteriormente se utiliza una funcin para establecer cuntos
caracteres de longitud tendr esa variable; eso no quiere decir que no se
pueda modificar su longitud, y al final el nombre de la variable. Tambin
se pueden declarar varias variables con una longitud especfica,
separando las variables con comas, por ejemplo:
STORE space(35) TO nombre, direccin
STORE 0 TO edad, sueldo
Liberar la memoria utilizada por las variables. Cuando se declaran
variables y se usan en un programa, y por alguna razn esas variables
ya no son necesarias, lo ms conveniente es borrarlas de memoria, ya
que como Visual FoxPro consume memoria, se debe tratar de tener el
menor nmero de variables abiertas.
RELEASE variable
Ejemplo:
RELEASE nombre, direccin
Por ejemplo, al iniciar un programa se declaran variables para realizar
ciertos procesos en donde se almacenan valores en variables, pero esas
variables slo las usamos en ese momento, y en ese programa
ejecutamos otro programa de nuestro sistema; en ese momento se
declaran ms variables, y as sucesivamente; entonces se llega a un
punto donde se tienen muchas variables en memoria que ya no se estn
utilizando, por eso es conveniente que al detectar que esas variables ya
no tendrn un uso til posteriormente de donde fueron creadas, debern
ser borradas de memoria, para as tener un mejor rendimiento en el
sistema.
c. Sentencias de control
IF condicin $:E%
E)+E
E%!IF
Se utiliza para ejecutar una instruccin o conjunto de instrucciones de
acuerdo a una condicin que debe cumplirse.
Ejemplo:
F edad < 18 THEN
Wait window "Eres menor de Edad"
ELSE
Wait Window "Eres Mayor de Edad"
ENDF
!O (*+E
(*+E condicin
E%!(*+E
Se utiliza para ejecutar una instruccin o conjunto de instrucciones de
acuerdo a varios posibles valores para una variable o campo, este
sustituye al F...THEN, haciendo el cdigo ms legible.
Ejemplo:
DO CASE
CASE edad <12
Wait window "Eres un nio"
CASE edad >12 .and. edad <23
Wait window "Eres un adolecente"
CASE edad > 23 .and. edad < 60
Wait window "Eres un adulto"
ENDCASE
d. Bucles
FO, variable = valor inicial $O valor final
%EC$ variable
Se usa para repetir una instruccin o conjunto de instrucciones un nmero
fijo de veces, hasta que el valor inicial de la variable coincida con el valor
final.
Ejemplo:
FOR contador = 1 TO 10
<nstrucciones a procesar >
NEXT contador
!O5:I)E condicin
)OOP
Se usa para repetir una instruccin o conjunto de instrucciones mientras se
cumple una condicin que al principio del bucle es establecida, para que
entre al bucle la primera vez; dentro del bucle se controla la variable que
mantiene el ciclo en ejecucin.
Ejemplo:
DOWHLE contador < 10
<nstrucciones a procesar>
LOOP
En ambos bucles, si se hace necesario por alguna razn romper el ciclo,
se utiliza la instruccin EXT, la cual transfiere el control a la prxima
instruccin despus del ciclo.
e. Otras instrucciones bsicas
1. mprimir un valor en la pantalla
? variable
Ejemplo:
? fecha
? Time()
2. mprimir un valor en mpresora
??? variable
Ejemplo:
??? edad
??? TimeQ
El imprimir valores en pantalla sirve para comprobar el contenido de
variables.
3. Comentarios.
Para los comentarios dentro de un programa se agrega un * antes
del texto informativo, o con && a un lado de la instruccin a
comentar.
* Abrir la base de datos
OPEN DATABASE datos && Abrir la base de datos
4. Desplegar ventana de aviso.
Las ventanas de aviso son parte importante dentro de un sistema, ya
que gracias a estas se puede mantener informado al usuario de que
es lo que ocurre en cierto momento; por ejemplo, si busca un
empleado y este no existe en el sistema, se despliega un texto
informativo en una ventana, y esta espera a que el usuario pulse
cualquier tecla para continuar.
5*I$ 5I%!O5 mensaje
Ejemplo:
WAT WNDOW "Este es un mensaje de prueba, < Enter > para
Continuar"
5. Obtener la fecha del Sistema
!*$ED<
Ejemplo:
Fecha = DATE()
6. Obtener la hora del Sistema
$IMED<
Ejemplo:
Hora_actual = TME()
7. Buscar informacin en un ndice
Esta funcin se utiliza para saber si existe un valor en una tabla que
tenga un ndice activo, y regresa verdadero o falso segn el resultado
que obtenga de la bsqueda; por lo tanto se usa conjuntamente con
la instruccin F.
+EE0D<
Ejemplo:
F SEEK(valor)
Wait window "Si existe"
ELSE
Wait window "No existe"
ENDF
Funciones para la Conversin de Tipos de Datos. Esta es una parte muy
importante en el desarrollo de sistemas, ya que si no existieran estas
funciones no podramos manipular la informacin; no se pueden hacer
operaciones entre tipos de datos distintos. En la siguiente tabla se
muestran algunas funciones para la conversin de los tipos de datos.
STR(nvalor) Convertir un valor numrico a carcter
VAL(cvalor) Convertir un valor carcter a numrico
CTOD(cvalor) Convertir un valor carcter a fecha
DTOC(fvalor) Convertir un valor de fecha a carcter
f. Creacin de mens
Para crear un men, primero debemos ir al Administrador de
Programas, despus seleccionamos la ficha Otros. y despus
seleccionamos la opcin MenEs y hacer clic en el botn %uevo. Luego
debe aparecer la siguiente pantalla, donde pregunta si deseamos un
Men (normal) o un Men emergente (de contexto). Al elegir Men
(normal) debe aparecer la ventana del Diseador de Mens, como se
muestra en la siguiente figura.
Indicador: Es el texto que va aparecer a la hora de desplegarse la
opcin en el men.
*ccin' Es la accin que se realizar al seleccionar esa opcin de
men; entre ellas est +ubmenE que es para mostrar un submen de
esa opcin, (omando para ejecutar una instruccin cuando se
selecciona esa opcin (por ejemplo, invocar un formulario),
Procedimiento para ejecutar una serie de instrucciones cuando se
seleccione esa opcin.
(rear: Sirve para crear la opcin que se seleccion en *ccin.
%ivel de menE: Sirve para desplazarse por los diferentes niveles de un
men.
O"ciones: Permite personalizar la opcin del men, las ms usadas
son:
Etiqueta de la tecla: ndica qu combinacin de teclas activa la
opcin; por ejemplo CTRL+S indica que se activar la opcin cuando
el usuario presione estas teclas al tiempo.
Saltar por: ndica la condicin por la cual la opcin no se activar; por
ejemplo WEXST("MiForm") indica que la opcin no estar disponible
si se encuentra activa la ventana de nombre MiForm.
Mensaje: Se muestra en la barra de estado cuando el usuario se
encuentra sobre la opcin.
magen: Puede ser una imagen (bmp 16x16 pix) o puede ser la
imagen de un recurso, por ejemplo _mfi_open.
Pasos "ara dise#ar un MenE
Para disear un Men, primero hay que crear un men nuevo; ya
estando el men nuevo, hay que agregar las opciones que se van a
utilizar, para esto hay que seleccionar la seccin Indicador. y escribir el
texto para el men; para conseguir que una letra sea la tecla rpida para
esa opcin (combinada con la tecla <Alt>), se le antepone \< a la letra
que se quiere que sea el acceso rpido, como se muestra en la
siguiente figura.
Para crear un submen, se debe seleccionar primero la opcin a la cual
se le desea crear un submen y hacer clic en el botn Crear; entonces el
nivel de men cambiar a submen y all se crearan las opciones para el
submen tal como se crean con un men principal, como se muestra en
la siguiente figura.
Para obtener una vista previa del men como se vera ya en el sistema,
se debe hacer clic en el botn Vista Previa. del Diseador de mens;
entonces aparecer en la ventana principal de Visual FoxPro el men
que se ha diseado, como se muestra en la siguiente figura.
Para poder utilizar un men dentro de un sistema se deben seguir los
siguientes pasos:
1. Generar el cdigo correspondiente al men, para esto se utiliza la
opcin del men principal de Visual FoxPro, Men/Generar;
entonces aparecer una ventana donde le pondremos un nombre y
con la extensin MP,. el cual contiene todos los comandos
necesarios para crear el men. Es importante decir que cualquier
cambio que se realice en el men, se deber volver a generar el
cdigo.
2. Ya que Visual FoxPro tiene su men principal activado, este se debe
desactivar para que se pueda usar el men que se dise; esto se
hace colocando la siguiente instruccin en la ventana de comandos o
dentro del programa.
+E$ +6+ME%- OFF
3. Para poder mostrar el men diseado, se debe ejecutar el archivo
que contiene el cdigo fuente del men.
!O curso.mpr
Y despus de ejecutar el men, se debe emitir la instruccin ,E*!
EVE%$+. para que el programa se mantenga en ejecucin.
4. Por ultimo, al salir del men que se diseo, habr que restablecer el
men de Visual FoxPro.
+E$ +6+ME%- $O !EF*-)$
Y para dar por terminada la ejecucin del programa, habr que
agregar lo siguiente:
()E*, EVE%$+
*gregar un MenE a un formulario
1. Creamos el men, segn la necesidad.
2. Especificamos que el men se mostrar en un formulario de nivel
superior; para esto entramos en Ver/Opciones generales en el men
principal de Fox.
3. Generar el men.
4. Creamos un formulario y lo definimos como un formulario de nivel
superior (Single Document nterface); para eso modificamos la
propiedad ShowWindow en 2 (como formulario de nivel superior).
5. Hacemos el llamado al men que hemos definido desde el mtodo
NT del formulario.
6. Como resultado, tendremos un men as:
Bibliograf?a=Infograf?a consultada
eBooFs
Velsquez F. Leonardo D. Curso de Visual Fo!ro" 2001.
#anual del pro$ramador" !ro$ramacin en Visual Fo!ro. 2005
+itios en Internet
Bustamante G.. (8sar *. !isual "ox#ro $ara #rinci$iantes%
http://www.geocities.com/grapperu/GPTutVFP.htm. 07-04-2009.
Ortiz H., Jos G. De%inir un men en Visual Fo!ro"
http://www.programatium.com/vfox/tutoriales/definir-menu.htm. 07-04-2009.

You might also like