Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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”.
Ejemplo No. 1
Crear un formulario que muestre los datos de los empleados y permita el
desplazamiento entre sus registros:
1
Controles del formulario
Lista de Controles:
Objeto Tipo Cantidad Descripción
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 través de los
registros.
Aplique las propiedades a cada uno de los controles según figura de pagina 1.
2
Cuadricula Grid1:
Se muestra la ventana Grid Builder, con las fichas para personalizar su cuadricula:
Grid Items
- Nit
- Apellidos.
- Nombres.
- Genero
Estilo:
- Ledger
3
Distribución:
Modificar:
- Títulos de las
Columnas.
- Ancho de las
columnas.
Relaciones:
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 opción entorno de datos.
4) Verifique que se encuentre la tabla Empleado
Entorno de datos:
Entorno de Datos
Vinculados
5
Las tablas también tienen propiedades, como por ejemplo Order que permite
ordenar la tabla en función 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 opción propiedades.
6
Programación de eventos
Boton titulado Inicio:
7
Boton titulado Ultimo:
Ejecute el formulario
8
Ejemplo No. 2
Crear un formulario que permita adicionar únicamente registros a la tabla Deptos,
con la característica que asigne automáticamente el código de la Unidad (08, 09,
10, 11, según sea el siguiente numero disponible y no sea digitado por el usuario),
el usuario únicamente debe digitar la descripción y no estar obligado a recordar el
codigo.
Estructura basica:
Campo Tipo de Dato Ancho Descripción
Idtabla Carácter 20 Nombre de la tabla.
Ultimo Numerico 10, 0 Ultimo numero asignado.
Detabla Carácter 40 Descripción de la tabla.
Estructura en VFP:
Indice:
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, según la tabla que
corresponda. Ejemplo Deptos tiene 10 registros y el ultimo es 10.
Creación de Formulario:
10
Descripción de su funcionamiento:
Al seleccionar el botón “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 botón 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 Descripción
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 descripción.
Caja de texto TextBox 1 Para capturar nombre de la Unidad.
Botones de comando Command 2 Para agregar/guardar y
cancelar/cerrar.
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 Descripción: Texto a mostrar junto a la Caja de texto.
Visible .F. No se muestra el control en tiempo de
ejecución
11
Name Text1 Nombre único del objeto.
Format ! Caracteres alfabéticos en mayúsculas.
Visible .F. No se muestra el control en tiempo de
ejecución.
Entorno de Datos
Adicion de la tabla contador al entorno de trabajo:
Iddepto
Dedepto
Seleccione
Contador
12
Iddepto
Dedepto
13
Programación de eventos
Boton titulado Agregar
DO CASE
CASE THISFORM.COMMAND1.CAPTION = "Agregar"
* Son visibles la caja de texto y descripción *
THISFORM.LABEL2.Visible = .T.
THISFORM.TEXT1.Visible = .T.
THISFORM.TEXT1.Value = " "
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
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)
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
característica que este nombre sea seleccionado desde la tabla Deptos.
Descripción de su funcionamiento:
La unidad a modificar debe seleccionarse desde la cuadricula
Al seleccionar el botón “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 botón Guardar, se guardan los cambios.
Al seleccionar el botón Cancelar, se las modificaciones no se realizan.
Listado de Controles
Objeto Tipo Cantidad Descripción
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
descripción.
Botones de comando Command 2 Para eliminar y cerrar.
17
El diseño del formulario es similar a la siguiente figura:
18
Programación de eventos
Objeto: Boton Command1, Evento: Click
DO CASE
CASE THISFORM.COMMAND1.Caption = "Modificar"
* Los datos son capturados desde las tablas *
cIddepto = THISFORM.GRID1.COLUMN1.TEXT1.VALUE
cDedepto = THISFORM.GRID1.COLUMN2.TEXT1.VALUE
* Actualizacion en la tabla *
UPDATE Deptos SET Dedepto = cDedepto WHERE Iddepto = cIddepto
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.
20