VBasicFacil

Principal - Enlaces - Codigo - Controles - API


Controles ActiveX

SilTextBox v1.2.00


20/11/02

Se añaden dos nuevas propiedades, ErrorFormato y Ocultar mensajes.

Cambia ligeramente el metodo ValidarFecha al comprobar si es una fecha correcta (ver metodo ValidarFecha)

Se hace publico el metodo ValidarHora.

31/01/02

Se añade una nueva propiedad, CaptionError. Se nos habia olvidado el título de la ventana de error de formato de fechas y horas y cuando se introducenmenos caracteres de los especificados en MinLen.

Se hacen publicos los metodos PonerMascara, QuitarMascara y ValidarFecha

El SilTextBox es una ampliación de control TextBox, enumeraré en que se amplia el TextBox describiendo sus propiedades.
Propiedad Descripción
Alineacion

Equivale a la propiedad alignment del TextBox

Valor Significado
0 - Izquierda Texto alineado a la izquierda
1 - Derecha Texto Alineado a la derecha
2 - Centro Texto centrado en el control
BackOnFocus Color de fondo del SilTextBox cuando toma el foco, al perder el foco vuelve a restaurar el fondo anterior.
Caja
Valor Significado
0 - Inactivo No se hace ninguna modificación sobre el texto introducido.
1 - Mayusculas Convierte todas las letras a mayúsculas.
2 - Minusculas Convierte todas las letras a minúsculas.
3 - Iniciales Pone todas las letras en minúsculas excepto la primera de cada palabra que la pone en mayúsculas. Podría utilizarse para los campos donde hay que introducir un nombre.
CaptionError Título de la ventana donde se informa del error de formato al introducir una fecha o una hora, o cuando se introducen menos caracteres de los los indicados en MinLen
DBDato

Nombre de un dato perteneciente a la tabla indicada en DBTabla.

Con estos tres datos (DBDato, DBNombre, DBTabla) hacemos referencia a un dato concreto de una tabla perteneciente a una base de datos. Lo que se pretende es que según se va tecleando en el SilTextBox, va haciendo una busqueda en la tabla localizando el valor del dato que contiene los caracteres tecleados y visualizando el resto del dato.

DBNombre Enlaza el SilTextBox con una base de datos de Microsoft Access, a la que se accede con ADO y recordset, por lo que tendran que estar instalados Microsoft.Jet.OleDB.4.0 y Microsoft Data ActiveX Data Object 2.0 library o superior. No tiene nada que ver con la propiedad DataSource. Debe introducirse el nombre de la base de datos con el path completo.
DBTabla Nombre de una tabla dentro de la base de datos indicada en la propiedad DBNombre.
Decimales Número de cifras decimales admitidas, tambien se utiliza para formatear el número. Se pondrán poner hasta seis decimales. Aunque se introduzcan mas decimales de los indicados estos se recortarán y se perderán al formatear el número, si no se teclean cifras suficientes se pondrán ceros. En ningún caso se redondeara el número tecleado.
ErrorFormato Campo booleano que devuelve si se produjo un error al validar los formatos de fecha y hora.
MinLen Número de caracteres mínimo que debe tener el dato.
OcultarMensajes Campo booleano que sirve para ocultar los mensajes de error. Si el valor es verdadero no se presentaran mensajes de error y si es falso si se mostraran
Personalizado Si se seleccionó el tipo personalizado solo se podrán teclear los datos indicados aqui, distinguiendo las mayúsculas de las minúsculas. Por ejemplo si se trata de un teléfono y queremos separar los números con puntos en personalizado ponemos 0123456789., así podremos poner el teléfono de la forma 981.25.26.27 si se pusiera numérico formatearía el número de la siguiente forma 981.252.627, como si fuera un número normal.
Tipo
Valor Significado
0 - Texto Indica que el valor a introducir en el SilTextBox es un string, no se hace ningún tipo de control sobre el dato introducido.
1 - Letras Solo permite introducir letras, no se pueden introducir ni números ni caracteres especiales o de puntuación
2 - Numérico Solo se pueden introducir números, el punto, la coma y el signo menos. Ademas al salir del SilTextBox se formateara el número poniendo puntos y comas separando los miles y los decimales (p.e.: 1.748.950,00). Al entrar en el SilTextBox (GotFocus) se quita la mascara. Ademas al seleccionarlo, la propiedad alineación se pone automaticamente en 1 - Derecha
3 - Fecha El dato introducido es una fecha. Controla que sea una fecha válida. La fecha se puede introducir de muchas maneras distintas, y todas son válidas. Los posibles formatos son ddmmaa - ddmmaaaa - dd.mm.aa - dd.mm.aaaa - dd/mm/aa - dd/mm/aaaa. Si se separan dia mes y año, si el primero de cada numero es un cero no hace falta escribirlo.
4 - Hora El dato introducido es una hora. Controla que sea una hora correcta. La hora se puede introducir separando las horas de los minutos con los signos . , - : y siempre devolverá la hora usando :, es decir 12.30 lo convierte en 12:30
5 - Configurable Seleccionando esta propiedad solo se podrán teclear los caracteres indicados en la propiedad Personalizado.
Cuando se produce un error en el formato de fecha, hora o longitud mínima aunque el control pierde el foco, lo vuelve a recuperar. Puede ocurrir en algunos casos que al colocar el control SilTextBox en el formulario o al seleccionarlo con el raton, parpadee la barra de titulo de VBasic.
Metodo Descripción
PonerMascara

