Listas, Registros y Modulos VB6

Brevemente comentare como utilizar estos elementos por medio de una aplicacion que podran descargar al final de este tutorial.

En primera instancia explicare alguno de los elementos que vamos a utilizar, comenzando por las listas. Una lista es un control que pone a disposicion del usuario un conjunto de elementos, de los cuales elegira uno. Generalmente , una lista es apropiada cuando se quiere limitar la entrada a una serie de elementos determinados.

Una lista desplegable es un control que combina las caracteristicas de una caja de texto y de una lista. Esto permite al usuario elegir un elemento de varios, escribiendolo directamente en la caja de texto o seleccionandolo de la lista.

En nuestra pequeña aplicacion vamos a crear una base de datos para almacenar unos pocos datos personales (Nombre,direccion,telefono y notas) cada uno de estos elementos se denominan miembros o campos y en conjunto de todos los datos referidos a una persona en este caso se denomina Registro.
Cada registro que vamos almacenando se van a ir guardando en nuestra lista, de forma que cuando el usuario haga un doble click sobre el registro de uno de ellos los datos del mismo se cargaran en los textbox correspondientes.

agendamodpic.jpg

Propiedades Cancel y Default
Cuando la propiedad Default de un boton esta en true el usuario puede ejecutar la accion indicada por medio de la tecla Enter Asimismo, cuando la propiedad Cancel tiene el valor true el usuario puede ejecutar su accion pulsando la tecla Esc, en un formulario solo puede haber un boton con esta propiedad Default y solo uno con la propiedad Cancel.

Validacion de datos (CausesValidation y Validate)
De manera predeterminada la propiedad CausesValidation de los controles esta establecida en true. De esta forma siempre que se intente cambiar el foco de un control a otro, ocurrira el evento Validate. Entonces para impedir el cambio del foco si Telefono no contiene un numero, podemos recurrir a esta accion y responder con un procedimiento similar a este.

private sub telefono_Validate(Cancel As Boolean)
	'si el valor no es un numero, mantener el foco
	if Not IsNumeric(Telefono.Text) Then
		Cancel = True
		MsgBox "El telefono tiene que ser un numero", ,"Telefono"
	End If
End Sub 

Creacion de un modulo estandar
A Continuacion creamos Nuestro modulo, seleccionamos nuestro proyecto luego en ADD y luego en Module y a continuacion se abre una ventana en donde escribiremos lo siguiente y luego guardamos el archivo .bas .

Type Registro

    Nombre As String * 30

    Direccion As String * 30

    Telefono As String * 12

    Notas As String * 240

End Type

Public telefonos() As Registro

Public totalRegs As Integer 

Ahora podemos acceder a una matriz definida en un modulo estandar desde cualquier modulo de la aplicacion. Como pueden observar se ha definido una variable totalRegs en donde se guardaran los numeros de registros almacenados .

Añadiendo un registro a la base de datos

Antes de guardar el registro en nuestra matris telefonos() debemos verificar que se han introducido los datos esenciales, despues incrementamos la variable totalRegs, asignamos memoria para un registro mas redimencionando la matris(Redim), asignamos los datos a telefonos() y finalmente usamos el metodo addItem para añadir a la lista el registro almacenado.

El metodo addItem, permite añadir un elemento a una lista o lista desplegable. (en el script al final del tutorial esta el codigo correspondiente a este boton)

Crear un procedimiento general
Para crear un procedimiento general, primero seleccionamos del proyecto el modulo donde quiere escribirlo (Modulo1), pulse el boton ver codigo y despues ejecute la orden Agregar procedimiento del menu herramientas.

En la ventana de dialogo que se presenta, elija la opcion procedimiento, escriba el nombre del procedimiento , (en nuestro caso visualizarRegistro) y especifique el ambito donde va a trabajar (en nuestro caso Public) y luego aceptar.

Basicamente las acciones a realizar de este procedimiento son localizar el registro seleccionado para hallar la posicion I en la que se encuentra el registro correspondiente al nombre buscado y una vez localizado tiene que visualizar los datos en las cajas de texto correspondientes. Por medio de la variable encontrado impedimos que se realize estas acciones si no encontramos registros.

visualizar un registro predeterminado
Para realizar esta operacion utilizamos el procedimiento anteriormente explicado llamandolo por medio de la funcion Call NombreProcedimiento (en nuestro caso call visualizarRegistro) quedaria de la siguiente forma.

Private Sub Command2_Click() 'boton ver

    Call visualizarRegistro

End Sub
Private Sub List1_DblClick() ' en el doble click

    Call visualizarRegistro

End Sub 

Por ultimo nos falta explicar el ultimo boton, “borrar”
Cuando un usuario pulse sobre el botor borrar, deberemos tener en cuenta que el orden de la lista no es el mismo de nuestra base de datos ya que en la lista tendremos los nombres ordenados (propiedad sorted) y en la matriz no, por esta razon una persona determinada generalmente ocupara posiciones diferentes en lista y en la matris.

Los pasos serian primero realizar una busqueda secuencial para localizar el registro y despues borrarlo reescribiendo sobre el los registros siguientes, osea retrosedemos una posicion todos los registros que esten a continuacion del que queremos borrar, a continuacion redimiencionamos la matris y por ultimo borramos el elemento seleccionado de la lista, usando la propiedad RemoveItem.

Bueno espero que les sirva este pequeño tutorial.

Eso es todo nos vemos

—————————————————————————————————–

>>>> BAJAR PROGRAMA

—————————————————————————————————–



					
Anuncios

About exequielc

Hola! Estás en el blog de Exequiel Catalani. Como es un blog, se trata de una extensión más o menos lineal de las cosas que hago y pasan por mi cabeza: ciberculturas, videos de la red, nuevos medios y tecnologia, y Programacion etc...

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: