ÍndiceGaleríaChatFAQBuscarMiembrosGrupos de UsuariosRegistrarseConectarse

Comparte | 
 

 Verificacón de RUT

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
rebaez
Motivado


Cantidad de envíos : 58
Medallas :
Fecha de inscripción : 04/09/2008

MensajeTema: Verificacón de RUT   Lun 22 Dic 2008, 00:53

extraido de wikipedia algoritmo:

Procedimiento para obtener el dígito verificador
El RUT consta de dos partes, el número y el dígito verificador separados por un guión. En el siguiente ejemplo se toma como RUT el número 30.686.957-X, donde 30.686.957 es el número del RUT y X es el dígito verificador que no conocemos o que queremos verificar:

- Se procede a tomar el número de RUT de derecha a izquierda, multiplicando cada dígito por los números que componen la serie numérica 2,3,4,5,6,7; y sumando el resultado de estos productos, como se muestra a continuación (si se ha aplicado la serie hasta el 7 y quedan dígitos por multiplicar, se comienza la serie nuevamente):

En el ejemplo:

7 × 2 = 14,

5 × 3 = 15,

9 × 4 = 36,

6 × 5 = 30,

8 × 6 = 48,

6 × 7 = 42,

0 × 2 = 0,

3 × 3 = 9, entonces la suma de los productos es: 14+15+36+30+48+42+0+9 = 194

- Al número obtenido por la suma del producto de cada dígito por la serie ya mencionada, se le aplica módulo 11, o sea, se divide por 11 y se determina el resto de la división.

En el ejemplo:

194 : 11 = 17

Resto: 7

Ahora se le resta a 11 el resto:

En el ejemplo:

11 - 7 = 4

Si el resultado es 11, el dígito verificador será 0.
Si el resultado es 10, el dígito verificador será K.
En otro caso el resultado será el dígito verificador.
Como en el ejemplo el resultado de la resta es 4, el dígito verificador es 4.

Por ende, el RUT del ejemplo es el 30.686.957-4.

Este codigo es para generar el digito berificador
Código:
Dim Digito, Contador, Multiplo, Acumulador, Rut As Integer
        Contador = 2
        Acumulador = 0
        Rut = Val(TxtRut.Text) 'le asigno lo que esta en el textbox del RUT
        While Rut <> 0
            Multiplo = (Rut Mod 10) * Contador
            Acumulador = Acumulador + Multiplo
            Rut = Rut \ 10
            Contador = Contador + 1
            If Contador = 8 Then
                Contador = 2
            End If
        End While
        Digito = 11 - (Acumulador Mod 11)
        TxtDigito.Text = CStr(Digito)  'Transformo de Numero a Texto con el CStr y lo asigno al Text Box del Digito
        If Digito = 10 Then TxtDigito.Text = "K"
        If Digito = 11 Then TxtDigito.Text = "0"

Lo mismo es para verificar la diferencia que guardo el digito en una variable y lo comparo con el texbox del digito por ejemplo...
Código:
 Resultado = CStr(Digito)  'Transformo de Numero a Texto con el CStr y lo asigno al Text Box del Digito
        If Digito = 10 Then Resultado = "K"
        If Digito = 11 Then Resultado = "0"
        If Resultado = TxtDigito.text then
            msgbox "Verdadero"
        Else
            msgbox "Falso"
        End If

Aqui le dejo el codigo para que puedan verlo en acción pirat
Volver arriba Ir abajo
Ver perfil de usuario
 
Verificacón de RUT
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.

Permisos de este foro:No puedes responder a temas en este foro.
TRUKAZO :: Zona del Programador :: Visual Basic-
Cambiar a: