Visual Basic.NET - Para P.J

   
Vista:

Para P.J

Publicado por Valentin (6 intervenciones) el 06/10/2008 23:06:13
Hola P.J te acordas del tema del verificador de CUIT, como veras ya lo migre a Net pero no puedo descubrir por que me mancha como error todas las lineas la palabra "coeficiente"
y en donde dice 1 To 10 me mancha solamente el "1" y por ultimo la palabra "verificador".
Aca te paso el codigo a ver si vos podes descubrir en donde tengo el error, como te habia dicho antes lo coloque en un modulo. Muchas gracias de nuevo y espero no tener que molestarte mas.

Function verifica_cuit(cuit As String) As String
Dim coeficiente(1 To 10) As Integer
Dim i, sumador, veri_nro, resultado As Integer
Dim cuit_rearmado As String
coeficiente(1) = 5
coeficiente(2) = 4
coeficiente(3) = 3
coeficiente(4) = 2
coeficiente(5) = 7
coeficiente(6) = 6
coeficiente(7) = 5
coeficiente(8) = 4
coeficiente(9) = 3
coeficiente(10) = 2
cuit = Trim(cuit)
cuit_rearmado = ""
For i = 1 To Len(cuit) 'separo cualquier caracter que no tenga que ver con numeros
If Asc(Mid(cuit, i, 1)) >= 48 And Asc(Mid(cuit, i, 1)) <= 57 Then
cuit_rearmado = cuit_rearmado & Mid(cuit, i, 1)
End If
Next
cuit_rearmado = Trim(cuit_rearmado)
If Len(cuit_rearmado) <> 11 Then ' si to estan todos los digitos
MsgBox "No estan todos los digitos. ", vbDefaultButton1, "Error en el C.U.I.T."
Else
sumador = 0
verificador = Val(Mid(cuit_rearmado, 11, 1)) 'tomo el digito verificador
For i = 1 To 10
sumador = sumador + Val(Mid(cuit_rearmado, i, 1)) * coeficiente(i)
'separo cada digito y lo multiplico por el coeficiente
Next
resultado = sumador Mod 11
resultado = 11 - resultado 'saco el digito verificador
veri_nro = Val(verificador)
If veri_nro <> resultado Then
MsgBox "No coincide el digito verificador. " & Str(verificador), vbDefaultButton1, "Error en el C.U.I.T."
Else
cuit_rearmado = Mid(cuit_rearmado, 1, 2) & "-" & Mid(cuit_rearmado, 3, 8) & "-" & Mid(cuit_rearmado, 11, 1)
End If
End If
verifica_cuit = cuit_rearmado
End Function
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Para P.J

Publicado por P. J. (706 intervenciones) el 07/10/2008 16:32:05
Uhmmm,

Para lo del coeficiente solo dejale 10, y declaras la variable verificador:

Dim coeficiente(10) As Integer
Dim verificador As Integer

Asi ya no arroja errores, espero funcione.

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar