Sunteți pe pagina 1din 20

UNIVERSIDAD DE EL SALVADOR

FACULTAD DE INGENIERIA Y ARQUITECTURA


ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION II (INDUSTRIAL Y MECANICA)
CICLO I - 2017

GUIA DE LABORATORIO N 6
Controles y Datos en VFP (Objetos, propiedades y eventos)

Objetivo:
Utilizar controles que permitan interactuar con los datos de una base de datos.
Conocer y configurar el control cuadricula.
Conocer el entorno de datos en un formulario.

Consideraciones
- Debe de continuar trabajando dentro de su proyecto PermisosUes.

Abrir su proyecto por medio de la instruccin SET DEFAULT TO y la Carpeta


donde se ubica su proyecto.

En la ventana de Comando, digite las instrucciones de entorno SET:


SET STRICT TO 0 && Fechas eliminando horas, minutos y segundos
SET CENTURY ON && el ao aparece con 4 digitos.
SET DATE TO British && Formato de fecha primero dia, luego mes.

Ejemplo No. 1
Crear un formulario que muestre los datos de los empleados y permita el
desplazamiento entre sus registros:

Nombre del formulario: FormData001

1
Controles del formulario

Lista de Controles:
Objeto Tipo Cantidad Descripcin
Formulario Form 1 Ventana que contendr
controles
Etiqueta Label 1 Mostrar objetivo del Formulario.
Cuadricula Grid 1 Muestra los datos de
empleados.
Botones de comando Command 5 Para desplazar a travs de los
registros.

Diseo del formulario:


- Seleccione crear nuevo formulario.
- Desde la barra de controles ingrese los que aparecen en la lista anterior:

Nuevo control: Cuadricula (Grid):


Objetivo: muestra las columnas de una tabla.
Cuadricula

El diseo del formulario es similar a la siguiente figura:

Aplique las propiedades a cada uno de los controles segn figura de pagina 1.

Establecimiento del vnculo entre el control Cuadricula y la tabla Empleados a


travs de asistente:
- Seleccione la cuadricula.
- Clic con el botn derecho del raton.
- En el men desplegado seleccione Builder.

2
Cuadricula Grid1:

Se muestra la ventana Grid Builder, con las fichas para personalizar su cuadricula:

Grid Items

Los datos a mostrar del


empleado son:

- Nit
- Apellidos.
- Nombres.
- Genero

Estilo:
- Ledger

3
Distribucin:

Modificar:
- Ttulos de las
Columnas.
- Ancho de las
columnas.

Relaciones:

Se utiliza para relacionar la


cuadricula a otras tablas,
ejemplo: formularios uno a
muchos, para este ejemplo
no es necesario, solo
participa una tabla.

Para cerrar el asistente, clic


sobre el botn Ok

Diseo del formulario:

Aplique las propiedades a los diferentes controles segn figura de la pagina 1.

4
Entorno de datos:
Para poder visualizar las tablas vinculadas a los controles realice los siguientes
pasos:

1) Seleccione el formulario.
2) Clic sobre el rea del formulario.
3) En el men desplegado seleccione la opcin entorno de datos.
4) Verifique que se encuentre la tabla Empleado

Entorno de datos:

Entorno de Datos
Vinculados

5
Las tablas tambin tienen propiedades, como por ejemplo Order que permite
ordenar la tabla en funcin de un ndice.
Pasos para mostrar las propiedades de una tabla:
1) Seleccione la tabla Empleado en la ventana de entorno de datos.
2) Clic sobre el rea de la tabla.
3) En el men desplegado seleccione la opcin propiedades.

Se muestra como mostrar las propiedades de una tabla:

Tabla y sus propiedades:

Modificar algunas propiedades de la tabla:


Propiedad Valor Descripcin
Alias Empleados Nombre de la tabla en el formulario.
BufferModeOverride 5 Puede ser actualizado por varios usuarios.
Exclusive .F. Puede consultarse en Red.
Order Apellidos Se ordenara por campo Apellidos (diseo).
ReadOnly .T. La cuadricula, solo es de lectura.

