-
Notifications
You must be signed in to change notification settings - Fork 0
CPF Propriedades
Anderson Marques Ribeiro edited this page Nov 13, 2018
·
7 revisions
-
property Numero: AnsiString;
Acesso: leitura/gravação.
Valor: o número do CPF representado pela estrutura.
Exceções: classe ECPF, código(s): ceStringCPFInvalida.
O número representado por esta propriedade não contém o dígito verificador. Caso seu valor seja alterado, o dígito é automaticamente calculado e alterado internamente para refletir o novo número, caso um valor seja atribuído a propriedade.
IMPORTANTE: TCPF possui operadores de conversão implícita para que possa receber diretamente uma string como valor. Existe uma diferença entre usar esta conversão e a propriedade TCPF.Numero: a string passada diretamente para uma variável do tipo TCPF deverá conter os dígitos verificadores, e uma validação interna deste é realizada, gerando uma exceção caso esta falhe. A propriedade aqui descrita não deve receber o dígito verificador, pois estes serão calculados e atualizados.
Ex.:
var
cpf: TCPF;
strNumero: AnsiString;
begin
cpf.Numero := '123456789' // Apenas os 9 dígitos do número, sem considerar os dígitos verificadores.
Writeln(cpf.Digito); // Imprime 09, que é o dígito de verificação internamente calculado.
Writeln(cpf.Formatado) // Imprime 123.456.789-09.
cpf := '12345678910'. // Foi fornecido um número com o dígito incorreto: 10 e não 09.
// É lançado ECPF com código de erro ceStringCPFInvalida.
end;
-
function Digito: AnsiString; inline;
Acesso: somente leitura.
Valor: string contendo apenas os dois dígitos verificadores do CPF.
Exceções: nenhuma.
Ex.:
var
cpf: TCPF;
begin
cpf := '12345678909';
Writeln(cpf.Digito); // Imprime 09.
end;
-
function Formatado: AnsiString;
Acesso: somente leitura.
Valor: string contendo o CPF devidamente formatado para exibição.
Exceções: nenhuma.
Ex.:
var
cpf: TCPF;
begin
cpf := '12345678909';
Writeln(cpf.Formatado); // Imprime 123.456.789-09.
end;
-
function Estado: TEstadoArray;
Acesso: somente leitura.
Valor: lista com o(s) estado(s) onde o CPF foi(pode ter sido) expedido.
Exceções: nenhuma.
Ex.:
var
ae: TEstadoArray;
cpf: TCPF;
i: Integer;
begin
cpf := '12345678909';
ae := cpf.Estado;
for i := 0 to High(ae) do
Writeln(AnsiString(ae[i])); // Imprime PR (Paraná) e SC (Santa Catarina).
end;