Validación del RUT chileno

El RUT es uno de los documentos de identidad que se usa en Chile (cedula de identidad) y trae un numero identificatorio para cada persona. El último dígito se obtiene a través de cálculos matemáticos a partir de los demás dígitos. Este código contiene un pequeño menú y una función para validar el RUT viendo si el último dígito es correcto.
				/// FICHERO RUT2.PRG
clear
do valrutx2.prg
do while .t.
re=space(1)
rutx=0
dv=space(1)
@ 5,6 say "Ingrese rut :"
@ 5,28 say"-"
@ 5,19 get rutx pict"99999999" valid rutx<>0
@ 5,29 get dv pict"@!" valid dv$("0123456789K")
read
ok=valrut(rutx,dv)
if(ok=1)
msg({"Rut Incorrecto"},0,"Atencion")
end if
re=' '
@ 9,5 say "Desea Validar Otro Rut S/N :"
@ 9,34 get re pict"!" valid re $("sSNn")
read
if (re='N')
exit
else
clear
loop
end if
end do

/// FICHERO VALRUTX.PRG
function valrut (rutx,digi)
rutx=strzero(rutx,8)
n1=val(subs(rutx,1,1))
n2=val(subs(rutx,2,1))
n3=val(subs(rutx,3,1))
n4=val(subs(rutx,4,1))
n5=val(subs(rutx,5,1))
n6=val(subs(rutx,6,1))
n7=val(subs(rutx,7,1))
n8=val(subs(rutx,8,1))
p=(n8*2)+(n7*3)+(n6*4)+(n5*5)+(n4*6)+(n3*7)+(n2*2)+(n1*3)
re=p%11
re=int(re)
m=11-re
mm=space(2)
mm=alltrim(str(m))
if mm="10"
mm="K"
end if
if mm="11"
mm="0"
end if
if digi<>mm
ok=1
else
ok=2
end if
return ok
Descargar adjuntos
COMPARTE ESTE TUTORIAL

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
SIGUIENTE TUTORIAL