Nothing Special   »   [go: up one dir, main page]

Curso de Visual Fox Pro

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 60

www.softdownload.com.

ar
Curso de Visual Foxpro-Volumen I (Diseo de la Base de Datos)




_________________________________________________________



CREACION DE LA BASE DE DATOS

1. Ubiquese en el folder Data y luego en Databases y presione el botn New




La ventana del Database Designer aparecer :



Puede ocupar el toolbar Database Designer para el control de la Base de Datos.

www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de la Base de Datos)






Descripcin de los botones del toolbar:


Crear una nueva tabla.

Agregar una tabla existente

Eliminar una tabla seleccionada

Modificar una tabla seleccionada

Creacin de Vistas remotas

Creacin de Vistas locales

Editar Procedimientos almacenados en la Base de Datos

Creacin de Conexiones con vistas remotas

Examinar el contenido la tabla (BROWSE)

www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de la Base de Datos)






Crear una nueva tabla:




1. Click en el boton de Nueva tabla, aparecera la ventana New Table






2. Se selecciona New Table, luego aparece la ventana de guardar el archivo,
seleccione el directorio y el nombre de la tabla y luego presione el boton de salvar.








www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de la Base de Datos)




La ventana de Table designer aparecera en pantalla:

Esta es la parte mas importante de la tabla, es aqu donde se define la estructura de
datos que contendr dicha tabla. El primer paso es definir los campos, tipos, tamao,
Formato y Reglas de validacin en el folder Fields.































a. Definicin de campos:

Igual que en las versiones anteriores, la definicin de campos es igual. Se introduce el
nombre del campo (name) el tipo de datos que soportar (Type) y el tamao.
Definicin
de campos
Tipos de
Datos
Definicin
del
Formato
de Entrada
Definicin
de reglas
de
validacin
de los
campos
www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de la Base de Datos)



b. Definicin del Display

Format : Es el formato de salida del campo, ejemplo si fuera nmerico 9,999.99 o si
fuera carcter !!!!!!!!!!!!, para que solo acepte mayusculas

Input mask : Igual que el Format, lo nico que es para la entrada de datos.

Captin : Descripcin mas precisa del campo, es de utilidad al disear los
Formularios.


c. Definicin de reglas de validacin a nivel de campo

La validacin son triggers o eventos que se ejecutan a nivel de campo. Ejemplo: una
validacin de un campo que solo acepte nmeros positivos. (id > 0)


Rule : Es la regla de validacin, ejemplo: id > 0, si queremos que acepte valores
positivos.

Message: Es el mensaje personalizado que queremos que aparezca en pantalla a la
hora de violarse la regla de validacin del campo. Ejemplo : Solo se aceptan nmeros
positivos (nota: el texto debe escribirse entre comillas).

Default Value : Valor por defecto del campo. (nota: hay que respetar el tipo de dato
del
Campo)

Luego de hacer la deficion de los campos, pasamos a la definicion de Indices de la
tabla, que ser muy importante a la hora de crear las relaciones entre las tablas.




















Nombre del
ndice
Tipo de
Indice
Nombre del o los
campos que
componen el indice
www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de la Base de Datos)



a. Nombre del Indice (name)

Introducir el Nombre del archivo ndice. Es conocido tambin como TAG.

b. Type ( tipo de Indice)

Primary : Llave primaria.
Candidate : Llave candidata
Unique : Llave nica.
Regular : Llave fornea.


c. Nombre de la Expresin

Nombre de los campos que conforman la llave primaria:
Ejemplo : id, o si son varios campos : id + linea

Nota: si los campos no son del mismo hay que forzarlos al tipo de dato deseado,
ejemplo: si id es carcter y linea, entoces el nombre de la expresion sera:

Id + STR(linea)

STR() convierte de nmero a carcter y VAL() convierte de carcter a nmerico.



Despus de detallar los ndices, se define los eventos de La validacin a nivel de
registro y los eventos que se ejecuten a la hora de Insertar un registro, de actualizar o
borrar.




www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de la Base de Datos)


Ejercicio Prctico:

Cree la siguiente base de datos con el nombre de scott.






_______________________________________________________________



www.softdownload.com.ar
Curso de Visual Foxpro - Volumen II ( Creacin de la Base de Datos)




___________________________________________________________






Las relaciones mas comunes entre tablas se definen :

De uno a uno : Ejemplo de una llave primaria a otra llave primaria
De uno a muchos : Ejemplo de una llave primaria a una Regular o Fornea.



Las relaciones entre tablas se crean arrastrando la llave de la tabla a la llave de otra tabla.




























Relacin entre tablas
(de uno a muchos)
www.softdownload.com.ar
Curso de Visual Foxpro ( Creacin de la Base de Datos)


La figura muestra una relacin entre las tablas regin y departamento, la relacin se
leera as : Una regin tiene muchos departamentos.
Generacin de integridad referencial

Reglas que rigen la coherencia de datos, especficamente las relaciones entre las
claves principal y externa de claves de tablas distintas. Visual Foxpro Resuelve la
Integridad Referencial mediante reglas a nivel de campo y a nivel de registro definidas
por el usuario. El Generador de la Integridad Referencial le ayuda a definir reglas
para controlar cmo se insertan actualizan o eliminan registros de tablas
relacionadas.

Desencadenante: cdigo de evento a nivel de registro que se ejecuta despues de una
insercin, una actualizacin o una eliminacin. Se ocupan para integridad entre las
tablas.

El establecimiento de la integridad referencial implica la creacin de un conjunto de
reglas para preservar las relaciones definidas entre las tablas al introducir o eliminar
registros.

