Foros del Web » Programación para mayores de 30 ;) » Programación General »

generar letra del nif

Estas en el tema de generar letra del nif en el foro de Programación General en Foros del Web. Hola a todos!! Como puedo generar en Visual Basic 6 la letra del nif a través del dni? lo quiero hacer a través de una ...
  #1 (permalink)  
Antiguo 20/10/2004, 10:59
 
Fecha de Ingreso: enero-2003
Ubicación: A Coruña
Mensajes: 76
Antigüedad: 21 años, 10 meses
Puntos: 0
Busqueda generar letra del nif

Hola a todos!!
Como puedo generar en Visual Basic 6 la letra del nif a través del dni?
lo quiero hacer a través de una función a la que le paso el dni (variable de tipo texto) y me devuelva la letra que le corresponde a ese Dni
Gracias
  #2 (permalink)  
Antiguo 20/10/2004, 11:17
Avatar de jarabas
Usuario no validado
 
Fecha de Ingreso: abril-2004
Mensajes: 111
Antigüedad: 20 años, 7 meses
Puntos: 0
hola.
El codigo no te lo voy a decir pero te digo como se sacaría el NIF a partir del DNI
eso no es cuestion del visual basic. La tienes que gererar tú mediante cálculos.
Tienes que dividir el numero de DNI entre 23, le quitas los decimales, y le multiplicas por 23. restas este numero al DNI y el valor que te de es el NIF
Ejemplo:
DNI 78256934, 78256934/23=3402475,3913043478260869565217391
me cargo los decimales por lo que me queda 3402475, y a este le multiplico por 23 lo que me da 78256925, y ahora la ultima cifra al DNI (78256934-78256925)=9 por tanto el NIF de este DNI es D (si no me he equivocado en los cálculos)

La secuencia de letras va desde 0 a 22 y es(ojito que va desde cero a 22 no desde 1):
T R W A G M Y F P D X B N J Z S Q V H L C K E

Espero que te sirva.

Un saludo.
  #3 (permalink)  
Antiguo 20/10/2004, 11:23
 
Fecha de Ingreso: enero-2003
Ubicación: A Coruña
Mensajes: 76
Antigüedad: 21 años, 10 meses
Puntos: 0
gracias por resolverme la duda

Muchas gracias por resolverme la duda!
Espero que con este código pueda resolver mi problema!
Gracias
  #4 (permalink)  
Antiguo 20/10/2004, 11:31
Avatar de jarabas
Usuario no validado
 
Fecha de Ingreso: abril-2004
Mensajes: 111
Antigüedad: 20 años, 7 meses
Puntos: 0
Código, lo que se dice código, ¡no es!
Es la explicación para que el codigo lo hagas tú.

Me alegro si te ha valido

Suerte, un saludo
  #5 (permalink)  
Antiguo 20/10/2004, 11:58
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 11 meses
Puntos: 7
Mientras yo modificaba una función que encontré, respondía Jarabas. Pero de cualquier modo, publico el código (nada del otro mundo). Sin embargo, yo aún no entiendo que se supone que son esas siglas ¿Pueden explicarme?

(Pega esto en un nuevo form)
Código:
Option Explicit
Private WithEvents m_Text1 As VB.TextBox
Private WithEvents m_Text2 As VB.TextBox
Private WithEvents m_Command1 As VB.CommandButton
'Encontré este código para delphi
'************************
'function NIF(DNI: String): Char;
' begin
'   Result := Copy('TRWAGMYFPDXBNJZSQVHLCKE',StrToInt(DNI) mod 23+1,1)[1];
' end;
'************************
'En VB esto es el equivalente
Private Function NIF(ByVal sDNI As String) As String
	NIF = Mid$("TRWAGMYFPDXBNJZSQVHLCKE", (CLng(sDNI) Mod 23) + 1, 1)
End Function
Private Sub m_Command1_Click()
	If m_Text1.Text <> "" And IsNumeric(m_Text1.Text) Then
		m_Text2.Text = NIF(m_Text1.Text)
	End If
End Sub
Private Sub Form_Load()
	Me.ScaleMode = vbPixels
	Set m_Text1 = Me.Controls.Add("VB.TextBox", "Text1", Me)
	With m_Text1
		.Move 10, 10, 200, 23
		.Visible = True
	End With
	
	Set m_Text2 = Me.Controls.Add("VB.TextBox", "Text2", Me)
	With m_Text2
		.Move 110, 39, 100, 23
		.Visible = True
	End With
	
	Set m_Command1 = Me.Controls.Add("VB.CommandButton", "Command1", Me)
	With m_Command1
		.Move 10, 39, 90, 23
		.Caption = "Calcular"
		.Visible = True
	End With
End Sub
Saludos.
  #6 (permalink)  
Antiguo 20/10/2004, 12:49
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Hola Beakdan.

NIF = Número de Identificación Fiscal (en España)

Como habrás deducido es el mismo número del DNI (Documento Nacional de Identidad) al que se añade una letra que se saca con las operaciones que explicó jarabas. El código puede ser muy útil en programas y páginas de internet para, cuando se pide el nif, comprobar que coincida el número con la letra.

Saludos,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:38.