-
Notifications
You must be signed in to change notification settings - Fork 0
CPF Métodos
Anderson Marques Ribeiro edited this page Nov 12, 2018
·
6 revisions
-
class function CalcularDigito(ACPF: AnsiString; out ADigito: AnsiString): Boolean;
ACPF
: número do CPF sem os dois dígitos verificadores.
ADigito
: string com os dois dígitos, resultado da operação (caso o número passado seja válido).
Resultado: true se o número do CPF for válido.
Exceções: nenhuma.
Calcula os dígitos verificadores para o número de CPF passado ao método, caso o número fornecido seja válido.
Ex.:
var
strDigital: AnsiString;
begin
TCPF.CalcularDigito('123456789', strDigito);
Writeln(strDigito); // Imprime 09.
end;
-
class function ValidarCPF(ACPF: AnsiString): Boolean; static;
ACPF
: string com conteúdo para validação;
Resultado: true o conteúdo é válido.
Exceções: nenhuma.
Verifica se a string passada ao método contém um número de CPF válido. Esta validação consistem em determinar se o conteúdo da string contém apenas dígitos válidos, se a quantidade deles está correta (11 ou 14) e se os dois últimos dígitos (dígito verificador) estão corretos.
A string pode ou não conter dígitos de formatação, mas a inclusão destes dígitos não pode ser parcial.
Ex.:
var
blnValido: Boolean;
begin
blnValido := TCPF.ValidarCPF('12345678900'); // Válido
blnValido := TCPF.ValidarCPF('123.456.789-00'); // Válido
blnValido := TCPF.ValidarCPF('123.456789-00'); // Inválido
end;
-
class function Extrair(ATexto: AnsiString; out AResultado: TDadosExtraidosArray): Integer; static;
ATexto
: string cujo conteúdo deverá ser pesquisado;
AResutado
: armazena estruturas do tipo TDadosExtraidosRec, que armazenam dados de um CPF individual que foi encontrado;
Resultado: número de CPFs que foram encontrados na string.
Exceções: nenhuma.
Realiza busca em uma string e obtém todos os número de CPF nele contidos, preenchendo AResultado com os dados obtidos.
Ex.:
var
adeResultado: TDadosExtraidosArray;
i: Integer;
begin
SetLength(adeResultado, 0);
Writeln('Foram encontrados %.d CPFs', [TCPF.Extrair(ATexto, adeResultado)], ':');
// Para cada CPF encontrado é obtido o número, sua posição dentro da string e se, apesar de o número em si ser
// ---- válido, se seu dígito verificador está correto.
for i := 0 to High(adeResultado) do
with adeResultado[i] do
begin
Writeln('CPF: ', Dados, ' Posição: ', Posicao, ' ');
if Valido then
Writeln('Válido')
else
Writeln('Inválido');
end;
end;