Si exige la integridad referencial, Visual FoxPro impedir las acciones siguientes:
! Agregar registros a una tabla relacionada cuando no haya ningn registro
asociado en la tabla primaria.
! Cambiar valores de una tabla primaria cuando tales cambios supongan dejar
registros hurfanos en una tabla relacionada.
! Eliminar registros de una tabla primaria cuando tengan registros relacionados
coincidentes.

Si lo desea, puede escribir sus propios desencadenantes y procedimientos
almacenados para exigir la integridad referencial. Sin embargo, el Generador de
integridad referencial (IR) de Visual FoxPro permite determinar los tipos de reglas que
desea exigir, las tablas a las que desea exigirlas y los eventos del sistema que harn
que Visual FoxPro las compruebe.
El Generador de IR trata mltiples niveles de eliminaciones y actualizaciones en
cascada, y es recomendable como herramienta para asegurar la integridad referencial.
Para abrir el Generador de IR
1 Abra el Diseador de bases de datos.
2 En el men Base de datos, elija Editar integridad referencial.

Al utilizar el Generador de IR para crear reglas que se van a aplicar a la base de
datos, Visual FoxPro guarda el cdigo generado para exigir las reglas de integridad
referencial como desencadenantes que hacen referencia a procedimientos
almacenados. Para ver este cdigo puede abrir el editor de texto de procedimientos
almacenados en la base de datos. Si desea informacin sobre la forma de crear
www.softdownload.com.ar
Curso de Visual Foxpro ( Creacin de la Base de Datos)


desencadenantes por programa, consulte Uso de desencadenantes en el captulo 7,
Trabajo con tablas.

Precaucin Cuando haga cambios en el diseo de una base de datos, como
modificaciones en sus tablas o alteraciones en los ndices utilizados en una relacin
persistente, debe volver a ejecutar el Generador de IR antes de utilizar de nuevo la
base de datos. De esta forma se revisarn el cdigo de procedimiento almacenado y
los desencadenantes utilizados para exigir la integridad referencial, de forma que
reflejen el nuevo diseo. Si no vuelve a ejecutar el Generador de RI, puede que
obtenga resultados inesperados, ya que no se habrn actualizado los procedimientos
almacenados y los desencadenantes para ajustarlos a las modificaciones.


El Generador IR se muestra cuando:
Hace doble clic en una lnea de relacin entre dos tablas del Diseador de bases de datos
y elige el botn Integridad Referencial en el cuadro de dilogo Editar relacin.
Elige Integridad referencial en el men contextual del Diseador de bases de datos.
Elige Editar integridad referencial en el men Base de datos.

Fichas del generador
Reglas para la actualizacin Especifica reglas para aplicar cuando se modifica el valor clave
de la tabla primaria.
Reglas para la eliminacin Especifica las reglas que se aplican cuando se elimina un registro
de la tabla primaria.
Reglas para insertar Especifica las reglas que se aplican cuando se inserta un nuevo registro
o cuando se actualiza un registro existente en la tabla secundaria.
www.softdownload.com.ar
Curso de Visual Foxpro ( Creacin de la Base de Datos)


VISTAS LOCALES:


Qu es una vista?

Una vista es un objeto que se crea empleando la instruccin SELECT de SQL para bases
de datos relacionales. Las vistas pueden ser locales o Remotas


SELECT campos
FROM tablas
WHERE condicion
GROUP BY campos de agrupamiento
ORDER BY campos de ordenamiento

Ejemplo:

SELECT id, name
FROM s_region
ORDER BY name


Creacin de una vista local.


Clic en el botn para crear vistas locales.



La ventana para agregar las tablas, se utiliza para aadir tablas que se van a ocupar en la
instruccin SELECT SQL, en este caso estaramos seleccionando la parte del FROM.
Seleccionemos s_region y luego Agregar. La tabla se agregar, luego le damos cerrar
(close).


www.softdownload.com.ar
Curso de Visual Foxpro ( Creacin de la Base de Datos)





Ventana de creacin de la vista:






























Fields: (Campos) Aqu se seleccionan los campos de la vista (SELECT campos)

Join : Relaciones entre tablas

Filter : Condicin de filtrado (WHERE condicin)

Order by : campos de ordenamiento (ORDER BY)

Group by : campos de Agrupamiento (GROUP BY)








Agregar una
tabla
Ver el
comando SQL
Eliminar
tabla
Agregar
una
relacin
www.softdownload.com.ar
Curso de Visual Foxpro ( Creacin de la Base de Datos)



CREACION DE VISTAS REMOTAS:

Una vista remota es una vista que se hace de otra base de datos va ODBC. Esta base de
datos puede ser Access, ORACLE, SQL-SERVER, entre otros.


Crear una vista remota:


Clic en icono para crear vista remotas.




Escoger Nueva Vista (New View)




Si no a creado una conexin es necesario crear en New, si ya esta creada seleccione la
conexin y luego OK.


www.softdownload.com.ar
Curso de Visual Foxpro ( Creacin de la Base de Datos)


Como crear una conexin?

Si no ha creado la conexin seleccione New




Siga estos pasos cuidadosamente:

1. Seleccione New Data Source (Nueva Fuente de Datos) y aparecer la configuracin
del ODBC:






www.softdownload.com.ar
Curso de Visual Foxpro ( Creacin de la Base de Datos)



2. En el folder User DSN Presione el botn Add (Agregar)



2. Escoja de la ventana el Controlador deseado, Ejemplo: Microsoft Access Driver
(*.mdb) y luego el botn Finalizar.



3. Luego aparece la Ventana de ODBC del controlador que selecciono (En este caso en
de Access)

www.softdownload.com.ar
Curso de Visual Foxpro ( Creacin de la Base de Datos)


