PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 25 → Função Valida Renavan dígito verificador By Adriano Boller
Função Valida Renavan dígito verificador By Adriano Boller
Iniciado por Boller, 04,abr. 2023 18:13 - No hay respuesta
Miembro registrado
4.521 mensajes
Publicado el 04,abril 2023 - 18:13
PROCEDURE verificaDigitoVerificadorRenavam(renavamString)
LOCAL i, soma, resto, peso, digitoVerificadorCalculado, digitoVerificadorInformado
INTEGER_ARRAY pesos = [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5, 6, 7, 8, 9]

IF StringCount(renavamString) <> 11 THEN
RETURN False
END

digitoVerificadorInformado = Val(StringRight(renavamString, 1))

renavamSemDigito = StringLeft(renavamString, StringCount(renavamString) - 1)

soma = 0

FOR i = 1 TO StringCount(renavamSemDigito)
soma += Val(StringMid(renavamSemDigito, i, 1)) * pesos[StringCount(renavamSemDigito) - i + 1]
END

resto = soma % 11

IF resto = 0 OR resto = 1 THEN
digitoVerificadorCalculado = 0
ELSE
digitoVerificadorCalculado = 11 - resto
END

RETURN digitoVerificadorCalculado = digitoVerificadorInformado
END


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/