Skip to content

CPF Propriedades

Anderson Marques Ribeiro edited this page Nov 13, 2018 · 7 revisions

Índice

  1. Numero
  2. Dígito
  3. Formatado
  4. Estado

  1. 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;

  1. 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;

  1. 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;

  1. 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;