Únete
a la comunidad
Inscríbete
Haz una pregunta Denunciar

Digito verificador de la cédula

visual basic - Última respuesta el 6 jul 2012, 17:30
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..
Seguir leyendo 
22 respuestas
Respuesta
+36
moins plus
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
UNE - 16 sep 2011, 20:53
modelE153u65
FCC ID QISE153U-65
IMEI:353504045591835
S.N:6VA4CA1130341261
VERIFICAR SI MI MODEN ESTA FUNCIONANDO
saca - 21 sep 2011, 18:31
hola necesito q me ayudes con el pseudocodigo de validacion de cedula
dark_zen 120Publicaciones lunes, 6 de septiembre de 2010Fecha de inscripción martes, 3 de enero de 2012Último discurso - 26 sep 2011, 14:12
primero valida si son numeros y de ahi "N" numeros ingresados
reykon - 27 nov 2011, 19:04
esto no es para lenguaje c (borland c)
tito - 6 jul 2012, 17:30
pero explica mejor para visual 6.0 no sale la chingada esa
Añadir comentario
Respuesta
+5
moins plus
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.
yeye - 27 jun 2010, 21:06
si van a ser algo que sea algo bueno giles
dark_zen 120Publicaciones lunes, 6 de septiembre de 2010Fecha de inscripción martes, 3 de enero de 2012Último discurso - 26 sep 2011, 14:52
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...
R.Gonzalez - 11 oct 2011, 19:56
redpapa Tu codigo no es dinamico mejoralo.. Suerte.
R.Gonzalez - 11 oct 2011, 20:01
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;
}

}
Añadir comentario
Respuesta
+2
moins plus
19336046
ruben - 25 abr 2011, 21:17
No funciona, hace mal la validacion
Daro - 27 jun 2011, 17:32
Aun quieren la funcion???????
Añadir comentario
Este documento intitulado « digito verificador de la cédula » de Kioskea (es.kioskea.net) esta puesto a diposición bajo la licencia Creative Commons. Puede copiar, modificar bajo las condiciones puestas por la licencia, siempre que esta nota sea visible.

¿No eres todavia usuario?

inscríbete, gratuitamente y en menos de un minuto!

Los miembros obtienen más respuestas que los usuarios anónimos.

Ser miembro te permite llevar un seguimiento detallado de tus consultas.

Ser miembro te permite gozar de otras opciones adicionales.

Recibe nuestro newsletter

salud.kioskea.net