6
Programacin de eventos
Boton titulado Inicio:

Boton titulado Siguiente:

Boton titulado Previo:

7
Boton titulado Ultimo:

Boton titulado Cerrar:

Ejecute el formulario

8
Ejemplo No. 2
Crear un formulario que permita adicionar nicamente registros a la tabla Deptos,
la llave primaria se creara automticamente (08, 09, 10, 11, segn sea el siguiente
numero disponible y no sea digitado por el usuario), el usuario nicamente debe
digitar la descripcin y no estar obligado a recordar el codigo.

Para poder crear este formulario es necesario lo siguiente:

Modificacin en el diseo de base de datos:


Las llaves de la mayora de tablas del proyecto estn formadas por nmeros y son
de tipo carcter, rellenando los campos con ceros (ejemplo: 01, 02, 03, etc).
Es difcil recordar cual fue el ltimo cdigo asignado, por lo que se creara una
nueva tabla llamada Contador que se encargara de guardar el ltimo numero
asignado al en las tablas que utilizan este formato.

Creacin de la tabla Contador: y sus registros:


En el diseador de base de datos, crear una nueva tabla con el nombre Contador,
su estructura es:

Estructura basica:
Campo Tipo de Dato Ancho Descripcin
Idtabla Carcter 20 Nombre de la tabla.
Ultimo Numerico 10, 0 Ultimo numero asignado.
Detabla Carcter 40 Descripcin de la tabla.

Estructura en VFP:

Indice:

As se muestra la nueva tabla, en el diseador de base de


datos:

9
Registros de la tabla contador
Para cada tabla que aparece en la siguiente figura, debe verificar el numero que
tiene el ultimo registro y guardarlo en el campo Ultimo, segn la tabla que
corresponda. Ejemplo Deptos tiene 10 registros y el ultimo es 10.

Las tablas Empleados y Detaper, tienen sus propias llaves.

La forma como se asignara la llave primaria se describir mas adelante a travs


de cdigo de programacin.

Creacin de Formulario:

Nombre del formulario: FormData002

10
Descripcin de su funcionamiento:
Al seleccionar el botn Agregar, aparece la caja de texto para que el usuario
digite el nombre de la Unidad (este esta oculto), el texto de los botones cambian a
Guardar y Cancelar respectivamente.
Al seleccionar el botn Guardar se verifica el ultimo numero en la tabla contador
de la tabla correspondiente y se incrementa en uno, asignando este a la tabla
indicada y remplazando este nuevo numero en tabla contador.

Listado de Controles
Objeto Tipo Cantidad Descripcin
Tabla Cursor 2 Deptos y Contador
Formulario Form 1 Ventana que contendr controles
Etiqueta Label 2 Mostrar objetivo del Formulario.
Cuadricula Grid 1 Muestra las Unidades y descripcin.
Caja de texto TextBox 1 Para capturar nombre de la Unidad.
Botones de comando Command 2 Para agregar/guardar y
cancelar/cerrar.

El diseo del formulario es similar a la siguiente figura:

Vincular la cuadricula a la
tabla Deptos por medio del
asistente
(ver ejemplo 1)

Nuevas propiedades:
Objeto: Etiqueta 2
Propiedad Valor Comentario
Name Label2 Nombre nico del objeto.
Caption Descripcin: Texto a mostrar junto a la Caja de texto.
Visible .F. No se muestra el control en tiempo de
ejecucin

Objeto: Caja de Texto


Propiedad Valor Comentario
Name Text1 Nombre nico del objeto.

11
Format ! Caracteres alfabticos en maysculas.
Visible .F. No se muestra el control en tiempo de
ejecucin.

Entorno de Datos
Adicion de la tabla contador al entorno de trabajo:

Entorno de Datos y sus propiedades:


Se utilizaran las tabla Empleados y Contador, la primera para agregar un nuevo
registro y la segunda para contabilizar el ultimo numero asignado.
- Seleccione el formulario.
- Clic derecho del ratn sobre el formulario.
- En el men desplegable seleccione DataEnvironment

Clic sobre el fondo Clic en Add..


Iddpto de esta pantalla. Iddpto
Dedpto Dedpto
Luego clic derecho
del raton.

Se muestra la lista de tablas disponibles para su adicin a este formulario:

Iddpto
Dedpto

Seleccione
Contador

El entorno de datos queda formado por:

12
Iddpto
Dedpto

Modifique las siguientes propiedades de la tabla Deptos y Contador.


Objeto: Tabla Deptos
Propiedad Valor Comentario
BufferModeOverride 5 Tabla optimista Se puede actualizar la tabla.
Exclusive .F. El uso de la tabla no es de uso
exclusivo, puede ser utilizada por mas
de un usuario.
Order Pkdeptos Se ordenara por la llave (segn diseo)

Objeto: Tabla Contador


Propiedad Valor Comentario
BufferModeOverride 5 Tabla optimista Se puede actualizar la tabla.
Exclusive .F. El uso de la tabla no es de uso
exclusivo, puede ser utilizada por mas
de un usuario.
Order Pkcontador Se ordenara por la llave (segn diseo)

Formulario en modo diseo:

13
Programacin de eventos
Boton titulado Agregar

* En titulo "Agregar": Habilita caja de texto para agregar


* nuevo registro.
* En titulo "Guardar": Guarda un nuevo registro y ctualiza *
el ultimo numero asignado como llave en contador.

DO CASE
CASE THISFORM.COMMAND1.CAPTION = "Agregar"
* Son visibles la caja de texto y descripcin *
THISFORM.LABEL2.Visible = .T.
THISFORM.TEXT1.Visible = .T.
THISFORM.TEXT1.Value = " "

* Los titulos de los botones cambian a Guardar y


* Cancelar
THISFORM.COMMAND1.CAPTION = "Guardar"
THISFORM.COMMAND2.CAPTION = "Cancelar"

CASE THISFORM.COMMAND1.CAPTION = "Guardar"


* Verifica el ultimo numero en contador, lo
* incrementa en uno y lo inserta en Deptos,
* ademas de reemplazarlo en Contador
* Captura de la descripcion de la caja de texto a
* una variable
cDedpto = THISFORM.TEXT1.VALUE

* Captura del numero desde Contador: busqueda en


* Contador
SELECT Contador
SET ORDER TO PkContador IN Contador

IF SEEK("DEPTOS")
* Se encontro el registro *
* Se captura el numero del campo ultimo a
* una variable
nNumero1 = Contador.Ultimo
* nuevo numero que sera asignado y
* actualizado en contador.
nNumeromas1 = nNumero1 + 1

* El nuevo numero se convierte a caracter *

14
cNumeromas1 = STR(nNumeromas1, 2, 0)
* Se eliminan espacios en blanco ejem: "4"
cNumeromas1 = ALLTRIM(cNumeromas1)
*se concatena colocando dos ceros a la
*izquierda "004"
cNumeromas1 = "00" + cNumeromas1
* se extraen dos caracteres partiendo del
* lado derecho "04"
cNumero2 = RIGHT(cNumeromas1, 2)

* Una vez se tiene el nuevo numero se agrega


*cNumero2 y CDedepto a la tabla Deptos *
INSERT INTO Deptos (Iddpto, Dedpto) VALUES
(cNumero2, cDedpto)

* Se actualiza el el ultimo numero asignado


* en la tabla Contador *
UPDATE Contador SET Ultimo = nNumeromas1
WHERE IdTabla = "DEPTOS"

* Se ocultan los controles caja de texto y