Escriba el nombre del Data Source (Fuente de datos), Luego seleccione la Base de Dato
a la que hace referencia ( en el boton Select Database)




Luego de haber seleccionado la base de datos, acepte todas las ventanas que
aparecieron anteriormente y detengase en la siguiente ventana:




Luego seleccione de la lista de data source el data source que usted acaba de crear.
Luego presione Aceptar (OK).

Seleccin de la lista el Data
Source que ha creado
www.softdownload.com.ar
Curso de Visual Foxpro ( Creacin de la Base de Datos)


Despus le aparece la primera Ventana donde escoge las conexiones, le aparecer la
conexin que usted ha creado.
Nota: Esta conexin que usted a creado servir para sesiones futuras.





Seleccione la conexin creada y luego Aceptar (OK)

Luego le aparecer la ventana donde usted escoge las tablas que utilizar:










www.softdownload.com.ar
Curso de Visual Foxpro ( Creacin de la Base de Datos)



Luego aparecer la ventana donde se disea la vista:






El procedimiento para crear la vista es igual a la creacin de vista Locales.
















www.monografias.com
Curso de Visual Foxpro ( Creacin de la Base de Datos)




www.softdownload.com.ar
Curso de Visual Foxpro - Volumen III (Consultas SQL)



_________________________________________________________





SELECT - SQL usando dos o mas tablas:


Sintaxis :

SELECT alias1.campo1
,alias2.campo2
,alias3.campo3
FROM tabla1 alias1
,tabla2 alias2
,tabla3 alias3
WHERE alias1.campo1 = alias2.campo2
alias1.campo2 = alias2.campo3



Ejemplo :

Un ejemplo sencillo: si queremos listar el nombre del empleado, el id del
departamento, y el nombre del departamento al que pertenece el empleado la
query sera:


SELECT A.nombre AS empleado
,A.dept_id
,B.nombre AS depto
FROM s_emp A
,s_dept B
WHERE A.id = B.region_id


www.softdownload.com.ar
Curso de Visual Foxpro (Consultas SQL)

Ejercicios :

Seleccionar el No. depto, apellido, salario y cargo para los empleados que ganen
mas de 100 y el departamento sea el 41 , 10 50

select dept_id
,nombre
,salario
,cargo
from s_emp
where salario > 100
and dept_id IN (41,10,50)


seleccionar el apellido, del empleado, id del depto, y el nombre del depto.

select a.nombre AS empleado
,b.id
,b.nombre AS depto
from s_emp a
,s_dept b
where a.id = b.dept_id


Seleccionar el apellido del empleado, no del depto, el nombre deldepto para los
depto que esten entre 20 y 50 sin incluirlos.

select a.nombre AS empleado,
b.id,
b.nombre AS depto
from s_emp a, s_dept b
where a.id = b.dept_id
and b.id > 20 and b.id < 50

seleccionar el nombre del empleado no. del depto, nombre del depto, para los
deptos que comiencen con 4 y ordenados por numero de depto y nombre del
empleado desc

select a.nombre AS empleado,
b.id,
b.nombre AS depto
from s_emp a,
s_dept b
where a.id=b.dept_id
and ALLTRIM(STR(b.id)) like '4%'
order by a.nombre asc,
b.id
www.softdownload.com.ar
Curso de Visual Foxpro (Consultas SQL)

Seleccionar el nombre del cliente para aquellos empleados que el No. del depto sea 30,
40, 41, 42 y el ( salario sea mayor que 1000 o el depto sea 50 )


select a.nombre AS cliente,
b.nombre AS empleado,
b.salario,
b.id,
b.dept_id
from s_customer a,
s_emp b
where a.emp_id=b.id
and b.dept_id IN (30,40,41,42)
and (b.salario > 1000 or b.dept_id='50')


Otra soluccion:

select a.nombre
from s_customer a
where a.emp_id IN (Select id
from s_emp
where dept_id in (30, 40,41,42)
and (salario > 1000 or dept_id=50 ))


Seleccionar el nombre del cliente, nombre de region y el salario para todos los
empleados que el salario sean mayor que 100

select a.nombre AS empleado,
b.nombre AS depto,
a.salario
from s_emp a,
s_dept b
where a.dept_id=b.id
and a.salario > 100


Funciones de grupos

salarios minimos y maximos de los empleados

select max(salario) sal_max,
min(salario) sal_min
from s_emp


www.softdownload.com.ar
Curso de Visual Foxpro (Consultas SQL)

Suma, maximo, minimo salario por Departamento

select dept_id,
sum(salario),
max(salario),
min(salario)
from s_emp
group by dept_id


*---

select dept_id,
count(dept_id)
from s_emp
group by dept_id
having dept_id > 20

*---

select dept_id,
sum(salario)
from s_emp
group by dept_id
having sum(salario) between 2000 and 4000


*---

select avg(salario),
min(salario),
max(salario),
sum(salario)
from s_emp
where UPPER(title) like 'SALES%'


*---

select count(nombre),
dept_id
from s_emp
where dept_id=31
group by dept_id



SELECT COUNT(ID),
DEPT_ID
FROM S_EMP
GROUP BY DEPT_ID


www.softdownload.com.ar
Curso de Visual Foxpro (Consultas SQL)



SELECT COUNT(ID),
CREDIT_RATING
FROM S_CUSTOMER
GROUP BY CREDIT_RATING

*----

SELECT SUM(SALARIO), CARGO
FROM S_EMP
WHERE upper(TITLE) NOT LIKE 'VP%'
GROUP BY CARGO

*----

SELECT SUM(SALARIO), TITLE
FROM S_EMP
GROUP BY TITLE

*----


