Trucos Validación simple de campos   (2 artículos )

He aquí una manera de validar los datos de los TextBox y otros controles que tengan el evento KeyPress. Es simple pero funcional.

Primero añadimos esta función :

Function ValiText(KeyIn As Integer, ValidateString As String, Editable As Boolean) As Integer

    Dim ValidateList As String
    Dim KeyOut As Integer
    '
    If Editable = True Then
         ValidateList = UCase(ValidateString) & Chr(8)
    Else
         ValidateList = UCase(ValidateString)
    End If
    '
    If InStr(1, ValidateList, UCase(Chr(KeyIn)), 1) > 0 Then
        KeyOut = KeyIn
    Else
        KeyOut = 0
        Beep
    End If
    '
    ValiText = KeyOut
    '
End Function

Luego, por cada control cuya entrada queramos validar, sólo pon algo como esto en el evento JeyPress del control :

KeyAscii=ValiText(Keyascii, "0123456789/-",True)

Haciendo esto filtramos teclas indeseadas y aceptamos sólo las teclas definidas en el segundo parámetro. En este caso, el parámetro ("0123456789/-") define los caracteres que son válidos para una fecha.

El tercer parámetro de la función controla cuándo la tecla [Backspace] pueda ser usada.

Hay que tener en cuenta que la implementación de esta función no distingue mayúsculas de minúsculas.

From--Juan Lozano [jlozano@truevision.net]

Otra versión de la rutina anterior podría ser :

Function ValiText (KeyIn As Integer, ValidateString As String, Mayus As Integer) As Integer
Dim KeyOut As Integer

If KeyIn >= 32 Then 'si es un carácter
    If InStr(1, ValidateString, UCase$(Chr(KeyIn)), 1) > 0 Then
        If Mayus Then
            KeyOut = Asc(UCase$(Chr(KeyIn)))
        Else
            KeyOut = KeyIn
        End If
    Else
        KeyOut = 0
        Beep
    End If
End If
ValiText = KeyOut
End Function

En esta versión siempre admitimos el uso de las teclas que no corresponden a caracteres y con el último parámetro (Mayus) indicamos si queremos que las letras válidas sean convertidas siempre a mayúsculas.

José Rubí, jrubi@arrakis.es http://www.arrakis.es/~jrubi



Trucos Trucos

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com