Código de Visual Basic - Calcula la letra de un DNI

Imágen de perfil

Calcula la letra de un DNIgráfica de visualizaciones


Visual Basic

estrellaestrellaestrellaestrellaestrella(7)
Actualizado el 08 de Septiembre del 2015 por Administrador (Creado el 11 de Febrero del 2002)
22.515 visualizaciones desde el 11 de Febrero del 2002. Una media de 35 por semana
Este código calcula la letra del DNI

Versión 1.1
estrellaestrellaestrellaestrellaestrella(7)

Actualizado el 08 de Septiembre del 2015 (Creado el 11 de Febrero del 2002)gráfica de visualizaciones de la versión: Versión 1.1
22.516 visualizaciones desde el 11 de Febrero del 2002. Una media de 35 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Tiene que recibir la cadena con los números del DNI.
Ejemplo:
1
2
3
Private Sub Command1_Click()
MsgBox Calcular(Text1.Text)
End Sub

Se han aplicado las modificaciones indicadas por GiGaHeRz!!!
1
2
3
4
5
6
7
8
9
10
11
12
Function Calcular(Num As String)
    Dim Tabla()
    Dim Result As Currency
    If Len(Num) < 7 Or Len(Num) > 8 Then
        MsgBox "ERROR : el DNI debe de tener 7 o 8 números"
        Exit Function
    End If
    Result = ((Int(Num / 23)) * 23)
    Result = -Result + Num
    Tabla = Array("-T", "-R", "-W", "-A", "-G", "-M", "-Y", "-F", "-P", "-D", "-X", "-B", "-N", "-J", "-Z", "-S", "-Q", "-V", "-H", "-L", "-C", "-K", "-E")
    Calcular = Num & Tabla(Result)
End Function



Comentarios sobre la versión: Versión 1.1 (7)

Manuel
12 de Febrero del 2002
estrellaestrellaestrellaestrellaestrella
Un millon de gracias por tu fastuoso programa, quiero decirte que gracias a tu validación de DNI, me han contratado en una empresa puntera en el sector de informática. Te debo mi futuro profesional con tu NEW program.
Responder
David Delgado Ruiz
12 de Marzo del 2002
estrellaestrellaestrellaestrellaestrella
Falta una linea de código, la variable 'numero' no esta inicializada, creo recordar que es el resultado de la suma de todos los dígitos del DNI.
Responder
yohonny guido
26 de Marzo del 2002
estrellaestrellaestrellaestrellaestrella
podria hacer una aplicacion respesto a este programa, compremido

si podria,
Responder
GiGaHeRz
16 de Marzo del 2003
estrellaestrellaestrellaestrellaestrella
Este codigo esta mal. Tiene un par de errores.

estas 2 lineas:
Result = ((Int(numero / 23)) * 23)
Result = -Result + numero

deberian ser:
Result = ((Int(Num / 23)) * 23)
Result = -Result + Num

aunque se podrian resumir como:
Result = Num mod 23
Responder
Ricardo
07 de Septiembre del 2015
estrellaestrellaestrellaestrellaestrella
Hola. Muchas gracias por la aportación que has hecho. Solo decirte que el compañero GIGAHeRz tiene toda la razón, hay que cambiar las dos lineas esas, porque si no, sale otro valor y el resultado no es el esperado. Gracias.
Responder
Imágen de perfil
Manuel
15 de Septiembre del 2015
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder
jesus
02 de Septiembre del 2016
estrellaestrellaestrellaestrellaestrella
Muy buen trabajo, gracias por tu ayuda
Responder

Comentar la versión: Versión 1.1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s78