Control Windows Forms para validar CUIT/CUIL

El control valida una cadena numérica «20172543597″
compuesta de 11 dígitos, por lo que previamente deberemos haber
controlado de no haber introducido un valor incorrecto.

Private Sub ValidarCUIT()

            ‘Recogemos el valor del TextBox que sólo contiene número

            Dim cadena as string = Me.TextBox.Text

‘Valores por los que multiplicaremos cada digito del CUIT

Dim loValores() As Integer = {5, 4, 3, 2, 7, 6, 5, 4, 3, 2}

‘Variable donde iremos sumando los valores que obtengamos de multiplicar

‘los digitos del cuit por los números de loValores

Dim loProducto As Integer = 0

For index As Integer = 0 To 9

loProducto += (Me.loValores.GetValue(index) * CInt(cadena.Text.Substring(index, 1)))

Next

‘Sacamos el mod 11 de loProducto

Dim intMod11 As Integer = loProducto Mod 11

‘Restamos el resultado de mod11 a 11

Dim digito As Integer = 11 – intMod11

‘Comprobamos que el valor coincida con el dígito de control introducido por el usuario en el TextBox

Dim dc As Integer = CInt(cadena.Text.Substring(10, 1))

If dc = digito Then

‘El resultado es correcto

Me.TextBox1.BackColor = Drawing.Color.PaleGreen

Else

‘El resultado es incorrecto

Me.TextBox1.BackColor = Drawing.Color.MistyRose

End If

End Sub

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *