Você está na página 1de 65

p;:r;: Imprtmirt!

Curso de Visual FoxPro


Introduccin
Visual Foxpro es uno de los gestores de Bases de Datos relacionales ms rpido y
flexible del mercado, disponiendo de un complej o entorno de desarroll o totalmente
orientado al objeto y altamente inlegrado en el sistema operativo Windows 95. Como
cualquier otra aplicacin Windows estndar, Visual Foxpro soporta interfaces MOl
(Interfaz de Documento Mult iple), como la de Word, barras de herramientas, ayuda
sensible al contexto, mltiples fuentes, acceso a bibliotecas de enlace dinmico (DLL),
elc.
Aparte del acceso a tablas en formato nat ivo de Visual FoxPro, se puede acceder
virtualmente a cualquier fuente de datos cuyo acceso se pueda hacer atrav s de oose
(Open Database ConnectivitY). Este est ndar. 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 apl icaciones tienen acceso a
multitud de eventos y opciones que los programadores de Visual Basic y Visual e
tuvieron durante aos. Se elimina la necesidad del uso del READ y su confusa
nidificacin (Fundational read).
Curso de Visual FoxPr o
Programacin Ori entada a Eventos
En Visual FoxPro cada accin que tu realizas es un evento, por ejemplo el movimiento
del mouse, hacer click sobre un botn, escribir un texto en un cuadro de texto, etc. Por
lo tant o cuando se programa en Visual FoxPro quedan atrs todos esas formas que
teniamos de programar en FoxPro para Windows, aqui todo se maneja por eventos, es
decir solo programas el evento que quieres que realice una accin cuando suceda, aqu
en Visual FoxPro no tienes que tener procedimientos o rutinas para validar por ejemplo
la entrada en la clave del articulo, simplemente se programa el evento respectivo,
adems de que no es tan tedioso el mantenimiento del sistema. Es decir no tienes que
recorrer todo tu archivo de rutinas para encontrar la falla, no tienes que codificar
procedimientos de validacin. Por ejemplo supongamos que en FoxPro DOS o para
Windows deseas poner unos botones que ejecutan ciertas instrucciones, y cuando se
hace eso tienes que crear una funcin en la cual preguntas cul fue el que se presiono
y segn el valor, ejecutabas las instrucciones para ese botn, en Visual FoxPro no es
as, simplemente programas para cada botn, lo que quieres independientemente de
que se presione otro y as no tienes que preguntar cual fue el que presiono porque cada
evento de cada objeto es independiente y solo puede ocurrir uno en ese momento, es
decir que no se pueden desencadenar dos eventos al mismo tiempo o es CLlCK o se
MOVIO EL RATON o algn ot ro evento.
Programacin Orientada a Obj etos
En Visual FoxPro y en otros, se le llaman objetos a todo lo que ves en pantalla; los
objetos son por ejemplo un botn, una caja de texto, una imagen, y en general todo
objeto visual que veas en la pantalla.
Se les llaman objetos porque cada uno tiene sus propiedades, por ejemplo un botn
tiene su propiedad de texto que es la que se ve dentro del botn, tambin tiene un
ancho, un alto, y as para cada uno de los objetos, he aqu la ventaj a de Visual FoxPro
sobre lenguajes como FoxPro para Windows en la cual son solamente campos y que no
se le pueden cambiar sus caracter sticas dinmi camente, por lo tanto esto provoca una
mayor velocidad en el desarrollo.
Un ejemplo sencillo, imag nense que tienen una pantalla de captura en la cual en el
campo 4 necesitas ejecutas una porcin de cdigo que segn el valor que te devuelva
continuas con el campo 5 o regresas por decir al campo 2, simple y sencillamente, o lo
haces con un DO...While o vuelves a pedir el campo, y lo mismo sucede si quieres que
un campo que tienes en pantalla por alguna razn necesitas cambiarlo de color, que
tienes que hacer, pues volver a desplegarl o con su nuevo color, y en Visual FoxPro no
es as, porque ese campo es un objeto en pantalla, y puedes decirl e al programa que se
regrese a tal objeto, o cambiarle el color a tal objeto, y muchas otras cosas que con
FoxPro no se pueden y lo que provocan es que el programador pierda tiempo
escribiendo lneas y lneas de cdigo.
Curso de Visual FoxPr o
Ejemplo de un obj eto el cual tiene propiedades que lo describen:
Objeto: Botn
Texto: Soporte 'r cnlcc
Ancho: 360
Alto: 90
:2.(porte tcno::o
Barra de Mens
Curso de Visual FoxPr o
Entorno de Desarrollo
El entorno de desarrollo son las partes visuales de las que esta compuesto todo
lenguaje de programacin visual , como lo son Visual FoxPro, Visual Baste. Delphi, etc.,
en la sigofigura se muestra la pantalla de inicio de Visual FoxPro.
Barra de
Herrami entas
i',rchivo die"", ,<er [",molo !::!erromientas ErOQfomo V'ntona
~ ~ ~ . T 1 ~ E I =::illi
i'lI Comandos l1li0013
-'NUfA,
Ventana de
Comandos
Barra de Mens
Por medio de esta barra de mens podremos accesar a todas las opciones que Visual
FoxPro nos ofrece como Abrir o Crear una Base de Datos, un Reporte, etc, etc.
Barra de Herramientas
Por medio de esta barra de Herramientas podremos accesar a todas las opciones que
ms se utilizan, sin necesidad de ir a los mens a buscar sus respecti vas opciones , esto
es para tener un acceso ms rpido.
Curso de Visual FoxPr o
El Administrador de Proyectos
Que es un Proyecto?
Un proyecto en Vi sual FoxPro es el conjunto de pantallas. reportes. bases de datos que
van a formar parte del Sistema que ests desarrollando. Un proyecto esta dividido como
ya dije por categorias, por un lado las pantallas y reportes de tu sistema, por otro lado
las bases de datos que la componen, sus mens, etc.
l a sigoFigura muestra el admi nistrador de proyectos.
Pages Tabs o
Paginas
~ , . @
f @) form2
L. ~ frmrnertl.j
~ lnlocrnes
" Etiquetas
Descripcin
jep.J\ar
.Generar..,
Curso de Visual FoxPr o
Ventana de Comando
l a ventana de comandos nos sirve para utilizar comando interactivamente (fuera de un
programa) con Visual FoxPro, para efectuar tareas de revisin, mantenimiento, y
algunas otras. Esta es uno de los puntos fuertes de Visual FoxPro frente a lenguajes
como Visual Basic y Delphi, los cuales no cuentan con ninguna opcin parecida por lo
cual las tareas de comprobacin y mantenimiento son ms tediosas y por 10 tanto
perdida de tiempo.
l a sigofigura muestra la ventana de comandos
iiiII Comandos
di rl
_ D
Si esta ventana no se encuentra en la pantalla principal se puede activar desde el men
ventana -> ventana de comandos o con la tecla rpida Ctrl + F2.
Bases de Oatos y Tablas
Que es una Base de Datos?
En FoxPro para DOS y Windows una base de datos era un archivo DBF en el cual se
almacenaba los registros por ejemplo de clientes.
En Visual FoxPro este concepto a cambiado. Ahora una base de datos es un
contenedor de todas las tablas ( clientes, articulas, etc.), relaciones entre las tablas,
indices de las tablas, conexiones bases de datos remotas, etc.
Curso de Visual FoxPr o
Ejemplo de Base de Datos con Tablas, donde se aprecia una relaci n:
Base de Datos
(Contenedor)
I I
nporjnl3

nlipojlV4
npor_",14
npor_cornlSOJ n4
cberecenot
npcrbenefcieiicl
c bl3 neliciallo2
npor_bend ic", rio2

pametnon
nCJIIiJ re

@! Cllmpos
ccreve
crcmbe
cclrecclO'l
LEndices
nombre
'lclave


Que es una Tabla ?
Tabla Cuenta Habientes
relacionada con Centros
de 'rrabalo
Una tabla es un archivo donde se almacena la informacin en Columnas y renglones,
por ejemplo, el nombre de un Cliente, su direccin y su tel fono, esas seria n las
columnas y los renglones seria todos los clientes registrados.
En Visual FoxPro es un archivo DBF, conocido anteriormente en FoxPro como base de
datos. En Visual FoxPro las tablas tienen ahora mas capacidades como nombres largos
de tablas y de campos, reglas de val idacin a nivel de campo, y algunas otras.
Curso de Visual FoxPr o
Crear un Proyecto
Para crear un proyecto para un sistema donde almacenaremos nuestras tablas,
reportes, mens, etc. Hay que ir al men Archivo -> Nuevo, entonces aparecer la sigo
Pantalla:
Seleccionar
la oocin
;;" Nuevo El
Nuevo
I
A,,"", I
Seleccionar Proyecto y dar Click en Nuevo Archivo, y entonces aparecer la sigo
Pantalla para elegir un directorio donde guardar nuestro proyecto:
Crear 1113
Escribir el
Nombre del
Proyecto
en: IkiI Seru->do ID:)
' cO&
GeIRO;h