SELECT TITLE, SUM(SALARIO)
FROM S_EMP
WHERE UPPER(TITLE) NOT LIKE 'VP%'
GROUP BY TITLE
HAVING SUM(SALARIO)> 5000

*----







www.softdownload.com.ar
Curso de Visual Foxpro (Consultas SQL)

Programacin Multiusuario:


En la programacin multiusuario hay que tener muy en cuenta el control de la zona
critica. En Visual Foxpro, esto se puede hacer Automaticamente o Manualmente.

En la forma Automtica, Fox controla la zona critica con los enllavamientos
automticos, lo que nos ahorra tiempo ya que no tenemos que preocuparnos por
ello. ( esta es la forma que utilizaremos )

Qu se requiere?

Se requiere algunas definir variables de ambiente en el programa principal de
nuestro Sistema:

* Definicion de para Ambiente Red

SET EXCLUSIVE OFF Abre las tablas en modo compartido
SET MULTILOCKS ON Para que se puedan bloquear mas de un registro
SET DELETE ON Para que los registros marcados no se vizualicen
SET REFRESH TO 5 Refrescamiento cada 5 segundos en el Browse

SET REPROCESS TO AUTOMATIC Si un registro esta bloqueado o enllavado
Fox intenta acualizarlo hasta que uno presione
esc

*SET REPROCESS TO 5 SECONDS Si despues de 5 segundos no puede actualizarlo
Fox manda un error.


* Otro Ambiente
SET ECHO OFF
SET TALK OFF
SET CENTURY ON
SET CLOCK STATUS
SET DATE BRIT
SET PATH TO menu,forms,bmp,prg,data
SET SAFETY OFF
SET PROCEDURE TO .\prg\utility








www.softdownload.com.ar
Curso de Visual Foxpro (Consultas SQL)




Usando el Buffer con las tablas.


Buffer Optimista: Dos usuarios pueden estar modificando el registro sin ningn
problema.

Pesimista : Solo un usuario puede estar modificando el registro.



Cmo fijar el Buffer?

* Fijar el Modo de Buffer y almacenar el resultado lgico en ISuccess

lSuccess = CURSORSETPROP("Buffering", 5, "customer")

IF lSuccess = .T.
=MESSAGEBOX("Operacin Realizada.!",0," Status de la Operacion ")
ELSE
=MESSAGEBOX("Operacin No Realizada.!",0," Status de la Operacion ")
ENDIF













Con el buffer activado podemos hacer uso de los comandos :

TABLEREVERT(.T.)
TABLEUPDATE(.T.)
Tipos de Buffer
1 No utilizar el buffer
2 Pessimistic row buffering on.
3 Optimistic row buffering on.
4 Pessimistic table buffering on.
5 Optimistic table buffering on.
www.softdownload.com.ar
Curso de Visual Foxpro (Consultas SQL)



TABLEUPDATE(.T.)

Graba los cambios hechos en la tabla.

SET MULTILOCKS ON && Debe estar ON para el buffering de la tabla
= CURSORSETPROP('Buffering', 5, 'employee' ) && Activar el
Buffering de la Tabla
INSERT INTO employee (cLastName) VALUES ('Smith')

CLEAR
? 'Valor Original de cLastName : '
?? cLastName && muestra valor actual de cLastName (Smith)

REPLACE cLastName WITH 'Jones'
? 'Nuevo valor para cLastName : '
?? cLastName && Muestra Nuevo valor de cLastName (Jones)

= TABLEUPDATE(.T.) && Acepta los cambios

? 'Valor actualizado de cLastName : '
?? cLastName && Muestra actual valor de cLastName (Jones)


TABLEREVERT(.t.)

Cancela los cambios hechos a la tabla

USE Customer && Abre la tabla Customer
= CURSORSETPROP('Buffering', 5, 'customer') && Activa el
buffering de la tabla

CLEAR
? 'Valor Original cust_id : '
?? cust_id && Muestra el actual valor de cust_id
REPLACE cust_id WITH '***' && Cambia el contenido del registro
? 'Nuevo valor de cust_id : '
?? cust_id && muestra Nuevo valor de cust_id (***)

= TABLEREVERT(.T.) && Deshace todos los cambios en la tabla
? 'Valor de cust_id revertido: '
?? cust_id && muestra el valor de cust_id revertido





www.softdownload.com.ar
Curso de Visual Foxpro - Volumen IV (Diseo de Formularios)



________________________________________________________________________________________



Gua rpida visual:

A la hora de disear formularios usted tiene que estar familiarizado con las
ventanas siguientes:





























Generador de
Formularios y
Controles comunes
Entorno de Datos, son
las tablas que ocupa el
formulario
Propiedades de los
objetos
www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios)

Cmo crear un nuevo Formulario:

1. En el Administrador de Proyectos, pulse documentos
2. Pulse Formulario para seleccionar la categora
3. Pulse botn nuevo

Aparece en cuadro de dilogo Nuevo Formulario. Este cuadro refleja la posibilidad
de utilizar el Asistente para formularios o construir uno nuevo.

Sugerencia: utilice el Asistente para formularios para desarrollar formularios
simples de introduccin de datos. El Asistente para formularios hace una serie de
preguntas para guiarle durante el proceso de creacin del formulario. El Asistente
permite la creacin de un formulario para nica tabla o para tablas uno a muchos.

4. Pulse el botn Nuevo formulario

Aparecer el Generador de formularios.




El Generador de formularios visualiza Form1 en la ventana DocForm1, indicando
que ste es el primer formulario que tiene abierto en este proyecto. Podr cambiar
de nombre Docform1 por el nombre que indique al guardar el formulario. Form1 es
un rea de trabajo en blanco.

Tambin aparecer la barra de herramientas con los controles para la creacin de
formularios.

www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios)

