|
|
|
|
|
Dicas
|
|
Visual Basic (Validações)
|
|
|
Título da Dica: Validar Título de Eleitor
|
|
|
|
Postada em 29/11/2002 por Rodrigo Duarte
rofedu@bol.com.br
Private Function TituloOK(s As String) As Boolean
Dim DV1 As Integer Dim DV2 As Integer Dim i As Integer Dim Total As Integer Dim Resto As Integer Dim Resto2 As Integer Dim Numero As String Numero = "" For i = Len(s) To 12 Numero = Numero + "0" Next Numero = Numero + s TituloOK = False DV1 = ((CInt(Mid(Numero, 1, 1)) * 2) + _ (CInt(Mid(Numero, 2, 1)) * 9) + _ (CInt(Mid(Numero, 3, 1)) * 8) + _ (CInt(Mid(Numero, 4, 1)) * 7) + _ (CInt(Mid(Numero, 5, 1)) * 6) + _ (CInt(Mid(Numero, 6, 1)) * 5) + _ (CInt(Mid(Numero, 7, 1)) * 4) + _ (CInt(Mid(Numero, 8, 1)) * 3) + _ (CInt(Mid(Numero, 9, 1)) * 2)) Resto = DV1 Mod 11 If Resto = 1 Then DV1 = 0 Else If Resto = 0 Then If (((Mid(Numero, 10, 2)) = "01") Or ((Mid(Numero, 10, 2)) = "02")) Then DV1 = 1 Else DV1 = 0 End If Else DV1 = 11 - Resto End If End If DV2 = ((CInt(Mid(Numero, 10, 1)) * 4) + (CInt(Mid(Numero, 11, 1)) * 3) + (DV1 * 2)) Resto2 = DV2 Mod 11 If Resto2 = 1 Then DV2 = 0 Else If Resto2 = 0 Then If (((Mid(Numero, 10, 2)) = "01") Or ((Mid(Numero, 10, 2)) = "02")) Then DV2 = 1 Else DV2 = 0 End If Else DV2 = 11 - Resto2 End If End If If Mid(Numero, 12, 2) = (CStr(DV1) + CStr(DV2)) Then TituloOK = True End If
End Function
|
|
|
|
|