Digito verificador de la cédula [Cerrado]

- - Última respuesta:  Nigel Caro - 22 abr 2014 a las 05:10
Hola,necesito el código para validar el digito verificador de la cédula en vidual basic 6.0, si alguien me puede ayudar de antemano les agradesco..
Ver más 

6 respuestas

Mejor respuesta
63
Gracias
aca va un programita en visual basic..

1.) Abrir un formulario y pegar dos textbox.

2.) abir el text1.text como keypress y pegar esto:

If KeyAscii = 13 Then
KeyAscii = 0
If Text1.Text = "" Then Exit Sub
dv = RutDigito(Text1.Text)
End If

3.) Pegar en cualquier parte del formulario esta funcion:

Public Function RutDigito(ByVal Rut As Long) As String
Dim Digito As Integer
Dim Contador As Integer
Dim Multiplo As Integer
Dim Acumulador As Integer

Contador = 2
Acumulador = 0
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
Wend
Digito = 11 - (Acumulador Mod 11)
RutDigito = CStr(Digito)
If Digito = 10 Then RutDigito = "K"
If Digito = 11 Then RutDigito = "0"
Text2.Text = RutDigito

End Function



i listo..comiencen a probarlo

Deja un "Gracias" 63

Unas palabras de agradecimiento nunca están de más. Deja tu comentario

CCM 33733 usuarios nos han dicho gracias este mes

hola necesito q me ayudes con el pseudocodigo de validacion de cedula
dark_zen
Publicaciones
152
Fecha de inscripción
lunes, 6 de septiembre de 2010
Estatus
Miembro
Última intervención
martes, 3 de enero de 2012
89 -
primero valida si son numeros y de ahi "N" numeros ingresados
esto no es para lenguaje c (borland c)
pero explica mejor para visual 6.0 no sale la chingada esa
Compadre este codigo si funciona y a la perfeccion en VB6.0 muy buen ejemplo.
10
Gracias
19336046
No funciona, hace mal la validacion
Aun quieren la funcion???????
3
Gracias
Hola amigo
Mira yo tengo un codigo en donde puedo validar un digito verificador del rut y me funciona perfectamente, espero te sirva.

'*** Esta clase permite recibir como parametro un rut y lo valida para comprobar si su digito *****
' verificador esta correcto o no, su respuesta es boolena

'*** Se declaran las variables globales ***************************************************************************
Public VAR_NUMBER As Integer
Public VAR_X As String
Public VAR_AA As String
Public VAR_N As Integer
Public VAR_MASCULINO As Boolean
Public VAR_POSIC As Integer
Public VAR_ANTE As String
Public VAR_POST As String
Public VAR_NUMBERTOSTRING As String
Public VAR_NUMBERTOSTRING1 As String
Public VAR_NUMBERTOSTRING2 As Double
Public VAR_NUMBERTOSTRING3 As String
Public VAR_NUMBERTOSTRING4 As String
Public VAR_LETRAS As String

'*** Esta funcion permite inicializar las variables de trabajo ****************************************************
Private Sub Class_Initialize()
VAR_NUMBER = 0
VAR_X = ""
VAR_AA = ""
VAR_N = 0
VAR_MASCULINO = False
VAR_POSIC = 0
VAR_ANTE = ""
VAR_POST = ""
VAR_NUMBERTOSTRING = ""
VAR_NUMBERTOSTRING1 = ""
VAR_NUMBERTOSTRING2 = 0
VAR_NUMBERTOSTRING3 = ""
VAR_NUMBERTOSTRING4 = ""
VAR_LETRAS = ""
VALIDARUT = False
End Sub