Agregar Objetos a su formulario.

Una vez que tenga en pantalla una ventana de formulario en blanco, Form1,
inserte objetos para crear su formulario.

MS Visual Foxpro 5.0 ofrece dos tipos de objetos que se pueden insertar en un
nuevo formulario: objetos contenedores y objetos de control. Podemos accesar a
estos objetos desde la barra de herramientas Controles de formulario o desde el
Administrador de proyectos.

Objetos contenedores: Un objeto contenedor es un objeto primario que contiene
otros objetos subordinados. Por ejemplo, un formulario es el objeto contenedor
que es propietario de un botn de comando visualizado en el formulario. Otros
objetos contenedores pueden incluir marcos de pgina, cuadrculas y grupos de
botones de comando.

Objetos de control: Un objeto de control permite al usuario seleccionar opciones,
introducir datos y escoger acciones. En un formulario, estos objetos pueden incluir
casillas de verificacin, botones de comando, cuadros de texto y cuadrculas.


El objeto FORM


Propiedades mas comunes de la Forma :

Nombre Tipo de dato Descripcin
Caption Carcter Titulo de la ventana o Forma
Autocenter Booleano Para centrar la Forma
ShowTips Booleano Para que se muestren los Tooltips
Closable Booleano Visualiza el boton de Cerrar la Ventana (X)
MaxButton Booleano Visualiza el boton de Maximizar la Ventana
MinButton Booleano Visualiza el boton de Minimizar la Ventana
ControlBox Booleano Visualiza el Menu de Control de la Ventana.
www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios)


Eventos o Mtodos ms comunes de la Forma

Nombre Descripcin
Init Se dispara a la hora que se inicializa todos los
objetos de la forma.
Load Se dispara antes que se inicialicen los objetos de
la forma (antes que Init)
Destroy Se dispara al cerrar la forma
Unload Se dispara despues de Destroy.




Utilizacin de mltiples pginas en un formulario simple.


En VFP, un formulario simple puede contener mltiples pginas que visualicen
diferentes conjuntos de datos y controles. En la parte superior del formulario, una
ficha representa cada pgina. Podemos pulsar en una ficha para mostrar el
contenido de la pgina.




Cmo crear un formulario de varias pginas.


1. Pulse el botn Marco de pgina (page frame) en la barra de herramientas
Controles de formulario.
2. Site el cursor en la esquina superior izquierda de form1. ( El cursor cambia su
forma a cruceta)
3. Pulse en la esquina superior izquierda del formulario y arrastre el cursor hacia
la esquina inferior derecha para crear un marco de pgina que cubra la mayor
parte de la ventana form1. Deje un espacio de unos dos centmetros en la
parte inferior del formulario para los botones de comando que se agregarn
despus en esta leccin.







www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios)





Propiedades mas comunes de la pginas :

Nombre Tipo de dato Descripcin
Pagecount Nmerico Fija el nmero de Folders o pginas
(Page1, page2...)
TabStyle Nmerico Justificacion de las pginas.
Visible Booleano Si el control es visible al usuario.



Agregar cuadros de texto y cuadros de edicin:


Cmo agregar objetos en la pagina 1 (page1):

1. Con el botn derecho del ratn, pulse sobre Page1 en el formulario. Aparece un men
instantaneo
2. Seleccione la ventana propiedades
Aparece el cuadro de dilogo propiedadades, donde muestra Page1 en el cuadro de
texto.










www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios)






3. Pulse el botn Flecha hacia abajo.
4. Seleccione Page1 en el cuadro de texto Objeto.


Sugerencia: Cada vez que inserte un objeto en un formulario, marco de pgina o
cuadricula, compruebe en la ventana Propiedades que ha colocado el objeto en el
contenedor apropiado.



Como Agregar de cuadros de texto directamente de una tabla:

1. Seleccione Ver el men Generador de Formularios
2. Seleccione Entorno de Datos (Data Environment)
3. Seleccione Entorno de datos (Data Environment) en el men de Visual Foxpro
y luego Agregar.


Sugerencia: Tambin puede abrir la ventana Agregar tabla o vista con el botn
derecho del ratn. Utilizando el botn derecho del ratn, pulse en cualquier parte
del Entorno de datos y luego seleccione Agregar. Para obtener la ventana de
Entorno de Datos o la ventana de propiedades, utilice el botn derecho del ratn
pulsando fuera del marco de pgina, pero dentro del formulario. Aparece un men
instantneo desde el que puede hacer la seleccin.







www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios)








Aparece la ventana Agregar tabla o vista.

4. Confirme si es la Base de Dato deseada.
5. Pulse dos veces en la tabla a utilizar.
6. Seleccione el campo deseado en la lista de campos de la tabla, arrstrelo
hacia el formulario y djelo en cualquier parte del mismo.
En el formulario aparecer el cuadro de texto.text1

7. Pulse y arrastre el cuadro de texto text1 a la posicin que desee.

Sugerencia: Para desplazar un control de texto, pulse sobre l y arrastrelo hacia
otro lugar en le formulario. Para modificar el tamao del cuadro de texto, pulse
sobre l y luego arrastre algunos de los mrgenes.


www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios)



Propiedades mas comunes del Text (control de texto):

Nombre Tipo de dato Descripcin
Controlsource Segn la
variable
Es la variable o nombre del campo al cual
hace referencia.
Value Segn la
variable
Contenido de la variable o campo
referenciado en controlsource
Visible Booleano Si el control es visible al usuario.
Enabled Booleano Si el control esta habilitado o no.



Control Botn de Comando:




Propiedades mas comunes del Botn :

