Como validar cedula de identidad en power builder

Como estas tengo un problema, dentro de mi base de datos tengo un campo cedula, y necesito verificar si la cedula es correcta o no, mejor dicho como hago para saber el numero verificador de la cedula.
Por favor necesito la respuesta de urgencia... Lo más pronto posible...
Respuesta
1
No te entendí para nada, ¿el campo "cedula" como lo quieres verificar?, ¿Al momento de hacer un nuevo registro verificar que no se ingrese dos veces o como?. Explicate mejor
Como están por favor ayúdenme a validar la cedula de identidad
Lo que necesito es saber, si la cedula ingresada es correcta, mejor dicho, como se el numero verificador de la cedula de identidad por ejemplo ingreso esta cedula 170897546-9 el numero 9 es el dígito verificador que me indica si la cedula es verdadera o flasa... necesito que me ayudes... con la programación es de suma urgencia...
Gracias.. espero haberme explicado mejor..
Sigo sin entender nada, me podrías dar un ejemplo, alguna pantalla, algo para poder guiarme.
Hola como estas...
Mira este video explica como saca el dígito verificador, pero mi problema es como hacerlo.. en código de power biulder por ayudame gracias..
http://www.youtube.com/watch?v=03RSL10g0U8 y el
Por ahí hubieras empezado, aquí hice un poco de programación (todo va en el botón verificar)

// Creamos algunas variables locales de tipo Entero para almacenar los dígitos de posición par e impar
Integer li_par1, li_par2, li_par3, li_par4
Integer li_imp1, li_imp2, li_imp3, li_imp4, li_imp5
// Variables para almacenar la suma de los digitos de posicion par, impar, etc
Integer li_sp, li_si, li_st, li_verificador, li_ds
// Almacenamos el codigo verificador, que es el ultimo digito de la cedula
li_verificador = Integer( Right( sle_cedula.Text, 1))
// almacenamos los digitos de posicion par
li_par1 = Integer( Right( Left( sle_cedula.Text, 2), 1))
li_par2 = Integer( Right( Left( sle_cedula.Text, 4), 1))
li_par3 = Integer( Right( Left( sle_cedula.Text, 6), 1))
li_par4 = Integer( Right( Left( sle_cedula.Text, 8), 1))
// almacenamos los digitos de posicion impar
li_imp1 = Integer( Left( sle_cedula.Text, 1))
li_imp2 = Integer( Right( Left( sle_cedula.Text, 3), 1))
li_imp3 = Integer( Right( Left( sle_cedula.Text, 5), 1))
li_imp4 = Integer( Right( Left( sle_cedula.Text, 7), 1))
li_imp5 = Integer( Right( Left( sle_cedula.Text, 9), 1))
// Los digitos de posicion par, se suman
li_sp = li_par1 + li_par2 + li_par3 + li_par4
// los digitos de posicion impar se multiplican por 2If li_imp1 * 2 > 9 Then
 // si el resultado es mayor que 9, se le resta 9
 li_imp1 = (li_imp1 * 2) - 9
Else
 // de caso contrario se almacena el digito impar multiplicado por 2
 li_imp1 = li_imp1 * 2
End If
If li_imp2 * 2 > 9 Then
 li_imp2 = (li_imp2 * 2) - 9
Else
 li_imp2 = li_imp2 * 2
End If
If li_imp3 * 2 > 9 Then
 li_imp3 = (li_imp3 * 2) - 9
Else
 li_imp3 = li_imp3 * 2
End If
If li_imp4 * 2 > 9 Then
 li_imp4 = (li_imp4 * 2) - 9
Else
 li_imp4 = li_imp4 * 2
End If
If li_imp5 * 2 > 9 Then
 li_imp5 = (li_imp5 * 2) - 9
Else
 li_imp5 = li_imp5 * 2
End If
// suma de todos los digitos de posicion impar
li_si = li_imp1 + li_imp2 + li_imp3 + li_imp4 + li_imp5
// suma tota, suma de pares + suma de impares
li_st = li_sp + li_si
// se calcula la decena superior
li_ds = (Integer( Left( String( li_st), 1)) + 1) * 10
// si el codigo verificador es igual a la resta de la decena superio menos la suma total
If li_verificador = (li_ds - li_st) Then
 // si es igual, entonces la cedula es correcta
 MessageBox("Resultado", "La cedula es verdadera")
Else
 // de caso contrario, es incorrecta
 MessageBox("Resultado", "La cedula es incorrecta")
End If
Eso seria todo, si tienes más dudas, me las haces saber.
Hola com oestas sabes el código que me enviaste me ayudi full
Pero el único problema es que cunado dígito 123 sale como cedula correcta..
Y no debería ser así..
Gracias..
Te luciste..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas