Sección de códigos , trucos y ejemplos para visual basic


512 - Autompletar Textbox al escribir y guardar valores en archivos de texto para almacenar futuras entradas, ideal sistemas de gestión y otras aplicaciones..

<Volver> - Anterior - Siguiente



 

 

Contenido:

 

 

 

 

 


Descripción del Ejemplo..

Este código fuente es un ejemplo muy útil y que no debería faltar en cualquier aplicación o sistema de gestión. ( El Código para descargar se encuentra al final de la página )

En las aplicaciones donde haya formularios de entradas de datos, por ejemplo un formulario de entrada de Clientes, o artículos y productos, es muy útil para el usuario poder automatizar este tipo de tareas, sobre todo para aplicaciones donde se cargan y dan de alta muchos clientes de forma diaria.

Este ejemplo lo que muestra es una forma de poder autocompletar las entradas en los textbox al escribir. Por ejemplo, si en un formulario de alta de Clientes, escribimos el Nombre y Apellido, guardar esos valores al cerrar el formulario en un archivo de texto. Más allá de que los datos se almacenen en la base de datos como registro, ese es otro procedimiento aparte y que estaría separado del propósito de este ejemplo.

El formulario que se muestra a continuación básicamente lo que hace es:

1 - Se rellena el formulario con los datos ( Nombre, Apellido, Teléfono, Dirección Email etc ..)

2 - En el Form Load se carga en un array de strings las entradas ya guardadas ( función loadValues). ( Se utiliza un archivo de texto para los nombres y otro archivo de texto para los Apellidos - Nombres.dat y Apellidos.dat)

3 - Al cerrar el formulario, se vuelca el array con el nuevo nombre ingresado. (Antes de volcar el array al archivo de texto, se verifica que el valor no esté duplicado.)

Nota: Si bien al comienzo no es tan útil este ejemplo ya que el usuario de la aplicación no tendrá demasiados Nombres y Apellidos almacenados para autocompletar, si lo será en el futuro ya que los Nombres se repetirán día a día. Este ejemplo lo he utilizado en varias aplicaciones de gestión con buen resultado, permitiéndome ahorrar mucho tiempo en el trabajo de alta de nuevos Clientes. También lo he implementado en Formularios de Alta de Artículos, donde los Nombres se repiten o son muy similares, por ejemplo: ( Campera de invierno, Campera de invierno con Gorra, Campera de cuero, etc ..)

(Descargar código fuente)

 

Nota importante: Si quieren traspasar solo la parte del Código para autocompletar, deberán hacer lo siguiente.

1 - En el Form Load de su formulario, hacer una llamada a estas 2 funciones para leer los archivos de texto (No se olviden de crear los archivos vacios nombres.dat y apellidos.dat y colocarlos en la ruta indicada)

Call LoadValues(arrNombres, App.Path & "\nombres.dat")

Call LoadValues(arrApellidos, App.Path & "\apellidos.dat")

2 - En el evento Change de los controles Textbox, llamar a la función de Autocompletar.

If Index = 0 Then
Call AutoCompletar_TextBox(Text1(0), arrNombres)
ElseIf Index = 1 Then
Call AutoCompletar_TextBox(Text1(1), arrApellidos)
End If

3 - En el evento KeyDown de los controles TExtbox, este código:

If Index = 0 Or Index = 1 Then
Select Case KeyCode
Case vbKeyBack, vbKeyDelete
Select Case Len(Text1(Index).Text)
Case Is <> 0
bKeyBack = True
End Select

End Select
End If

4 - En el Unload del form, Guardar los arrays

' Guardar los datos. Volcar los Array a los archivos de texto

' Nombres
If Len(Me.Text1(0)) Then
Call saveValues(arrNombres, Text1(0).Text, App.Path & "\nombres.dat")
End If
'Apellidos
If Len(Me.Text1(1)) Then
Call saveValues(arrApellidos, Text1(1).Text, App.Path & "\apellidos.dat")
End If
' Eliminar arrays de la memoria
Erase arrNombres
Erase arrApellidos

5 - Ultimo paso y más importante, Crear un Módulo y pegar las 3 funciones que permiten leer, guardar y eliminar duplicados del array ( loadValues, saveValues, deleteArrayDuplicates)

(Descargar código fuente)


Relacionados



Buscar en Recursos vb