'*** Esta funcion permite limpira las variables de trabajo ********************************************************
Private Sub Class_Terminate()
VAR_NUMBER = 0
VAR_X = ""
VAR_AA = ""
VAR_N = 0
VAR_MASCULINO = False
VAR_POSIC = 0
VAR_ANTE = ""
VAR_POST = ""
VAR_NUMBERTOSTRING
VAR_NUMBERTOSTRING1
VAR_NUMBERTOSTRING2 = 0
VAR_NUMBERTOSTRING3 = ""
VAR_NUMBERTOSTRING4 = ""
VAR_LETRAS = ""
End Sub

'** Funcion que valida el digito verificador del rut ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
Public Function VALIDARUT(VAR_SRUT As String) As Boolean

'** Se extrae el digito verificador y el bloque numerico para su validacion y se inicializan las variables ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
VAR_SNUMERO1 = ""
VAR_SNUMERO2 = ""
VAR_SNUMERO3 = ""
VAR_SCADENA = ""
VAR_SNUME = ""
VAR_SNUMERICO = ""
VAR_DLARGO = 0
VAR_DSUMA = 0
VAR_DSUMAVALOR = 0
VAR_ITOTALSUMA = 0
VAR_IRESTO = 0
VAR_IVALIDADIGITO = 0
VAR_ILARGORUT = Len(Trim$(VAR_SRUT))
VAR_SDIGITO = StrConv(Right$(VAR_SRUT, 1), 1)
VAR_SEXTCAR = ""
VAR_ICONTADOR = 0
VAR_SCADENA = "765432765432"
VAR_ILARGOCADENA = Len(VAR_SCADENA)
VAR_DSUMAVALOR = 0
VAR_ITOTALSUMA = 0
VAR_IRESTO = 0
VAR_IVALIDADIGITO = ""
VAR_SSIGNO = ""

'** Se busca el signo ingresado para comprobarlo ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
VAR_IPOSIGNO = InStr(VAR_SRUT, "-")
If VAR_IPOSIGNO > 0 Then
VAR_SSIGNO = Mid(VAR_SRUT, VAR_IPOSIGNO, 1)
End If

'** Se verifica si el rut ingresado posee signo **********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
If VAR_IPOSIGNO <> 0 Then
VAR_SEXTRAESIGNO = Trim$(Mid$(VAR_SRUT, VAR_ILARGORUT - 1, 1))
VAR_SNUMERICO = Mid$(Trim$(VAR_SRUT), 1, VAR_ILARGORUT - 2)
Else
VAR_SNUMERICO = Mid$(Trim$(VAR_SRUT), 1, VAR_ILARGORUT - 1)
End If
VAR_DLARGO = Len(VAR_SNUMERICO)
For VAR_I = 1 To VAR_DLARGO
VAR_SEXTCAR = Mid$(VAR_SNUMERICO, VAR_I, 1)
Select Case VAR_SEXTCAR
Case "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
VAR_SNUME = VAR_SNUME & VAR_SEXTCAR
End Select
Next VAR_I

'** Se la parte numerica que va a ser procesada para su validacion y extraer su digito verificador para compararla con la ingresada **********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
VAR_SNUMERICO = Format(VAR_SNUME, "000000000")

If IsNumeric(VAR_SNUMERICO) Then

'** Se inicializan las variables de trabajo del ciclo de validacion ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
VAR_ILARGORUT = Len(VAR_SNUMERICO)
'VAR_DLARGO = Len(VAR_SNUMERICO)

'** Se comienza el ciclo de suma de los valores de la cadena que conforma el proceso de validacion ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
For VAR_I = 1 To VAR_ILARGORUT
'Do While VAR_ILARGORUT
DSUMAVALOR = Val(Mid$(VAR_SNUMERICO, VAR_ILARGORUT, 1)) * Val(Mid$(SCADENA, VAR_ILARGOCADENA, 1))
ITOTALSUMA = ITOTALSUMA + DSUMAVALOR
VAR_ILARGORUT = VAR_ILARGORUT - 1
VAR_ILARGOCADENA = VAR_ILARGOCADENA - 1
'Loop
Next VAR_I
'** Se identifica el digito verificador para verificarlo ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
VAR_IRESTO = 11 - (ITOTALSUMA Mod 11)
Select Case VAR_IRESTO
Case 1, 2, 3, 4, 5, 6, 7, 8, 9
VAR_IVALIDADIGITO = Trim$(Str$(VAR_IRESTO))
If VAR_IVALIDADIGITO <> VAR_SDIGITO Then
MsgBox "Rut erróneo o digito verificador debe ser " & VAR_IVALIDADIGITO, 64, "Validación de Rut"
VALIDARUT = False
Exit Function
End If
Case 10
VAR_IVALIDADIGITO = "K"
If VAR_IVALIDADIGITO <> VAR_SDIGITO Then
MsgBox "Rut erróneo o digito verificador debe ser " & VAR_IVALIDADIGITO, 64, "Validación de Rut"
VALIDARUT = False
Exit Function
End If
Case Else
VAR_IVALIDADIGITO = "0"
If VAR_IVALIDADIGITO <> VAR_SDIGITO Then
MsgBox "Rut erróneo o digito verificador debe ser " & VAR_IVALIDADIGITO, 64, "Validación de Rut"
VALIDARUT = False
Exit Function
End If
End Select
Else
VAR_SRUT = ""
MsgBox "ERROR en el ingreso...El Rut no debe poseer caracteres alfabéticos...", vbCritical, "Validación de Rut"
VALIDARUT = False
Exit Function
End If
End Function






En la linea de codigo que dice:
Public Function VALIDARUT(VAR_SRUT As String) As Boolean

tu parametro de entrada es: VAR_SRUT en donde le mandas el string y te devuelve como resultado verdadero o falso comprobando si lo que ingresaste es correcto o no..cualquier duda me mandas tus consultas al correo.
Saludos.
si van a ser algo que sea algo bueno giles
dark_zen
Publicaciones
152
Fecha de inscripción
lunes, 6 de septiembre de 2010
Estatus
Miembro
Última intervención
martes, 3 de enero de 2012
89 -
mucho mejor que que se conecte al servidor del organismo regulador donde te devuelva los datos del abonado y/o razon social...
digamos verificar RUT conectandoce al servidor DIAN para consulta... si existe el registro te devolvera e IDU para que hagas otra consulta para que te devuelva los datos del registro

- en el caso de peru el banco de la nacion tiene una pagina la cual consulta el rut online https://zonasegura1.bn.com.pe/ConsultaRUT/
revizando los script pueden ver el la cadena de coneccion para la consulta

asi que suerte...
redpapa Tu codigo no es dinamico mejoralo.. Suerte.
Aqui dejo Mi aporte

package programascalculo;

/**
*
* @author rgonzalez
*/
public class Verify {

private int acount;

public Verify(int acount){
this.acount=acount;

}

public int verifyDigiter(){
String value=String.valueOf(getAcount());
int numero1 = 0;
int n1=2;
for(int n=1;n<=String.valueOf(getAcount()).length();n++){
numero1+=Integer.parseInt(value.substring(value.length()-n))*n1;
n1+=1;
if(n>=6){
n1=2;
}

}
return numero1;
}

public boolean isValidate(){
boolean estado;
int num=verifyDigiter();
num=num%11;
num=11-num;

if(num==11 ){
System.out.println("Efectivamente este numero es correcto");
num=0;
System.out.println(getAcount()+"--"+num);
return estado= true;
}
if(num>=0 || num<10 ){
System.out.println("Efectivamente este numero es correcto");
System.out.println(getAcount()+"--"+num);
return estado= true;
}
if(num==10 ){
System.out.println("este numero no es correcto");
return estado= false;
}
else{
System.out.println("este numero no es correcto");
return estado=false;
}

}

public int getAcount() {
return acount;
}

}
0
Gracias
porfavor si saben pongan ya
0
Gracias
gracias
-2
Gracias
080448341