Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Validacion de Rut(mod 11)

Estas en el tema de Validacion de Rut(mod 11) en el foro de Visual Basic clásico en Foros del Web. ************************************************** ******* validacion de rut: modulo 11 ************************************************** ******* Dos Clicken "Form1 " en el evento "Load" y se escribe lo siguiente: factor(1) = 3 ...
  #1 (permalink)  
Antiguo 23/03/2009, 21:38
 
Fecha de Ingreso: marzo-2009
Mensajes: 1
Antigüedad: 15 años, 1 mes
Puntos: 0
Validacion de Rut(mod 11)

************************************************** *******
validacion de rut: modulo 11
************************************************** *******
Dos Clicken "Form1 " en el evento "Load" y se escribe lo siguiente:

factor(1) = 3
factor(2) = 2
factor(3) = 7
factor(4) = 6
factor(5) = 5
factor(6) = 4
factor(7) = 3
factor(8) = 2
DigVer(1) = "1"
DigVer(2) = "2"
DigVer(3) = "3"
DigVer(4) = "4"
DigVer(5) = "5"
DigVer(6) = "6"
DigVer(7) = "7"
DigVer(8) = "8"
DigVer(9) = "9"
DigVer(10) = "k"
DigVer(11) = "0"

porque factor: es la cantidad de digitos puestos en Textbox,
el cual se le designa un numero, bajo aquel numero entre ( ),
se le adhiere un Numero a multiplicar Eje:

1 2 3 4 5 6 7 8 = Factor(8 digitos del rut)
2 3 7 6 5 4 3 2 = Operacion matematica

eje: factor 1 con el operacion 2 .

Por qué Digver ?? es el Digito verificador de la operacion matematica
eje:si el digito verificador cae en la posicion 11, el resultado es 0,
sí no es 0 entonces el rut es incorrecto, si la posicion es 10
y si el digito verificador es K, como ahi lo indica, esta correcto.

************************************************** *****
Luego se procede a crear 2 textbox
en form1, lo cual por defecto seran:
Text1 y Text2, se hace doble click en el
objeto Text2 en el evento "Keypress"
y se copia lo siguiente:

*****************************************
If KeyAscii = 13 Then
DigRut = Trim(Text1.Text)
DV = Trim(Text2.Text)
Call ValidaRut

If estado = 1 Then
msgbox " El Rut Correcto "
Else
msgBox "Rut Incorrecto", vbCritical, "Error"
Text1.Text = ""
Text2.Text = ""
Text1.SetFocus
End If
End If
End Sub
********************************************

NOTA: aquí, el programa efectua la validacion mediante
la tecla enter, el cual al presionarse llama a la rutina
"Call ValidaRut"(copiada en el modulo) y procede a ejecutar
la operacion, si este resultado da igual a 1, el rut es
incorrecto, si da 0 pasa sin ningun problema.
*********************************************
Luego procedemos a crear 1 modulo, el cual escribiremos
lo siguiente:

-----------------------------------------------
Option Explicit
' *** Declaracion de variables ***
' ******* VERIFICACIONES DE RUT *********
Global suma As Integer ' suma de todos los digitos de Text1
Global resto As Integer ' ejecucion de modulo 11
Global digito As Integer
Global factor(1 To 8) As Integer
Global DigVer(1 To 11) As String * 1
Global I As Integer ' uso ciclo for, tomar 1 multiplicar.
Global DigRut As String ' guarda tex1.text
Global DV As String * 1
Global estado As Integer
-----------------------------------------------

NOTA: aqui una vez creado el modulo, se procede a:
declarar variables que procederan a ejecutar la rutina
Validarut.
__________________________________________________ _______
luego 2 espacios mas abajo de la ultima variable global escrita
en el modulo osea abajito de " Global estado as integer "
procedemos a copiar este codigo:
---------------------------------------------------
Public Sub ValidaRut()

suma = 0 ' variable suma empieze en 0
For I = 1 To 8
digito = Val(Mid(DigRut, I, 1))
suma = suma + digito * factor(I)
Next I
resto = suma Mod 11
I = 11 - resto
If DigVer(I) = DV Then

estado = 1
Else
estado = 0
End If
End Sub
---------------------------------------------------
NOTA: una vez pegado las variables globales en el modilo
se procede a copiar abajo el codigo de validarut.
---------------------------------------------------

sí fui muy enredado o no se entiende mucho,
pido las disculpas del caso, es primera vez que
dejo un tema en un foro con tanta explicación :)


Randex...
  #2 (permalink)  
Antiguo 24/03/2009, 01:46
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Validacion de Rut(mod 11)

Hola, no se si es que tienes algún problema con ese código o si solamente nos quieres mostrar el ejemplo.

Ese tema se trató ampliamente en este post:

http://www.forosdelweb.com/f69/como-validar-rut-654398/

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:44.