Posté le 18 novembre 2014 - 14:16 |
Procedure ValidaCPF(cpf)
cpf = LimpaCampo(cpf)
SWITCH cpf CASE "00000000000" cpf = "" RESULT(False) CASE "11111111111" cpf = "" RESULT(False) CASE "2222222222" cpf = "" RESULT(False) CASE "33333333333" cpf = "" RESULT(False) CASE "44444444444" cpf = "" RESULT(False) CASE "55555555555" cpf = "" RESULT(False) CASE "66666666666" cpf = "" RESULT(False) CASE "77777777777" cpf = "" RESULT(False) CASE "88888888888" cpf = "" RESULT(False) CASE "99999999999" cpf = "" RESULT(False) END
Soma is int Resto is int Digito_1, Digito_2 is int
Soma = (Val(Middle(cpf,1,1)) * 10) + ... (Val(Middle(cpf,2,1)) * 09) + ... (Val(Middle(cpf,3,1)) * 08) + ... (Val(Middle(cpf,4,1)) * 07) + ... (Val(Middle(cpf,5,1)) * 06) + ... (Val(Middle(cpf,6,1)) * 05) + ... (Val(Middle(cpf,7,1)) * 04) + ... (Val(Middle(cpf,8,1)) * 03) + ... (Val(Middle(cpf,9,1)) * 02)
Resto = Modulo(Soma, 11)
IF Resto = 0 OR Resto = 1 THEN Digito_1 = 0 ELSE Digito_1 = 11 - Resto END
Soma = (Val(Middle(cpf,01,1)) * 11) + ... (Val(Middle(cpf,02,1)) * 10) + ... (Val(Middle(cpf,03,1)) * 09) + ... (Val(Middle(cpf,04,1)) * 08) + ... (Val(Middle(cpf,05,1)) * 07) + ... (Val(Middle(cpf,06,1)) * 06) + ... (Val(Middle(cpf,07,1)) * 05) + ... (Val(Middle(cpf,08,1)) * 04) + ... (Val(Middle(cpf,09,1)) * 03) + ... (Val(Middle(cpf,10,1)) * 02)
Resto = Modulo(Soma, 11)
IF Resto = 0 OR Resto = 1 THEN Digito_2 = 0 ELSE Digito_2 = 11 - Resto END
Resultado is string
Resultado = NumToString(Digito_1) + NumToString(Digito_2)
IF Val(Middle(cpf,10,2)) = Resultado THEN RESULT(True) ELSE RESULT(False) END |
| |
| |
|