Nombre Tipo de dato Descripcin
Caption Carcter Etiqueta del comando (Ej. Click Aqu)
Visible Booleano Si el control es visible al usuario.
Enabled Booleano Si el control esta habilitado o no.

Eventos o Mtodos ms comunes del control

Nombre Descripcin
Init Se dispara a la hora que se inicializa el objeto
Click Se dispara al dar click en el objeto
Setfocus El cursor se va al objeto.
Lostfocus Se dispara cuando el objeto pierde el cursor.
Refresh Refresca el objeto.


www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios)

Cmo asociar un procedimiento a un botn:

1. Haga doble click en el boton. Aparece una ventana de cdigo:






















Control Botn de Cuadro de Edicin:

Se utiliza para los campos memo.


Propiedades mas comunes del control de edicin

Nombre Tipo de dato Descripcin
Controlsource Segn la
variable
Es la variable o nombre del campo al cual
hace referencia.
Value Segn la
variable
Contenido de la variable o campo
referenciado en controlsource
Visible Booleano Si el control es visible al usuario.
Enabled Booleano Si el control esta habilitado o no.

Escoga el evento
deseado. (En este caso
Click = Se ejecuta al
Presionar el Boton)
Introduzca el cdigo
deseado.
Asegurese que esta
ubicado en el control
deseado
www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios)




Eventos o Mtodos ms comunes del control de edicin

Nombre Descripcin
Init Se dispara a la hora que se inicializa el objeto
Click Se dispara al dar click en el objeto
Setfocus El cursor se va al objeto.
Lostfocus Se dispara cuando el objeto pierde el cursor.
Valid Se dispara despues de presionar Enter o Tab, se
utiliza para validar.
Refresh Refresca el objeto.


Control de Opciones:


Propiedades mas comunes del control de opciones

Nombre Tipo de dato Descripcin
Controlsource Nmerico Es la variable o nombre del campo al cual
hace referencia.
Value Nmerico Contenido de la variable o campo
referenciado en controlsource
Visible Booleano Si el control es visible al usuario.
Enabled Booleano Si el control esta habilitado o no.


Eventos o Mtodos ms comunes del control de opciones

Nombre Descripcin
InteractiveChange Se dispara cuando modificamos el campo
Init Se dispara a la hora que se inicializa el objeto
Click Se dispara al dar click en el objeto
Setfocus El cursor se va al objeto.
Lostfocus Se dispara cuando el objeto pierde el cursor.
Valid Se dispara despues de presionar Enter o Tab, se
utiliza para validar.
Refresh Refresca el objeto.

www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios)

Control Check:



Propiedades mas comunes del control Check

Nombre Tipo de dato Descripcin
Controlsource Booleano Es la variable o nombre del campo al cual
hace referencia.
Value Booleano Contenido de la variable o campo
referenciado en controlsource
Visible Booleano Si el control es visible al usuario.
Enabled Booleano Si el control esta habilitado o no.




Eventos o Mtodos ms comunes del control Check

Nombre Descripcin
InteractiveChange Se dispara cuando modificamos el campo
Init Se dispara a la hora que se inicializa el objeto
Click Se dispara al dar click en el objeto
Setfocus El cursor se va al objeto.
Lostfocus Se dispara cuando el objeto pierde el cursor.
Valid Se dispara despues de presionar Enter o Tab, se
utiliza para validar.
Refresh Refresca el objeto.



www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios)

Control Grid:




Propiedades mas comunes del control Grid:

Nombre Tipo de dato Descripcin
Recordsource Carcter Nombre de la tabla
Visible Booleano Si el control es visible al usuario.
Enabled Booleano Si el control esta habilitado o no.
ColumnCount Nmerico Numero de columnas del Grid
Deletemark Booleano Permite registro para borrar ( Aparece en
la parte izquierda del Grid)




Eventos o Mtodos ms comunes del control Grid:

Nombre Descripcin
Init Se dispara a la hora que se inicializa el objeto
Click Se dispara al dar click en el objeto
Setfocus El cursor se va al objeto.
Lostfocus Se dispara cuando el objeto pierde el cursor.
Refresh Refresca el objeto.

www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios)

Control Listas:






Propiedades mas comunes del control Listas

Nombre Tipo de dato Descripcin
Controlsource Segn la
variable
Variable a que hace referencia (campo
donde se almacena el valor de la lista)
RowSource Carcter Tabla o query de los elementos de la lista
RowSourceType Numrico Tipo de la Fuente (Si es tabla o query.)
Visible Booleano Si el control es visible al usuario.
Enabled Booleano Si el control esta habilitado o no.
BoundColumn Numrico Valor que retorna la lista (Nmero de la
columna del RowSource )
BoundTo Booleano Especifica si el valor de la lista esta
determinado por los valores o por la
propiedad ListIndex




Eventos o Mtodos ms comunes del control Listas

Nombre Descripcin
InteractiveChange Se dispara cuando modificamos el campo
Init Se dispara a la hora que se inicializa el objeto
Click Se dispara al dar click en el objeto
Setfocus El cursor se va al objeto.
Lostfocus Se dispara cuando el objeto pierde el cursor.
Valid Se dispara despues de presionar Enter o Tab, se
utiliza para validar.
Refresh Refresca el objeto.









www.softdownload.com.ar
Curso de Visual Foxpro - Volumen V (Diseo de Formularios, ActveX y objetos OLE)







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, que solamente tienen la funcin de registrar,
modificar, eliminar y consultar datos de una tabla.

Por ejemplo vamos a construir una forma sencilla utilizando el Wizard
de Visual Foxpro:


1. Abra su proyecto
2. Ubquese en la pestaa de documentos (document) y luego en Formas (Forms).
3. Presione el Botn Nuevo (New).
4. Seleccione Wizard.
Aparece la siguiente ventana:






www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios, ActveX y objetos OLE)


5. Seleccione Form Wizard y OK.
6. Luego aparece la ventana donde usted escoge la tabla a utilizar y los campos de esa
tabla.




























7. Una vez seleccionado la tabla y sus respectivos campos, presiones prximo (Next).
8. Se visualizar la siguiente ventana:











Seleccione
la tabla
a utilizar
Seleccione
Los campos
que
aparecern
en la forma
Seleccione
el tipo de
botn
Seleccione
el estilo de
la Forma
www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios, ActveX y objetos OLE)









10. Seleccione el estilo de la forma y el tipo de botones a utilizar en la forma y luego
presione prximo (Next).



11. Aparecer la siguiente ventana:


















12. Seleccione el ordenamiento de la tabla, aqu por lo general se selecciona el ndice de la
tabla ( los ndices aparecen con asterisco *)



Seleccione el
ordenamiento
de la tabla.
(por lo
general se
selecciona el
indice
www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios, ActveX y objetos OLE)




www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios, ActveX y objetos OLE)

13. Introduzca el titulo de la forma y luego Finalizar (Finish)

Visual Foxpro Generar la forma, luego usted puede modificar la forma si lo
desea.






La forma, que creamos con el wizard, quedara de esta forma:











Nota: Reconstruya el proyecto en la opcin Build (botn del proyecto). Luego
Seleccione Rebuild Proyect y OK. Visual Foxpro, compila su proyecto.
Notar que en la pestaa de clases de su proyecto Visual Foxpro le ha agregado
una clase que l ocupa para construir formas con el Wizard, el nombre de la clase
es WizStyle.



















Barra de
botones creada
por el wizard
(Contenido en
la clase
Wizstyle)
Si usted, crea una
forma con el
Wizard, Visual
foxpro le
incorpora la clase
WizStyle
www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios, ActveX y objetos OLE)

Formularios Maestro - Detalle


Un formulario maestro detalles es aquel en que entran en juego dos o ms tablas,
las cuales tengan una relacin de uno a muchos. Ejemplo la relacin de s_region
con s_dept ( una regin puede tener muchos departamentos).


Se pueden construir formas mestro-detalle utilizando el Wizard, sin embargo,
nosotros utilizaremos la forma manual para personalizar a nuestro gusto la forma.

Pasos para construir una forma maestro - detalle

Para este ejemplo utilizaremos las tablas s_region y s_dept


1. Abra su proyecto
2. Ubquese en la pestaa de documentos (document) y luego en Formas (Forms).
3. Presione el Botn Nuevo (New).
4. Seleccione Nueva Forma en blanco.
5. En la forma en blanco presione el botn derecho del ratn y luego Entorno de Datos
(Data Environment)


6. Seleccione las tablas s_region, que ser el maestro y luego la tabla s_dept que ser
nuestro detalle.

www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios, ActveX y objetos OLE)




7. Arrastre uno por uno los campos de la tabla s_region a su forma, de tal manera que
queden asi:



8. Luego arrastre toda la tabla s_dept al formulario

www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios, ActveX y objetos OLE)


9. Ahora vamos a modificar las propiedades del Grid que hemos insertado: seleccionan el
grid, botn derecho del ratn y luego propiedades. Se sitan en la pestaa datos, para
modificar las siguientes propiedades con el fin de establecer la relacin entre las dos
tablas:





10. colocaremos los botones para Desplazarnos en la tabla, agregar, eliminar , grabar,
cancelar y salir.

Propiedad Contenido
LinkMaster La tabla maestra
(s_region)
RecorSource La tabla hija
(s_dept)
RecordSourceType Tipo de fuente de
datos (Alias)
RelationalExpr La relacion entre
las tablas
(s_region.id =
s_dept.region_id
www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios, ActveX y objetos OLE)



Cdigo para los botones :


Botn Cdigo
Agregar
INSERT INTO s_dept ( region_id ) ;
VALUES (s_region.Id)


<<
SKIP -1
>>
SKIP
Eliminar
DELETE IN s_dept
Grabar
SELECT s_dept
=TABLEUPDATE(.T.)
Cancelar
SELECT s_dept
=TABLEREVERT(.T.)
Salir
THISFORM.Release


Cdigo a nivel de Forma :

Mtodo Cdigo
Destroy
SELECT s_dept
=TABLEREVERT(.T.)


Importante: la tabla s_dept debe de estar en modo buffer, para que funcionen los
comando de TABLEUPDATE() y TABLEREVERT(). El modo buffer de la tabla lo
puede fijar en Entorno de datos y luego en la propiedades de la tabla s_dept,
especficamente en la propiedad BufferModeOverride.

www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios, ActveX y objetos OLE)


Creacin de Clases de Objetos


En Visual Foxpro se pueden crear clases de objetos que pueden de uso muy
comn, como por ejemplo el botn salir es muy comun en todas las pantallas.


Pasos para creacin de clases:


1. Abra su proyecto
2. Ubquese en la pestaa de classes.
3. Presione el Botn Nuevo (New).





4. Introduzca el nombre de la clase, el tipo de clase (en este caso Boton de
comando) y guardarlo como curso.

5. Inmediatamente aparecer la siguiente pantalla:



6. Personalice el botn y luego cierre la ventana y slvelo.


www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios, ActveX y objetos OLE)






7. La clase que usted a creado aparecer en la pestaa clases de su proyecto:




Cmo hacer uso de la clase :


1. Cree o Abra una forma





Ver
Clases
www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios, ActveX y objetos OLE)

2. presione el botn de ver clases y luego agregar (Add) y seleccione la clase que
usted a creado.