SQlJ\ny50
'-..l-' Teach YOllsel Dolemse wilh VB5
"OC
Proyeclo Ipr0'l2.Pi x
Guordor CQfOO 1;;.0 IProyeclo
Guardor
C::telor
Seleccionar
Directorio
y despus
Guardar
Curso de Visual FoxPr o
Una vez guardado el proyecto aparecer la ventana de Proyectos, con el nombre que
nosotros le pusimos como se muestra en la SigoFigura
." de proyectos Central EJ
l B

8gregar", I
ModifrUlr I
EjepJlar I
I
I
DescriPCin
Ruta:
Crear una Base de Datos
Debes seleccionar primero la Pagina Datos en el Admin istrador de Proyectos y elegir la
Opcin Bases de Datos, posteri ormente hacer click sobre el botn Nuevo.
Modificar
una Base
de Datos
Crear nueva
Base de
Agregar una
Base de Datos
que ya existe
stredor de Pro 1 13
IDescriPcin
Rula:
Pagina
Datos
[-
Curso de Visual FoxPr o
Al hacer click sobre el bot n Nueva aparecer la ventana en la cual nos pedir un
nombre y la ubi cacin donde ser guardada, como se muestra en la sigoFigura.
Crear Da
Nombre de la
Base de
en: Ifil Segundo ID:)
,"'"
GelRio;h

5QLAny5
Teoch Y""sei \o\'iI:h VB5
,,;
I
I
I
Una vez creada nuestra Base de Datos, nos debe aparecer lo que se llama el
contenedor de la Base de Datos, como se muestra a conti nuacin:
" Nrcro. oRVISUal FoxPr. "r::J
Contenedor
de Base de
Datos
Barra de
Herramientas
para Base de
Datos
;,J U"enadOl de ba.e. de daros Uatos I I!!!II!J El

,
D '
Curso de Visual FoxPr o
Barra de Herramientas Base de Datos.
~
Nueva Tabla:
Crear una nueva tabla para la Base de Datos
"'o
Agregar Tabla:
Agregar una Tabla existente a la Base de Datos
Eliminar Tabla:
Eliminar la tabl a seleccionada de la Base de datos
Si,
Nueva Vista Remota:
Crear una vista de una Tabla contenida en una Base de Oatos Externa
~
Nueva Vista local:
Crear una vista de una{s) Tabla{s) locales
'"
Modificar Tabla:
Modificar las propiedades de la Tabla seleccionada de la Base de Datos
Examinar Tabla:
Ver la lista de regi stros contenidos en la Tabla seleccionada de la Base de Datos (
browse )
~ I
-
Editar Procedimientos Almacenados:
Editar los procedi mientos almacenados de la Base de Datos
~
Conexiones:
Crear o Editar conexiones a Bases de Datos Externa s
Curso de Visual FoxPr o
Crear una Tabla
Para crear una tabla, debes primero ir la pagina Oatos y seleccionar la Base de Datos a
la cual le quieres agregar la tabla, dndole doble click sobre ella, y posteri ormente
seleccionar la opcin Tablas, para despus hacer cl ick sobre el botn Nuevo, como se
muestra en la sigoFigura.
Pagina
Datos
El r5I:J Beses de detos
0 detcs
... illllIII
!".. locales
:.. 'vletee remotas
!".{iI Lonexiones
'.. L:I Procedimientos elmecer
T
l Ecnsuhee
Descnpcio-c