Poner la variable tipo =2-Numérico y al ejecutar el metodo poner mascara, devuelve el valor formateado como número. Se puede indicar tambien el numero de decimales que se quieren en el formato. Solo funciona con las cadenas de tipo numerico. No se comprueba que el valor introducido es realmente un número.

          Dim Valor as String
          STextBox.Tipo=2>
          STextBox.Decimales=2
          Valor=STextBox.PonerMascara("123456,5")
		  

Al ejecutar este codigo Valor = "123.456,50"

QuitarMascara

A un campo tipo string, le quita los caracteres "." y "," a la cadena y convierte el caracter decimal al usado por el sistema en los campos numericos.

          Dim Valor as String

          Valor=STextBox.QuitarMascara("123.456,5")
		  

Al ejecutar este codigo Valor = "123456.50"

ValidarFecha

Al ejecutar el metodo validar fecha, devuelve la fecha formateada segun la fecha del sistema. Se puede comprobar si la fecha es correcta consultando la propiedad ErrorFormato.

          Dim Valor as String

          Valor=STextBox.ValidarFecha("250205")
          Valor=STextBox.ValidarFecha("25/02/05")
          Valor=STextBox.ValidarFecha("25.02.05")
          Valor=STextBox.ValidarFecha("25.02-05")
          Valor=STextBox.ValidarFecha("25-2-05")
          Valor=STextBox.ValidarFecha("25022005")
          Valor=STextBox.ValidarFecha("25.02.2005")
		  

Al ejecutar este codigo, el resultado siempre sera el mismo, Valor = "25/02/2005"

ValidarHora

Al ejecutar el metodo validarHora, devuelve la hora formateada. Se puede comprobar si la hora es correcta consultando la propiedad ErrorFormato.

          Dim Valor as String

          Valor=STextBox.ValidarFecha("1202")
          Valor=STextBox.ValidarFecha("12.02")
          Valor=STextBox.ValidarFecha("12-02")
          Valor=STextBox.ValidarFecha("12/02")
		  

Al ejecutar este codigo, el resultado siempre sera el mismo, Valor = "12:02"

Evento Descripción
Resultado Ocurre al salir del control y devuelve el resultado del mismo.

 

Este Control ActiveX es de libre distribución, puedes descargarlo aqui. Podras usar este control en tantas aplicaciones como desees y por tiempo indefinido. A cambio espero que despues de usarlo me envies otro correo electrónico a informatica @ silared . com comentandome si ves alguna posible mejora y si no lo ves util, porque no lo es.



correo-e : vbasicfacil@silared.com
Site : www.vbasicfacil.com