Digito verificador de la cédula [Cerrado]

Denunciar
-
 Nilsa -
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..

6 respuestas

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
95
Gracias

¡Estamos felices de haberte ayudado! ¿Te hemos sido de ayuda? ¡Déjanos un comentario! Evalúa a CCM

CCM 42813 usuarios nos han dicho gracias este mes

dark_zen
Message postés
152
Date d'inscription
lunes, 6 de septiembre de 2010
Estatus
Miembro
Última intervención
martes, 3 de enero de 2012
93
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.
Como puedo saber si estoy en inforcon

19336046
No funciona, hace mal la validacion
Aun quieren la funcion???????
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
Message postés
152
Date d'inscription
lunes, 6 de septiembre de 2010
Estatus
Miembro
Última intervención
martes, 3 de enero de 2012
93
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;
}

}
porfavor si saben pongan ya
080448341