*su descripcin *
THISFORM.LABEL2.Visible = .F.
THISFORM.TEXT1.Visible = .F.
THISFORM.TEXT1.Value = " "

* Los titulos de los botones cambian a


*Guardar y Cancelar
THISFORM.COMMAND1.CAPTION = "Agregar"
THISFORM.COMMAND2.CAPTION = "Cerrar"

ELSE
MESSAGEBOX("En este momento no es posible
ingresar datos, intente mas tarde !!!")
ENDIF

ENDCASE
THISFORM.REFRESH

15
Boton titulado Cerrar

16
Ejemplo No. 3
Crear un formulario que permita modificar el nombre de los Departamentos, con la
caracterstica que este nombre sea seleccionado desde la tabla Deptos.

Nombre del formulario: FormData003

Descripcin de su funcionamiento:
La unidad a modificar debe seleccionarse desde la cuadricula
Al seleccionar el botn Modificar, aparecen una etiqueta y dos cajas de texto
mostrando la unidad seleccionada y los botones con las opciones Guardar y
Cancelar respectivamente.
Al seleccionar el botn Guardar, se guardan los cambios.
Al seleccionar el botn Cancelar, se las modificaciones no se realizan.

Listado de Controles
Objeto Tipo Cantidad Descripcin
Tabla Cursor 2 Deptos
Formulario Form 1 Ventana que contendr
controles
Etiqueta Label 1 Mostrar objetivo del Formulario.
Cuadricula Grid 1 Muestra las Unidades y
descripcin.
Botones de comando Command 2 Para eliminar y cerrar.

17
El diseo del formulario es similar a la siguiente figura:

Modifique las siguientes propiedades de las cajas de texto:


Objeto: Text1
Propiedad Valor Comentario
InputMask 99 Solo acepta caracteres numricos.
Visible .F. No se muestra este control.

Modifique las siguientes propiedades de las cajas de texto:


Objeto: Text2
Propiedad Valor Comentario
Format ! Caracteres alfabeticos en mayusculas.

18
Programacin de eventos
Objeto: Boton Command1, Evento: Click

DO CASE
CASE THISFORM.COMMAND1.Caption = "Modificar"
* Los datos son capturados desde las tablas *
cIddpto = THISFORM.GRID1.COLUMN1.TEXT1.VALUE
cDedpto = THISFORM.GRID1.COLUMN2.TEXT1.VALUE

* La descripcion de la Unidad se traslada hacia la caja de


* texto Text1 en *
* la propiedad VALUE
THISFORM.TEXT1.Value = cIddpto
THISFORM.TEXT2.Value = cDedpto

* la caja de texto y su descripcion se vuelven visibles


THISFORM.LABEL2.Visible = .T.
THISFORM.TEXT2.Visible = .T.

* Cambio de los titulos de los botones *


THISFORM.COMMAND1.CAPTION = "Guardar"
THISFORM.COMMAND2.CAPTION = "Cancelar"

CASE THISFORM.COMMAND1.Caption = "Guardar"


* Se copia el dato capturado en caja Text1 a una variable *
cIddpto = THISFORM.TEXT1.VALUE
cDedpto = THISFORM.TEXT2.VALUE

* Actualizacion en la tabla *
UPDATE Deptos SET Dedpto = cDedpto WHERE Iddpto = cIddpto

* la caja de texto y su descripcion se vuelven visibles


THISFORM.LABEL2.Visible = .F.
THISFORM.TEXT2.Visible = .F.

* Cambio de los titulos de los botones *


THISFORM.COMMAND1.CAPTION = "Modificar"
THISFORM.COMMAND2.CAPTION = "Cerrar"

ENDCASE
THISFORM.REFRESH

19
Objeto: Boton Command2, Evento: Click

Ejercicios propuestos:
Hacer los formularios de los tres ejercicios en las tablas: Permisos., Puestos y
Tipoper.

Hacer formulario de eliminacin de Departamentos

20

S-ar putea să vă placă și