2. Aparecer la clase que usted a creado con el botn de salir




3. Para poner el botn en la forma, seleccione el botn en la barra de controles y
luego clic en la forma.




www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios, ActveX y objetos OLE)

Soporte de Tecnologa ActiveX


Cuando usted instala Visual Foxpro, se instalan una serie de controles ActiveX
soportados por Visual Foxpro.

Un ActiveX, no es ms que un control externo, es parecido a una clase ya que las
clases se pueden guardar en un archivo (extensin VCX) y los ActiveX tienen
extensin OCX. La diferencia es que los VCX solo puede ocuparse en Visual
Foxpro, mientras que los OCX se consideran como tecnologa abierta, es decir,
pueden ser utilizado por cualquier lenguaje visual como Visual C++ o Visual Basic,
por mencionar algunos.


Estos controles ActiveX, vienen hechos de fabrica, son comercializables y no son
modificables, sin embargo uno puede crear sus propios OCX. Los lenguajes donde
se pueden construir estos OCX actualmente son Visual C++ y Visual Basic. En
visual Foxpro 5.0 usted no puede crear OCX.


Hay que tener mucho cuidado a la hora de comprar un OCX y verificar que
lenguajes soporta, por que algunos OCX no son soportados por algunos lenguajes
visuales incluso con Visual Foxpro.


Cmo hacer uso de los ActiveX en Visual Foxpro:


Un OCX es un objeto por lo cual tiene propiedades y eventos implcitos en l.

En el curso, utilizaremos dos Controles ActiveX :

! OutLine control
! Microsoft Progress Bar Control


OutLine control:

El Outline Control se utiliza para hacer Arboles como por Ejemplo: Regiones con
departamentos (maestro-detalle)
www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios, ActveX y objetos OLE)



Cmo agregar un ActiveX a la forma:



1. Abra o Cree una nueva forma.
2. Seleccione Ver clases
3. Seleccione ActiveX Control
4. Seleccione el control deseado, en este caso el Outline Control y pngalo en la
forma.




5. Vamos a crear una forma maestro detalle utilizando el Outline Control. El
Outline control presentar la informacin de las Regiones y vamos a agregar un
Grid que sern los departamentos, Algo asi:




www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios, ActveX y objetos OLE)






Completar Cdigo del Outline control:


Mtodo Cdigo






Init
*-------------------------------------
* Cargar el OCX
*-------------------------------------

*--------
pnIndex = 0
THIS.Additem( "Regiones" )
THIS.Indent( pnIndex ) = pnIndex

Select s_region

SCAN
pnIndex = pnIndex + 1
datos = ALLTRIM(name)
THIS.Additem(datos)
THIS.Indent( pnIndex ) = 1
THIS.PictureType(pnindex) = 2
THIS.ListIndex = pnindex
THIS.ItemData(pnIndex) = RECNO()
ENDSCAN


Click

SELECT s_region
GO RECORD THIS.ItemData(THIS.ListIndex)
THISFORM.REFRESH()




El ltimo paso es agregar el Grid con la tabla departamentos y luego establecer la
relacin con la tabla de regiones.



www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios, ActveX y objetos OLE)

Progress Bar Control:


Este control permite hacer una barra de progreso:





Propiedades :

Propiedad Descripcin
Max Mximo valor de la Barra (nmerico)
Min Mnimo valor de la Barra (nmerico)
Value Valor actual de la barra (nmerico)


www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios, ActveX y objetos OLE)


Almacenar objetos OLE en la Base de Datos:


Con Visual Foxpro se pueden almacenar objetos OLE en la Base de Datos, estos
objetos OLE van desde una simple imagen BMP de Paintbruhs hasta un video clip,
un documento en Word, una hoja en Excel un grafico.

Esto se llama OLE Automation (automatizacin OLE)


Qu se necesita para hacer OLE Automation?

Muy sencillo:

- El campo de la tabla debe ser tipo General
- Utilizar el control OLE Bound Control de Visual Foxpro
- Utilizar el Comando APPEND GENERAL

Sintaxis de APPEND GENERAL

APPEND GENERAL Nombre Campo tipo General
[FROM Nombre Archivo]
[DATA Nombre de Variable]
[CLASS Nombre de la Clase OLE]

FROM : Por si deseamos insertar un Archivo existente en el disco
DATA : Si no es un archivo puede ser una variable, entonces se especifica
aqu.
CLASS : El nombre de la clase de la aplicacin al que esta asociada el archivo
o la variable.

Toda aplicacin Windows ( Word, Excel, Graph, Paint, WordPad, Block de Notas,
Power Point, entre otras) tienen un nombre de clase:

Por mencionar algunos nombres de clases:

Aplicacin Nombre de la clase
Paintbrush Picture PAINT.PICTURE
Documento de Word 97 WORD.DOCUMENT
Hoja de Calculo de Excel EXCEL.SHEET





www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios, ActveX y objetos OLE)

Como conocer el nombre de clase de una aplicacin Windows:


1. Cree un formulario nuevo
2. Inserte en el formulario el control OLE Container Control
3. Insertar la Aplicacin deseada: (Escoger el objeto y luego OK)




4. Luego en las propiedades del objeto insertado buscar la propiedad
OLECLASS:






















Propiedad OleClass, se puede ver el
nombre de la clase de la Aplicacin
PaintBrusht
www.softdownload.com.ar
Curso de Visual Foxpro (Diseo de Formularios, ActveX y objetos OLE)


Incluir en el Formulario el Objeto OLE:




















SELECT s_product

APPEND GENERAL picture FROM
GETFILE('BMP') CLASS
PAINT.PICTURE

OLE Bound Control
(ControlSource =
s_product.picture)

También podría gustarte