Crear nueva
Tabla
Al hacer cl ick sobre el botn Nuevo aparecer la ventana en la cual nos pregunta si
deseamos una Tabla en blanco, o queremos usar el Asistente para Tablas.
Seleccionaremos Tabla en Blanco, como se muestra en la sigoFigura.
'iI Nueva tabla f3
Hacer click
en Tabla
Nueva
A..istente para tablas Nueva tabla
Curso de Visual FoxPr o
Al hacer cl ick sobre el botn Tabl a Nueva ent onces deber aparecer de nuevo la
ventana donde nos pide un Nombre y una ubicacin para la Tabla (la tabla se guarda
con extensin DBF), como ya se ha visto ese procedimi ento ya no se mostrara esa
pantalla.
Una vez habiendo elegido un nombre y una ubicacin donde quedara almacenada la
Tabla que vamos a crear, nos aparecer el Diseador de Tablas, como se muestra en
la SigoFigura.
Tipos de Datos
Acepl ""
lose,l""
Conc el",
NU L[
!J
VoIidocin de cornpo I
Begl,. r-- - - - ;
Menloie I
r---;
AnchO De cmOl uca
s
"
"
tu
[iJ EEEa [].] ti
CiOI 6eter
C",!lelor
C""cle,
C""cle,
INo.mr'o o
Definicin
de Campos
Definici n
del Formato
de Entrada
Definicin de reglas
de validacin de los
campos
Definicin de campos:
Igual que en las versi ones anteriores, la defini cin de campos es igual. Se introduce el
nombre del campo (nombr e) el tipo de datos que soportar (Tipo) y el tamao.
Definicin de Mostrar
Format o : Es el formato de salida del campo, ejemplo si fue ra numrico 9,999.99 o si
fuera carcter !!!!!!!!!!!!, para que solo acepte maysculas
Mascara de Entrada: Igual que el Format, lo nico que es para la entrada de datos.
Titul o : Descripcin ms precisa del campo, es de utilidad al disear los Formularios.
Definicin de regl as de validacin a nivel de campo
Curso de Visual FoxPr o
l a validacin son triggers o eventos que se ejecutan a nivel de campo. Ejemplo: una
validacin de un campo que sol o acepte nmeros positivos. (id > O)
Regl a : Es la regla de validacin, ejemplo: id ;:. O, si queremos que acepte valores
positivos.
Mensaj e : Es el mensaj e personalizado que queremos que aparezca en pantalla a la
hora de vtolarse la regla de val idacin del campo. Ej emplo: ' Solo se aceptan nmeros
positivos' (nota: el texto debe escribirse entre comi llas).
Val or Predeterminado : Valor por defecto del campo. (nota: hay que respetar el tipo de
dato del Campo)
l uego de hacer la definici n de los campos, pasa mos a la defini cin de Indices de la
tabla, que ser muy importante a la hora de crear las relaciones entre las tablas.
':t DISeador de labias labla2 dbl 13
Nombre del
Indicp.
Nombre dellndice (Nombre)
Expresn
Normal nombre!
Tipo del
Indice
F ~ r o
Nombre de los
campos que
componen el
ndice
Concel", I
Introducir el Nombre del archivo ndice. Es conocid o tambin como TAG.
Tipo (tipo de Indice)
Primary
Candidate
Unique
Regular
: llave primaria.
: llave candidata
: llave nica.
: llave fornea.
c. Nombre de la Expresi n
Nombre de los campos que conforman la llave primaria:
Cu rso d e Visua l FoxPr o
Ejemplo : id, o si son vari os campos : i d + linea
Nota: si los campos no son del mismo hay que forzarlos al tipo de dato deseado,
ejempl o: si id es carcter y lnea, entonces el nombre de la expresi n seria:
Id + STR(ti nea)
STRO convierte de nmero a carcter y VALOconvierte de carcter a numrico.
Ej ercici o Prcti co:
Cree la siguiente base de datos con el nombre de Curso.
;.J DIseador de bases de dato. - Bool<s I!lIiID
...J
e1ICarrpJs

'-
(Endces
1 topic_id
e1ICampo"
booU :J
lille

cCtpjJIV<Je3f
iobn
rtl' bi8herJ_ e
purchage_>"ice
coverlype
dale_P-fCMSed

""" L!lrrl ces
lope_id
'i'book_id
'l Campos:
"",hor id
flsl_narne
Ia>t_name
"""
m e"
cily
,1.le
"
e='
,,,

l:Endices,
'i'author_id
"Iale
I.stname
-.J
11. 11"1 1-- - - - - - - - - - - - - - - - - - - - - - - - -"-"
Estructura de las Tablas del ejercicio:
TOPI CS.DBF
Nombre del Cameo Ti oo de Dato Longitud
Tooi c id Entero 4
Topi c Carcter 50
BOOKAUTH.DBF
Nombre del Caf!!..l!...o Tipo de Dato Longitud
Book id entero 4
Author id entero 4
Curso de Visual FoxPr o
AUTHORS.DBF
Nombre del Caf!!..l!... o Ti po de Dato Longitud
author id Entero 4
Firsl name Carcter 50
Last name Carcter 50
Notes Memo
Address Carcter 30
City Carcter 25
State Carcter 2
Zip Carcter 10
Phone Carcter 17
Fax Carcter 17
Email Carcter 20
BOOKS.DBF
Nombre del Campo Ti po de Dato Longitud
Book id Entero 4
Title Carcter 50
Topi e id Entero 4
C O p y ~ t vear Entero 4
Isbn number Carcter 50
publisher name Carcter 50
purehase pri ee Monetari o 8
covertype Carcter 30
dale purchased Fecha 8
Pa es Entero 4
Notes Memo
Curso d e Visua l FoxPr o
Rel aci ones ent re Tabl as
l as relaciones mas comunes entre tablas se definen :
De uno a uno : Ejemplo de una llave primaria a otra llave primaria
De uno a muchos : Ej emplo de una llave primaria a una Regular o For nea.
De muchos a muchos : Aqui como no se pueden establecer relaciones de muchos a
muchos se tiene que dividir en dos relaci ones de Uno a muchos. Ejemplo: Un Autor
puede tener vari os libros, pero tambin un libro puede tener vari os autores.
l as relaci ones entre tablas se crean arrastrando la llave de la tabla a la llave de otra
tabla.
FoIIP,o
de base. de datos - Dato.1 I!!IIi1I3


eJOmbre
"'",
,-
!:!indic. "
i cla""
"e",,,
"""
&
do"
"'M"
(EnOces
\!c1 av"
"'M"
Relacin entre tablas
(de uno a muchos)
l a figura muestra una relacin entre las tablas Empleados y Departamento, la relacin
se leeria asi : "Una Departamento tiene muchos empleados".
Curso de Visual FoxPr o
Dentro del Diseador de Bases de Datos, existe un botn l la Barra de Herramientas,
que se llama Examinar (Browse) , con el cual, veremos el contenido de la Tabla
seleccionada, y en donde podremos, agregar, eliminar, cambiar informacin de la Tabla
sin necesidad de programacin.
l<;
Bot6n Examinar
Al hacer click sobre este botn, nos aparecer la sigoVentana, comnmente llamada
como Browse, como se muestra en la sigoFigura:

Ctrl+Y
Clrl+T COAH.
D""
Men para el Manejo
de la Tabla
Ir al regdro
!]..IeYO registro
6 Rernar marca de eliminacn

A!,jstar C" rrp:
MlIvercar-npo
regdroo..
Eimilar reg;otroo..
regidroo".
Quita! regi'tro, eiirrinado,

VARGAS DE
Ventana de
Examinar
1- '-
En la figura anterior se puede apreciar que un registro tiene una marca negra a un lado
y el otro no, esto quiere decir que uno esta marcado como borrado (el de la marca) , sin
embargo esto no significa que no exi sta. Si se quisieran eliminar todos los registro
marcados como borrados , bastara con escribir la instruccin PACK en la Ventana de
Comandos.
Para Guardar los cambios hay que presionar la combinacin de teclas Ctrl+W.
Ahora cerrar lo que es la ventana de Exami nar y la ventana de Diseador de Bases de
Datos.
Curso de Visual FoxPr o
Dentro del Administrador de Proyectos, si seleccionas la tabla deseada puedes uti lizar
los botones: Nuevo, Agregar, Modificar, Examinar y Quitar, que seria lo mismo que si
entraras al diseador de Bases de Datos y seleccionaras la Tabla y despus hicieras
click sobre el botn correspondiente en la Barra de Herramientas.
Vistas Locales
Qu es una vista?
Una vista es un objeto que se crea empleando la instrucci n SELECT de SQL para
bases de datos relacionales. Las vistas pueden ser locales o Remotas
Para que nos sirve?
Bueno nos sirve para combinar datos de diferentes tablas sin tener que programar la
unin de estos datos para poder desplegarlos. Para poder usarlas se abren y cierran
como si fueran una tabla, la instrucci n seria USE, y se le da el mismo tratamiento que
a estas, es decir que todos los comandos que se usan con las tablas, se pueden usar
con las vistas.
SELECT
FROM
WHERE
GROUP
ORDER
Ej emplo:
campos
tablas
condicin
BY campos de agrupamiento
BY campos de ordenamiento
SELECT id, name
FROM s_region
ORDER BY name
Curso de Visual FoxPr o
Creacin de una vista local.
Primero debes de ir a la Pagina Datos del Administrador de proyectos, seleccionar la
Base de Datos, posteriormente seleccionar la opcin Vistas Locales y hacer click en el
Botn Nuevo, o bien entrar al Diseador de Bases de Datos y hacer click en el botn
para crear Vistas l ocales.
lrd
Crear Vista Local
Al hacer click sobre cualquiera de las opciones anteriormente mencionadas, deber
aparecer la sigoPantalla, donde se nos pregunta si es una Vista en Blanco, o deseamos
utilizar el Asistente. Hagan click sobre la Vista en Blanco, como se muestra en la sigo
Figura.
':1 Hu.,v.. v,d.. loc..1 13
Nueva Vista
l a ventana para agregar las tablas, se uti liza para aadir tablas que se van a ocupar en
la instrucci n SEl ECT - SOL, en este caso estaramos selecconando la parle del
Tablas en la base de datos. Selecconemos Authors y luego Agregar. La tabla se
agregara, luego le damos Cerrar.
':t A!llegal labia o ...isla El
Seleccionar la
Base de Datos
Seleccionar la
Tabla a utilizar
dyrojds
bokaulh
booh
ro pes
A;..-eglll I
Cerrar I
r r ~ ~ _ I
Curso de Visual FoxPr o
Ventana de creacin de la vista:
Eliminar Tabla
Agregar Tabla

first reme
testreme
notes
add"ess
Ver Instrucciones
.:.:.. SQL

Agregar Relacin
Maximizar Vista
Cal!Jpos seecconadcs !;Cl'l1JOl dispnibes:
_
Aulhordirst_Mme
Aul iladast rame
Aut ilauoes

Auli"ton,city

ID
ICombinocin 1Filtro IOrdenar por 1Agrupar por 1Crilerios de I 1. _
1
Campos : Aqu se seleccionan los campos de la vista (SELECT campos)
Combinaci n : Relaciones entre tabl as
Filtro : Condicin de fillrado (WHERE condicin)
Ordenar por : campos de ordenami ento (ORDER BY)
Agrupar por: campos de Agrupamiento (GROUP BY)
Curso de Visual FoxPr o
Ejercicio Simple:
Crear una vista donde aparezcan los sigoCampos.
De la Tabla Aut hors, todos los campos.
De la Tabla Books, todos los campos.
l a Tabla intermedia de relacin ser la Tabl a Bookauth.
Para ver el resultado de la Vista, hay que hacer click en el botn Ejecutar que se
encuentra sobre la barra de herramientas Estndar
,
-'-
Botn Ej ecutar
Una vez, haciendo click sobre este botn, se debe aparecer la ventana de Examinar
para esa Vista, como se muestra en la sigoFigura.
Au!hor id Firsl name Lasl name
1 Lo c.<o Col""'"",
it1==J' "" L'"t ' = = = = = = = = = = = = = = = r " " _ ~ = = = = = =
.;/1- 1 ~ ~ tgMM
2AncJew FuIer
3 Jane! Leveri,,"
3 J.ne! Leveri,,"
3 J.ne! Leverli ,,"
3 Jane! Levering
4 M""Q""el """" """ """ """."".."".."".."".."".."".."".."".."".."".."".."".."".."".. "" """ """ """ """ """ """ , ~ ~ ~ ~ ~ ~ ~ """ """ """ """ """."".."".."".."".."".."".."".."".."".."".."".."".. "..'" ~ I
,- - ,
Curso de Visual FoxPr o
Comandos de Visual FoxPro
l o sigo Comandos se pueden utilizar en Ventana de Comandos o dentro de un
programa, como se muestra en la sigoFigura
Comandos:
Para Cambiar de directorio de Trabaj o
SET DEFAULT TO RUTA DE DIRECTORIO
Ej emplo:
SET DEFAULT TO C:\SISTEMAS\CAJA
limpiar la Pantalla Principal de Visual FoxPro
CLEAR
Mostrar los archivos del directorio
DIR
Ej emplos:
DIR
DIR *.TXT
DIR C:\SISTEMAS\CENTRAl
Para apagar la "Platica" con Visual FoxPro
SETTALK OFF
_ D x
Esto se hace porque al borrar, crear indices, etc. En la pantalla de Visual FoxPro se va
mostrado los resultados, es por eso que en un programa se debe de incluir.
Curso de Visual FoxPr o
Para cambiar el Formato de la Fecha
SET DATE TO formato
Ejemplos:
SET DATE TO DMY
SET DATE TO MDY
SET DATE TO BRITISH
Para salir de Visual FoxPro
Qun
Para cancelar la ejecuci n de un Programa
CANCEL
Para Abrir una Base de Datos
OPEN DATABASE Nombre de la Base de Datos
Ejemplo:
OPEN DATABASE NOMINA
Para Cerrar una Base de Datos
CLOSE DATABASES
Para Abrir una Tabla
USE Nombre de la Tabla
Ejemplo:
USE clientes
USE clientes ORDER TAG nombre
(seleccionando el lndice al abrir la tabla para no usar set order)
Para Cerrar una Tabla
USE
Para Cerrar todas las Tablas
CLOSE TABLES
Curso de Visual FoxPr o
Agregar un registro en Blanco
APPEND BLANK
Eliminar Regi stros
DELETE
Ej emplos:
DELETE
DELETE ALL
DELETE FOR depto = ~ 0 1 3 2 "
DELETE NEXT 5
(Borrar el actual)
(Borrar todos)
(Borrar solo los de ese depto. )
(Borrar los sigo5 despus del actual )
Recuperar Regi stros marcados como Borrados
RECALL
Ejemplo:
RECALL
RECALLALL
RECALL FOR depto = "01232"
RECALL NEXT 5
(Recobrar el actual)
(Recobrar todos los marcados )
(Recobrar los de ese depto.)
(Recobrar los sigo5 despus del actual )
Eliminar los registros Borrados como Marcados
PACK
Eliminar todos los regi stros definitivamente (ya no se pueden recobrar)
ZAP
Para ir al Primer registro de la Tabla
GO TOP
Para ir al Ultimo registro de la Tabla
GO BOn OM
Para ir a un Registro especifico
GO numero de registro
Ejemplo:
GO 10
Curso de Visual FoxPr o
Para brincar de regi stro
SKIP
Ejemplo:
SKIP 1
SKIP - 1
(Brincar 1 registro hacia delante)
(Brincar 1 registro hacia atrs)
Para abrir una o Varias Tabla s (Areas de Trabaj o)
SElECT Area de Trabaj o(numero o letra)
USE Tabla
Ejemplo:
SElECT A
USE Clientes
SElECT B
USE Proveedores
O
USE Clientes in A
USE Proveedores in 8
Para Cambiar de Area de Trabaj o
SElECT Area de Trabaj o
Ejemplo:
SElECT A o SElECT Clientes
Para establecer el indice de Trabaj o
SET ORDER TO Nombre del Indice
Ejemplo:
SET ORDER TO nombre
Para no utilizar ningn indi ce de Trabaj o
SET ORDER TO
Curso de Visual FoxPr o
Para est ablecer Filtros de Condicin
SET FILTER TO Condicin del Filtro
Ejemplos:
SET FILTER TO sueldo> 1000
SET FILTER TO sueldo >= 1000 .and. sueldo <= 3000
SET FILTER TO sueldo = 1000 .or. sueldo = 2000
SET FILTER 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
lOCATE FOR condicin de bsqueda
Ej emplo:
lOCATE FOR numero_empleado = "09499"
Para buscar informacin con un indice activo
SEEK informacin a buscar (variable, numero o cadena de texto)
Ej emplos:
SEEK "09499"
SEEK num_empleado
SEEK 1235
Para esto ha de haber un indice activo con SET ORDER TO o haber abierto la tabla con
la opcin ORDER TAG nombre del indice.
Examinar la informacin
BROWSE
Ej emplos:
USE empl eado
BROWSE
O
BROWSE FIELDS clave, nombre, sueldo
O
BROWSE FOR depto = "0003"
Aqu se pueden utilizar una mezcla de todas
(aqui se omiti el depto)
(solo ese depto)
Curso de Visual FoxPr o
Li star registros en Pantalla
lIST (Campos] (opcional)
Ej emplos:
lIST
lIST clave, nombre, sueldo
lIST FOR depto = "0012"
lIST OFF
(Lista todos los campos en Pantalla)
(Lista solo esos Campos)
(Lista solo los de ese depto)
(List ar sin el numero de registro)
Aqu se pueden utilizar una mezcla de todas, la nica desventaj a 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 primero registros hacia arriba y ya no se pueden ver.
Li star registros hacia la impresora
Igual que la anterior solo que al final de la instruccin se le agrega TO PRINT
Ej emplo:
lIST OFF clave, nombre, sueldo TO PRINT
Desplegar registros en Pantalla
Para esto solo se sust ituye la instrucci n lIST por DISPLAY
Con esto tienes la ventaj a de que cuando se llama la pantalla de regi stros, el Visual
FoxPro hace una Pausa para que los puedas leer y despus continuar.
Modificar la Estructura de una Tabla
MODl FY STRUC
Desplegar en Pantalla o Impresora la Estructura de una Tabla
DISPLAY STRUC
O
DISPLAY STRUC TO PRINT
Curso de Visual FoxPro
Operadores Aritmti cos
+ Suma
Resta

I
Multiplicacin
Divisin
Operadores Lgicos
= Igualdad
> Mayor que
< Menor que
>= Mayor o Igual que
<= Menor o igual que
< > Diferente
.OR. Condicin lgica ~ O "
.AND. Condicin lgica "Y"
.NOT. Condicin lgica de Negacin
Curso de Visual FoxPr o
Crear Reportes
Para crear un reporte, primero debes ir al Admi nistrador de Programas, despus
selecciona la pagina Documentos, y despus seleccionar la opcin Informes y dar
Click en el botn Nuevo, como se muestra en la SigoFigura.
Documentos
Informes
-- 1Ii'll
lIIIl
g EliqUIM
siM(.,[11""" 8
!Jw&
nsraat
:
R",
Despus de haber dado click sobre el botn Nuevo, nos debe aparecer la sigo 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
Informes, como se muestra en la sigoFigura.
Curso de Visual FoxPr o
Author ID First Name
Las! Name
City
... f ncobez<tdo de p,,*,'
UTHOR ID. FIRST NAME
LA.ST NAME
CITY
... Oetole
Controles de
Informes
St ate
Titulo: Aparece
solo en la
Encabezado
de Pagina
DDRESS
Sumario: AParec;,'"':::::::::::I:
en la ultima ~
Entorno de
Dalas
Detalle: Se
especifican los
campos de la tabla
Pie de
Pagina
l os informes muest ran datos y resumen datos en un formulario impreso o en pantall a.
l os dos componentes principales de los informes son los datos y el formato. la fuente
de datos del informe puede ser una tabl a de base de dato, una consulta o una vista.
El pri mer 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 mej or format o para mostrar ese informe.
Puede crear listados que se basen en una nica tabla o en informes complejos.
El Generador de Infor mes es una herramienta f lexible y de fcil uso para la creacin,
diseo y modificacin de informes.
Curso de Visual FoxPr o
Pasos para Creacin de Informes:
Seleccin de los datos
Esta es la parte ms importante del informe, la seleccin de datos, hay que saber qu
es lo que quiere el usuario o que el usuari o muestre el diseo del informe que desea,
para comenzar a trabajar.
l os datos pueden ser simples (utilizando una sola tabla), como listados de regiones,
listado de departamentos, entre otros; o pueden ser algo ms complejos (utilizando mas
de una tabla) Ej emplo Reportes agrupados, reportes consolidados, etc.
Ej emplo:
- list ados (Ej . listados de Tapies)
id Descripcin
01
02
03
Negocios
Ciencia
Ficci n
Pasos para crear el Entorno de Datos.
Seleccionar el botn Entorno de Datos de la barra de herrami entas Diseador de
Informes, o hacer click con el botn derecho del mouse sobre cualquier rea del
diseador de reportes y seleccionar la opcin Entorno de Datos, al hacer esto
aparecer la ventana de Entorno de Datos, donde deber hacer click con el botn
derecho sobre la ventan a del Entorno de Datos y seleccionar la opcin agregar, es
entonces cuando aparecer la ventana donde seleccionaremos la(s) tabl a(s) a utilizar
en el reporte, como se muestra en la sigoFigura.
Base de Datos a
uti lizar
Tablas o Vistas
a utilizar
':1 Agregar labia '" Y I ~ l a 13
SeleccO"1.o1
ro l "tkl,
r V'I"'
Curso de Visual FoxPr o
Una vez escogiendo la(s) Tabla(s) y habiendo hecho click en el botn agregar para
cada una de las tablas que liamos a usar, en el Entorno de Datos apa recer la(s)
Tabla(s) que se escogieron, como se muestra en la sigoFigura.
: Entorno de dato: Dlteador de Informe: - I!!II!JI3



fr'l_name

role.
addres8
LJ
Para establecerle un orden (indice) a la Tabla seleccionada, debes hacer click con en el
botn Propiedades de la barra de herrami entas Diseador de Informes o con el botn
derecho del mouse sobre la Tabla que deseas y seleccionar la opcin Propiedades,
una vez haciendo esto apa recer la ventana de Propiedades de esa Tabla, como se
muestra en la SigoFigura.
Propiedades Diseeoor de I
, x
Alies
stete
"tur'iorSOr" lestneme
..............................""=::e:"===-l
Derebese dic:lIf.:o.'"JrMlaif
........ ,""", ""', ...... ""', ,""", ,""",.
Exclusive F.. Falso [prede
"",......... ", ., ,""', ,""', .
Filler [Nada]
NoDataOnLoad .F -FaJ...o/prMi.
- Felso [prede

2. Seleccionar Indice
1. Seleccionar Order
Curso de Visual FoxPr o
Barra de Controles de Informes
ro
Seleccionar Obj eto
Seleccionar un objeto dentro del reporte para moverlo o modificar otros datos
Herramienta para Texto
Seleccionar un objeto colocado dentro del Reporte
Herramienta Campo
Agregar o modificar campos de una tabla a un reporte.

Herrami enta para Lineas


Dibuj ar lineas, Horizontales o Verticales dentro del reporte.
19j
Herramienta para cuadros
Dibuj ar rectngulos dentro del reporte.
:gj
Herramienta para Crculos o Elipses
Dibuj ar Crculos o Elipses dentro del reporte.
M
Herramienta para bloquear los objetos
Para permitir o no permiti r que se modifique, la posicin de los objetos contenidos
dentro del reporte.
Curso de Visual FoxPr o
Como usar los Controles de Informes
Texto : Seleccionar la herrami enta Texto de la Barra de herrami entas, y despus hacer
click en el lugar y seccin del reporte que se desea, y escribir el texto. . como se
muestra en la sigoFigura.
'J
Crnlrole, de13
Herramienta
TAXlo
Si deseas dar formato a este texto, es decir, ponerlo en negritas por ejemplo, debes
seleccionar el men Formato -> Fuente.
Para editar el un Texto dentro de un reporte debes seleccionar la herramienta Texto y
hacer click en el texto a modificar.
Agregar Campo : Seleccionar la herrami enta Campo de la barra de herrami entas y
despus hacer click en el lugar donde deseas que aparezca ese campo, una vez dando
click en el lugar deseado, aparecer la sigoPantalla donde elegiremos el campo que
deseamos de la Tabla, como se muestra en la sigofigura.
Curso de Visual FoxPr o
Campo a
mostrar
~ I Espresi6n de inhllme 13
Formato de
Salida
s uekJo
PO",CI OO del campo
r Flotante
ro .6.orde n ~ e r i o r de la barde
r Bor,>je inferior ele ~ banda
0J
_______J
Aceptar
Si deseas por ejemplo, poner en negritas un campo ve al men Formato -> Fuente.
Para modificar un campo, basta con hacer doble cl ick sobre el campo y aparecer la
ventana anteri orment e mostrada.
Agregar Campo ( Generador de Expresiones ): Cuando la necesidad es mostrar por
ejempl o dos campos juntos, o l calculo entre dos campos numricos, se debe hacer
click sobre el botn que se encuentra a un lado del cuadro de texto Expresin como se
muestra en la sigoFigura.
Bot6n: Generador
de Expresiones
Fcrmeto:

Una vez, habiendo hecho cl ick sobre este botn, deber aparecer la ventana del
Generador de Expresiones, como se muestra en la sigoFigura.
Curso de Visual FoxPro
y Generador de expresiones E3
Expresin a
bpresn para campo del inlor me:
Imprimir
a!lrim(aytiloxs, ... " " +

Acepter
eIlIrim(aytiloxs, neme1

Funciones
Futlcion83
que puedes Cadelle' Heterntcee:
utili zar
l' ::J
fec M'
::J
IIdete}
::J
CamD=' s \ aieoles:
llJthors. I
00"
L
aytiloxs,tesrneme indert N
ejthors notM Jmargln N
Campos
aytilox,. -padver.ce C
de la Tabla
aYthors d:y
_page no N
Variables
""-ltiloxs. flpeQe N del Sistema
aytilors, . ip
::J
-pcolm N
::J
Agregar Campo Cal cul ado : Cuando tienes la necesidad de mostrar, por ejemplo,
totales al final del reporte. Para agregar un campo calcul ado, debes agregar un campo
nuevo, o seleccionar el campo que quieres que sea calculado y aparecer la ventana
de Expresiones de Informes, donde se ponia el nombre del campo y el formato, all en
esa ventana hay un botn que dice Clculos, al hacer click en ese botn, te debe
aparecer la ventana Cal cul ar Campo, como se muestra en la sigoFigura.
':1 Calcular campo 13
Cuando empieza a
calcular de nuevo
"a eeer IFin rlorme :::J
r QesviacIl e8l ndar
r
IrAe';";:I"':1
...JIl....,
Cancelar I
Curso d e Visua l FoxPr o
Banda de Resumen : l a banda de resumen es la que se usa para mostrar totales al
final del reporte, y por lo tanto solo se impri me en la ultima hoja. Por default cuando se
disea un reporte en Visual FoxPro no aparece la banda de resumen, esta se agrega
en el men Informe -> Titulo/Resumen, entonces aparece la ventana Titul ofResumen,
donde debes marcar la banda que deseas que se agregue al reporte, una vez habiendo
elegido la banda de resumen se debe agregar a tu diseador de reportes, como se
muestra en la sigoFigura.
l!!I D..eador de Informe. aulhor. fr. I!!IIi1D
Aqui van
campos
calculados
AUTHORS
IDATEQ I
:.o.. TteJe
Author ID First Name
Last Name
City
UTHOR ID. FIRST NAME
LAST NAME
CITY
State
l ,l ' ! .. 1 ,1 ,, 1
I'Pgina ' + ALLTRi M(.
Address
DDRESS
Guardar un Reporte
Para guardar un reporte hay que hacer click sobre el botn de Guardar que se
encuentra en la barra de herramientas Estndar, o ir al men Archivo -> Guardar. Una
vez hecho esto aparecer la pantalla de guardar archivo.
l os Report es se guardan con la extensin FRX. Una vez guardado el reporte, este se
agregara al Administrador de proyectos en la Pagina Documentos, seccin Informes.
Para ver una vista Preliminar del reporte, hay que hacer click sobre el botn
Curso de Visual FoxPr o
Vi sta 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 click 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 sigo
Figura.
100
Boton Prel iminar
AUlh or lD H sl Nml e
l os ! N , n ' ~
City
123 E Malr
124 E. D
3E. Br, m,
.i!
S"".
Imprimir
xaur
An crew
Full"
Hood Pi'"
AUTHORS
D2/2 1/99
Ej ercici o:
Crear un reporte sencillo de cada una de las tablas del proyecto utilizando las
herrami entas explicadas en este capitulo.
Curso d e Visual FoxPr o
Asistente para Reportes
El asistente para reportes es una opcin la cual nos permite crear un reporte por medio
del asistente, el cual nos guia a travs de una serie de pasos. Para crear un reporte a
travs del asistente, lo puedes hacer haciendo click sobre el botn Informes en la barra
de herramientas Estndar, o seleccionando la pagina Datos del Administrador de
Proyectos, seleccionando la opcin informes y despus dando click en el botn Nuevo,
y Visual FoxPro te preguntara si deseas un reporte en blanco o quieres utilizar el
asistente.
En cual quiera de los dos casos aparecer la ventana donde seleccionaran el Asistente
para el Tipo de Reporte que desean utilizar, como se muestra en la sigofigura.
';J SeleccIn de lo" a",dente" El
Tipo de
Asistente
"dent e para nrorres de Qrupo$!totales
Asistente plla l-"J formes UI)J a vence
Descrccin
Crei'll.lll irlorme con formato a partir de l.IIla nica tabla.
IAceptar I Cancelar I
Asistente para Informes: Con este asistente se puede generar un reporte sencillo de
una sola tabla, por ej emplo de la tabla de Temas (Tapies).
Asistente para informes de grupos/totales: Con este asistente puedes crear reportes
agrupados con subtotales por grupo, por ejemplo cuantos libros hay de cada Categoria,
con totales por categoria.
Asi stente para informes de uno a varios: Con este asistente puedes crear reportes
por ej emplo de un Autor con sus libros, es como en las rel aciones ( 1 a muchos).
Curso de Visual FoxPr o
Pasos para Utilizar el Asi stente para Informes
Ya una vez activado el Asistente y habiendo seleccionado por ejemplo la pri mera opcin
que es Asistente para Informes, y dando aceptar, nos debe aparecer una ventana
donde seleccionaremos la Base de Datos, la Tabla y los campos que queremos en el
reporte, como se muestra en la sigofigura.
SeleccOxJe lIn' b"e de d<llos o L.<1a Tab!, Ibe. selec cOxJe L.<1e labi, o lIn'
,"sla y. de spus. seleccooe ~ s campos que dese e
CiOf!Jpos seleccoooOOs Campos -spoxibles
';/ ASIstente para rnfo.mes 13
Seleccionar
Base de
Datos
Seleccionar
Tabla
Campos de la
Tabla
Seleccionar
Campos
Una vez habiendo seleccionado la Base de Datos, la Tabla y los Campos que deseas
que aparezca n en el reporte, debers hacer clic en el botn Siguiente , y aparecer una
vent ana donde elegiremos el est ilo del reporte, donde tenemos 3 opciones disponibles,
como se muest ra en la sigofigura.
Quap" ienci, desea que leng, su rlorme'
Estilo ----------,
ro f ierulivo
r Doc.e carl,
r !'resonlacoo
Curso de Visual FoxPr o
Una vez habiendo seleccionado el Estilo de presentacin para el Reporte, debes hacer
click en el botn Siguiente, entonces nos aparecer una ventana donde elegiremos el
Diseo para el Reporte como se muestra en la sigofigura.
Qu 1;;.0 de " sePio deseo?
.- - - ..
'JI ASIStente para rnformes El

- ---
En uno " slrbucl1 por coluooos. el compo y sus dolos esln en l.O10
coluooo. En l.O10 dislribucl1 por lios. e l compo y sus dolos e sln en l.O10
lio
Nrnero de -"alumnas
1_' iJ
Odribucl1 de campos
ro ( alumnos
r- Fios

ro \!erlOool
r ti orimllai
[ " oIizar
Una vez habiendo seleccionado el Diseo para el reporte, debes hacer click en el botn
Sigui ente, entonces nos aparecer una ventana donde se nos preguntara porque
campo se quiere ordenar el reporte, como se muestra en la sigofigura.
Cmo desea orden", regislros?
C"illPOS seieccicm dos
!-__
ro A, c' !Jdenle
r
I ""'" I
<Quit", I
,o :-__
';/ ASIstente para rnformes El
Ci>:ICel", I
Curso de Visual FoxPr o
Una vez habiendo seleccionado el o los campos por los cuales se ordenara el reporte,
debes hacer click 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 sigo
figura.
ro !,-uardor 01 rlorme poro ' u uso postor'=<
r Guordor 01rlorme y en 01 Diseodor de rlormes
r Guardor o .Wnpr Onir 01rlorme
Ya puede croor su rlorme
Poro c omprabor los rosLlodos de su " forme. cie en 'Presonlocoo
prom nor'
SoleccOne l.O10 opcoo y hago clie en 'f"oIizor'
':1 ASlslenle para El
r; Ajustor 01 contenido
<-=':' - 1
Una vez seleccionada la opcin deseada para guardar el reporte, hay que hacer click en
el botn Finalizar para que guarde el reporte con el nombre que se le dio y lo agregu
a la pagina Documentos, seccin informes.
Ej erci ci o:
Crear reportes de cada una de las tablas del proyecto utilizando el Asistente para
Informes, siguiendo los pasos expl icados en este Capitulo.
Curso de Visual FoxPr o
Comandos para manipular los Reportes
Modificar un reporte
ModifY Report nombre del reporte
Ej emplo:
ModifY Report authors
Imprimir un Reporte
Report Form nombre del reporte to Print
Ej emplo:
Report Form authors to print
Ver reporte en Vista Preliminar
Report Form authors previ ew
Ej emplo:
Report Form authors preview
Imprimir Reporte - que pregunte las opciones de impresin
Report Form nombre del reporte prompt
Ejemplo:
Report Form authors prompt
Reporte con condicin
Report Form nombre del reporte for condicin
Ej emplo:
Report Form empleado for depto = "0001"
Curso de Visual FoxPr o
Crear Ventanas
Para crear una ventana, primero debes ir al Administrador de Programas, despus
selecciona la pagina Documentos, y despus seleccionar la opcin Formul ari os y dar
Click en el botn Nuevo, como se muestra en la SigoFigura.
[ Formularios
:::J"UJ
!,.,.l]j aboct
;", WiI qcb tart
Irtl crme,
@" Eti quet a,
Deocri pcll
Ruta
Formulari os Sencill os
Documentos
t!llevo
I
&, g-egaf .
I

I

I
ti" .
I
.Gene,,,,-,,.
I
Un Formulario Sencillo, es el que es real izado generalmente utilizando una sola tabla.
Un ejemplo tipico de formularios sencillos son las pantallas de los catlogos de un
Sistema, que solamente tienen la funcin de registrar, modificar, eliminar y consultar
datos de una tabla.
Por ejemplo vamos a construir una forma senci lla utilizando el Wizard de Visual Foxpro:
Curso de Visual FoxPr o
Asistente para Formularios
Para crear un formulari o con el Asistente para Formulari os, primero se debe hacer click
sobre el botn Formularios que se encuentra en la barra de herramientas Estndar, o
seleccionar en el Administrador de Proyectos la pagina Datos y despus la opcin
Formularios y posteriormente hacer click en el botn Nuevo. Una vez hecho esto, nos
debe aparecer la sigoPantalla, donde nos pregunta que si deseamos usar el Asistente
de Formularios o un Formulario en Blanco.
Una vez eligido que se utilizara el Asistente, aparecera una ventana en la cual debemos
escoger uno tipo de asistente, como se muestra en la sigofigura.
Tipo de
Asistente
';f Seleccin de los esuteetes 13
Seleccione el asistente que desee uliliMr'
Asistente par01 uno e varios
Descrccn
Cree l..Irl IClfmulrio de introduccin de dates a partir de une
nica labia,
I Aceptar 1
Asistente para Formularios: Con este asistente se puede generar un formulario
sencillo de una sola tabla, por ejemplo de la tabla de Temas (Tapies).
Asistente para Formularios uno a varios: Con este asistente puedes crear
formularios de uno a varios es decir una relaclon, por ejempl o los libros de un autor.
Curso de Visual FoxPr o
Pasos para Utilizar el Asi stente para Formul ari os
Ya una vez activado el Asistente y habiendo seleccionado por ejemplo la pri mera opcin
que es Asistente para formularios, y dando aceptar, debe aparecer una ventana donde
se selecci ona la Base de Datos, la Tabla y los campos que se desean en el formulario,
como se muestra en la sig. f igura.
Seleccionar
Base de
Datos
Seleccionar
Tabla
't A.. para formulanos
Qu compos desea us ", en su lorrrJUiario?
Seloccione L.<1a base de datos o L.<1a T<ibI, libre, seleccione L.<1a labia o
visla y_ despus_seleccione ios compo' que des ee
Campos de
la Tabla
Seleccionar
Campos
Una vez habiendo selecci onado la Base de Datos, la Tabla y los Campos que deseas
que aparezcan en el reporte, debers hacer elle en el botn Siguiente, y aparecer una
ventana donde se elige el estilo del formulari o y los t ipos de botones, como se muestra
en la sig. f igura.
TP de baln -----"
r Bolone sde jexlo
ro
e sobalones
r Eersonal
Eslrtd",
e ncelado
Sombreado
Errnarcado
SoIisl >oado
Qu eslilo desea apIic'" al lorrrrtJ",io?
Tambin puede s elecc"""", L.<1 conjoxl:o de botones de desplazamient o
e>i rtdar
.Eslilo
':t ASlSlenle par.. formulanos El
Curso de Visual FoxPr o
Una vez habiendo seleccionado el Estilo de presentacin para el Formulari o, se debe
hacer click 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 sigofigura.
Seleccione hasl , Ir es c ampos o seleccrne lS1a eliquela de ndice par,
ordenar re",slros
Croo dese, ordenar re",slros?
IPoso 3 - Ordenar re",slros
, '"
l , ,,
. "''''
."'".
.... '"
4 "'".
l , ,,
, '"
/ A..slenle para formularIOs El
.campos c>sponib\es o eliquelos de ndice
AgeQar >
<Quitar
C' !!JPOs seieccrnados
,
ro A, c.oderK'
r
Una vez habiendo seleccionado el o los campos por los cuales se ordenara la
informacin, se debe hacer click sobre el botn Siguiente, y aparecer la ventana final
del asistente donde hay varias opciones para guardar el Formulari o, como se muestra
en la sigofigura.
y , puede crear el ormular;o
r; A!l:!egar pginos par, campos que no caben
Haga clie en ' PreserKac t1 para ver el ormular;o o seleccrne lS1'
opct1 Y cic en 'F"aIi zar'
ro (luardar el ormular;o par, su uso posler,=<
r ye iec"ar el ormul",;o
r Guardar el ormular;oy en el Oiseador de ormularios
?1A..slenle para formufarlOs El
IPoso 4 - F",",zar
Escrib, lS1 llelo par, su ormul ar;o
ITOPl e'!
Una vez seleccionada la opcin deseada para guardar el formul ario, hay que hacer click
en el botn Finalizar para que guarde el formulario con el nombre que se le dio y lo
agregu a la pagina Documentos, seccin Formularios.
Ej erci ci o: Crear un formul ario para la tabla de Tapies utilizando el Asistente, siguiendo
los pasos explicados en este Capitulo.
Curso de Visual FoxPr o
El Di seador de Formul ari os
El diseador de formul arios es el lugar donde realmente se lleva a cabo la
programacin, como ya se ha dicho aqui es donde se utilizan los objetos visual es
(control es), a los cuales cada uno tiene sus propiedades (caractertstlcas) y eventos.
Hay eventos que son comunes para la mayoria de los objetos (controles), como por
ejemplo, el CLlCK o el MOUSE MOVE, por mencionar algunos.
Para crear un f ormulari o sin los asistentes, primero se debe ir a la pagina Documentos,
elegi r la opcin formularios y hacer cl ick sobre el botn Nuevo, posteriormente a esto
Visual FoxPro preguntara si deseas uti lizar el asistente o un formulario en blanco. En
este caso ser un formulario en blanco; al hacer esto debe aparecer el Diseador de
Formularios como se muestra en la sigoFigura.
Barra de
Herramientas de
Formulario
Ccrlro les de formub-m El
Evenl Ip- erelermrndo]
AcliveCcrlr ol o
... _....
AcliveFCtrm !l
Ipredetermnado]
. ." .
. .
AlIloCenler
BackCoor 132,182-182
8a*eClass r<'t11!
". "".,.J. ,:., .S'!
80" Ip- erelermrndo]

,. Propiedades DocFrm1 I!!IiIEJ
J
o 'S, \o 17 1!1 [!j
El I!!! " G9 l J C
Obj etos o Controles
disponibles para el
Desarrollo
Area de trabajo
para el Formulario
(ventana)
Ventana para los
Propiedades de
(os objetos
Curso de Visual FoxPr o
Herramientas de Formul ari o: Estas herramientas se utilizan para activar algunas
opciones cuando se esta diser"iando el formulario. Se usa para activar la ventana de
Propiedades, la ventana del Entorno de Datos o para ver el cdigo de algn objeto.
Formulari o: Aqui es donde se dibujan todos los controles que se va utilizar, ya que el
formulario en si es un contenedor. La diferenci a con el generador de pantallas de
FoxPro para DOS o Windows, es que aqui puedes o no puedes ligar los controles a
campos de una tabla, dando mayor potencia, adems de que se pueden cambiar las
propiedades de cada uno.
Barra de Controles: Aqu se encuentran todos los controles disponibles para poder ser
utilizados en los formulari os, entre ellos se encuentran, los sig.: Bot6n, Listas, Listas
desplegables, Imagen, Etiquetas de Texto, Caja de Texto lnea simple, Caja de texto
multilinea, etc.
Ventana de Propi edades: Aqui es donde se cambian las propiedades de los controles,
estn varan segn el control que se encuentre seleccionado, al hablar de propiedades
hay que decir que tambin se pueden cambiar por medio de programaci6n dando al
desarrollador muchisimas ventajas con respecto a FoxPro.
Al gunas propedades mas utilizadas o mas comunes .
Capti on: Esta seria el texto que aparece en un Control.
BackCol or: Esta sera el color de fondo del control.
ForeCol or: Esta sera el color de la letra del control.
Vi sbl e: Esta sera para mostrar u ocultar un control.
Enabl ed: Esta sera para activar o desactivar un control.
Name: Esta seria el nombre que tendra el control para hacer referencias a el.
Value: Esta seria para saber el valor que tiene un control , por ejemplo una cantidad en
una caj a de texto.
Mas adelante se trataran algunas propiedades especificas de controles.
Curso de Visual FoxPr o
Pasos para disear un Formul ario
Para disear un formulario, primero hay que crear un formulario nuevo, ya estando el
formulari o nuevo, hay que agregar los control es que se van a utilizar, para esto hay que
seleccionar el control deseado de la barra de controles y posteri ormente dibujarlo en el
formulari o asignndole el tamao deseado arrastrando los bordes del control que se
esta dibujando, como se muestra en la sigofigura.
Arrastrar
bordes
Seleccionar
Control

,r;
Para cambiar las propiedades del control seleccionado se deber uti lizar la ventana de
propiedades, si esta ventana no se encuentra activa, abra que activarla, haciendo cli ck
en el botn Propiedades de la barra de herramientas de formularios, como se muestra
en la sigofigura.
Acti var ventana
Propiedades
Curso de Visual FoxPr o
Control es para Formulario
Seleccionar
Esta es para seleccionar un control ya sea en la barra de herrami entas o en el
formul ario.

Eti queta
Este sirve para colocar texto de informacin en el formulari o; solo en ocasiones
especiales se podr cambiar, es decir que aqui no se puede teclear texto, obsrvese la
sigofigura.
de DocForm2
_ D x
Nombre,
.. '.: ..
Oireccin
-.- -. .

Cuadro de Text o
Este sirve para colocar unas cajas de texto en las cuales se va a teclear la informacin
en una sola linea, la diferencia con las etiquetas es que con esta si se puede modificar
el texto que se encuentra dentro de el. Obsrvese la sigofigura.
de formulario' - DocForm2 I!lIiIEi
Nombre
Cuadro de
Texto

Cuadro de Edici 6n
Este cumple la misma funcin que el cuadro de texto, con la diferencia de que aqui es
para escribir en mltiples li neas.
Curso de Visual FoxPr o
19
Botn de Comando
l os botones de comando suelen emplearse para inici ar un evento que lleva a cabo una
accin, como cerrar un formulario, moverse a otro regi stro, impri mir un informe, etc.
Obsrvese la sigofigura
'"" DIseador de formulanoo DocFo.m2
:: Forml
J.J
Grupo de comandos
Este se utiliza para crear una serie de botones de comando que pueden manipularse
individualmente o como grupo. Obsrvese la sigofigura.
EI1i Diseador de fo.mulario. DocFolm2 I!!I D
W FOIm1 I!!IIi1D
:;JICommand1
1,1Command2
.1
~
Grupo de opciones
Este se utiliza para que se elija una opcin entre varias posibles dentro del grupo.
Obsrvese la sigofigura.
~ Diseador de forllllulallos - DocForllll2 I!!lIiI
':1 Form1 I!!lIiII3
Ordenar por'
Curso de Visual FoxPr o
Casilla de Verificacin
Este se utiliza para asignar un valor de falso o verdadera, dependiendo de si se marca o
no se marca la casilla. Obsrvese la sigofigura.
EI11I Diseadol de fOlmularios - DocForm2 I ! ! I ~ 13
'!I Fmm1 I!!IIi1I3
P Empleado activo

,
Cuadro combinado
Este se utiliza poner lista desplegable en el formulario con una seri e de valores, que al
hacer click sobre el, se desplegaran sobre el formulario, de estos valores, solo se
escoger uno, no confundirse con los botones de opcin. Obsrvese la sigofigura.
v Fmm1 I!lIiII3
srnccanzao
Interino
~
Cuadro de Lista
Este cumpl e con la misma funcin que el cuadro combinado, la diferencia de este es
que no se tiene que hacer click sobre el para que despl iegue el contenido, si no que
siempre esta visibl e.
l!J
Control numrico
Este es como un cuadro de texto, con la diferen cia de que solo acepta valores
numricos, y muestra dos flechas , para aumentar o disminuir el valor. Obsrvese la sigo
figura.
'ti Fmml I!!llilf3
Curso de Visual FoxPr o
~
Cuadri cul a
Este se utiliza para desplegar la informacin de tablas en columnas y renglones, es
como el comando Browse, solo que mucho mas potente, adems de que debe ir
contenido en un formulario. Obsrvese la sigofigura.
"':i Flllm1 1 ! ! I ~ 1 3
r oete
Business
1 Psychology
3 scrence
4 Heall h
5 r kuon
6 a ornence
7 Technical
~
Imagen
Este solo se utiliza para mostrar imgenes en un formulario.
Curso de Visual FoxPr o
Entorno de Datos : El entorno al igual que el Diseador de Informes, es el lugar donde
se seleccionan la(s) tabla(s) con las que va a trabaj ar en este caso el formulario. Para
activar la ventana del entorno de datos , se debe hacer cl ick sobre el botn entorno de
datos en la barra de herramientas de f ormularios o hacer click con el botn derecho
sobre algn lugar del formulario y sel eccionar la opcin entorno de datos, una vez
hecho esto deber aparecer la ventana del entorno de datos; la pri mera vez que se
activa, es decir que no hay ninguna tabla sel eccionada, inmed iatamente aparecer una
ventana donde se elegir la o las tablas a usar, como se muestra en la sigofigura.
Enlomo
de Datos
eeto ids
OCU""
books
tapies
Seleccionar
tabla(s)
Seleccioner
ro labias
r Vjetas
Para agregar la o las tablas al entorno de datos, basta con seleccionar la tabla y hacer
click sobre el botn agregar, una vez agregada(s) la(s) tabla(s) se debe hacer cl ick en el
botn cerrar, para cerrar la ventana de seleccin y que solo quede activa la del entorno
de datos.
Curso de Visual FoxPr o
Como se programa en Vi sual foxPro
En Visual FoxPro, no hay una norma de programacin a segui r como se hace por
ejempl o en Delphi o C++, donde en una seccin se declaran las variables globales, en
una las funciones a uti lizar, 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, su rigidez en la estructura de la
programaci n, que aunque es la mejor forma de programar, para no hacer malos
hbitos de programacin. l o 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 le puede decir que todas las variables que se intenten utilizar, hallan sido
previamente declaradas.
En Visual FoxPro las instrucci ones se pueden escribir con sus cuatro pri meras letras, es
decir que Visual Fox? ro 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 difi cil de leer para quien no este acostumbrado
a este estilo de programaci n.
Tipos Datos pa ra Vari abl es
Numrico Para almacenar valores numricos, como edades o sueldo
Strnc Para almacenar valores alfanumri cos
Date Para almacenar fechas, por ejemplo la fecha de nacimiento
~ c a l
Para almacenar valores boleanos (verdadero o falso)
Como ya se dijo en Visual FoxPro, no hay tanta rigidez a la hora de declarar y usar
variables, pero se sigue 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.
Decl araci n de variabl es.
1. Variables publ icas
PUBlIC nombre de variable
2. Variables local es
LOCAL nombre de variable
Al declarar variables pbl icas o locales no es necesario poner un PUBlIC por cada
variable, simplemente se separan las variables por comas, por ejemplo: PUBlIC
nombre, direccion, telefono. Adems de esto se puede apreciar que aqui no se le
estableci el ti po de dato, simplemente se dijo si era publica o local, por lo tant o
despus de haber declarado que tipo de variable, habria que declarar el tipo de dato.
Curso de Visual FoxPr o
Decl araci n de Tipos de Datos pa ra Vari abl es.
En Visual FoxPro hay dos formas de declarar los tipos de datos de las variables.
1. Estableciendo un valor para la variable, por ejemplo:
PUBlIC nombre
Nombre =""
Se puede apreciar que se le asigno un carcter en blanco a esa variable, sin
embargo eso no quiere decir que no puede almacenar 255 caracteres de longitud.
2. Uti lizando la palabra reservada STORE TO, por ej emplo:
STORE space(30) TO nombre
Aqu se utiliza la palabra reservada store que nos sirve para declarar variables,
posteriorment e se utiliza una funcin para est ablecer cuantos caracteres de longitud
tendr esa variable, eso no quiere decir que no se pueda modificar su longi tud; y al
final el nombre de la variable. Tambin se pueden declarar varias variables con una
longitud especifi ca, separando las variable con comas, por ejemplo:
STORE space(35) TO nombre, direcci on
STORE OTO edad, sueldo
liberar la memori a 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 mas conveniente es borrarl as de memoria, ya que en
si Visual FoxPro consume memoria, se debe tratar de tener en memoria el menor
numero de vari ables abiertas.
RELEASE variable, vari able
Ej emplo:
RELEASE nombre, direccion
Un ejemplo seria, por ej emplo: al iniciar un programa se decl aran vari ables para real izar
ciertos procesos en donde se al macenan valores en variables, pero esas variables solo
las usamos en ese momento, y en ese programa ejecutamos otro programa de nuestro
sistema, en ese momento se declaran mas variables, y asi sucesivamente; entonces se
llega a un momento 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 asi tener un mejor rendimiento en el sistema.
Curso de Visual FoxPr o
Sentencias de control .
1. IF condicin THEN
ELSE
ENOIF
Si rve para preguntar por un val or que cumpla una condicin.
Ejemplo:
IF edad <: 18 THEN
Wait window "Eres menor de Edad"
ELSE
Wait Window "Eres Mayor de Edad"
ENDIF
2. DO CASE
CASE condicin
ENDCASE
Si rve para preguntar por varios posibles valores para una variable o campo, este
sustituye aIIF...THEN, haciendo el cdigo mas 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
Curso de Visual FoxPr o
3. FOR varlable valor inicial TO valor final
NEXT variable
Ej emplo:
FOR contador = 1 TO 10
Instrucciones a procesar
NEXT contador
4. DO WHllE condicin
lOOP
Ej emplo:
DO WHllE contador < 10
Instrucciones a procesar
lOOP
Instrucciones bsicas para programar
1. Imprimir un valor en Pantalla
? variable
Ej emplo:
? fecha
? Timen
2. Imprimir un valor en Impresora
? ? ? variable
Ej emplo:
??? variable
??? TimeO
El imprimi r valores en pantalla nos sirve por ejemplo para comprobar el contenido
de variables
Curso de Visual FoxPr o
3. Comentarios.
Los comentarios dentro de un programa se les 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.
l as 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, para
eso sirven estas ventanas, en donde se despliega un texto informativo, y esta
espera a que el usuario pulse cualquier tecla para continuar.
Wait Window mensaje
Ejemplo:
Wait Window "Este es un mensaje de prueba, < Enter > para Continuar"
5. Obtener la fecha del Sistema
DATEO
Ejemplo:
Fecha = DATEO
6. Obtener la hora del Sistema
TlMEO
Ej emplo:
Hora actual = TIMEO
Curso de Visual FoxPr o
7. Buscar informacin en un Indice
Esta funcin se utiliza para saber si existe un valor en una tabl a que tenga un indice
activo, y regresa verdadero o falso segn el resultado que obtenga de la bsqueda,
por lo tanto se usa conjuntamente con la instruccin IF
SEEK()
Ej emplo:
IF SEEK(valor)
Wait window "Si exi ste"
ELSE
Wait window "No Existe"
ENDIF
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 podriamos mani pular la informacin, ya que como se dijo no se
pueden hacer operaciones entre tipos de datos distintos, en la sigoTabl a se muest ran
las funciones para la conversin de los ti pos de datos .
STR nvalor
VAL cvalor
CTOD cvalor
DTOC(fvalor)
Convertir un valor numrico a carcter
Convertir un valor carcter a numrico
Convertir un valor carcter a fecha
Convertir un valor de fecha a carcter
Curso de Visual FoxPr o
Crear Mens
Para crear un reporte, primero debes ir al Administrador de Programas, despus
selecciona la pagina Otros, y despus seleccionar la opcin mens y hacer Click en el
botn Nuevo . Despus de haber dado cl ick sobre el botn Nuevo, nos debe aparecer la
sigo Pantall a, donde nos pregunta que si deseamos Un Men (normal) o un Men
emergente (de contexto) . Al elegir Men (normal)debe aparecer la ventana del
Diset"iador de Mens, como se muestra en la sigoFigura.
O,; Di'!'eador de men'!' - Men1
Inck Mor
t I.<Archivo
Texto para
la opcin
Accin a
Realizar Botn
para
crear la
Accin
El mnar
V i ~ l a oreve
Indicador : Es el texto que va aparecer a la hora de desplegarse la opcin en el men.
Acci n: Es la accin que se realizara al seleccionar esa opcin de men, entre ellas
esta submen que seria para mostrar un submen de esa opcin, comando para
ejecutar una instruccin cuando se selecciona esa opcin, procedimi ento para ejecutar
una seria de instrucciones cuando se seleccione esa opcin.
Crear : Sirve para crear la opcin que se selecciono en Acci n.
Nivel de men : Sirve para desplazarse por los diferentes niveles de un men.
Curso de Visual FoxPr o
Pasos para disear un Formul ario
Para disear un Men, primero hay que crear un men nuevo, ya estando el men
nuevo, hay que agregar las opciones del men que se van a utilizar, para esto hay que
seleccionar la seccin Indi cador, y escribir el texto para el men, para consegui r que
una letra sea la tecla rpida para esa opcin (Alt + A), se le antepone \<, a la letra que
se quiere que sea el acceso rpi do, como se muestra en la si gofigura.
O;"( Di'!'eador de men'!' - Men1 I!!lIiIEJ
Accin O clOIles Nivel de mem
,
M\, ,,,,,lenirmenlo
Iillllllllll
Cre..,
!J IS..".. de m8l1s
3
\<ConsultM Submem
'<Bepones Submerpj
Elemento
\<s.., Comanoo

I
Para crear un submen, se debe selecci onar primero la opcin a la cual se le desea
crear un submen y hacer click en el botn crear, entonces el nivel de men cambiara a
submen y alli se crearan las opciones para el submen, tal como se crean con un
men principal, como se muestra en la sigofigura.
-EfDi'!'eador de mens - Men1 I!!lIiII3
Elimirl-3f

Submen para la
opcin
Mantenimiento
ACCin O Ni vel de men
,
VAllas do101m M"",lenimle

Comando
Com<lnoo
Elemento
Curso de Visual FoxPr o
Para ver una Vista Previa del men, para ver como se verla ya en el sistema, se debe
hacer click en el botn Vi sta Previ a, del Diseador de mens, entonces aparecer en la
ventana principal de Visual FoxPro el men que se ha diseado, como se muestra en la
sigo figura.
\<CAmbiol C""ondo
Visto previo 1548602l.1rrp
EI.ncIc<dofe1
[100",0..00 e,
Para poder uti lizar un men dentro de un sistema se deben segu ir los sigopasos
1. Generar el cdi go 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 MPR, el cual contiene todos los
comandos necesarios para crear el men. Es importante decir que cualquier cambio
que se real ice en el men, se deber volver a generar el cdigo.
2. Ya que Vi sual FoxPro tiene su men pri ncipal activado, este se debe desactivar para
que se pueda usar el men que se diseo, esto se hace emitiendo la sigoinstruccin
en la ventana de comandos o dentro del programa.
SET SYSMENU OFF
3. Para poder mostrar el men diseado, se debe ejecutar el archi vo que contiene el
cdigo fuente del men.
DO curso.mpr
Y despus de ejecutar el men, se debe emiti r la instruccin READ EVENTS, para
que el programa se mantenga en ejecucin.
4. Y por ulti mo, al salir del men que se diseo, habr que restablecer el men de
Visual FoxPRo.
SET SYSMENU TO DEFALT
Y para dar por terminada la ejecucin del programa, habr que agregar lo sigo
CLEAR EVENTS

Você também pode gostar