Skip to content

CPF Operadores

Anderson Marques Ribeiro edited this page Nov 14, 2018 · 3 revisions

Índice

  1. AnsiString para TCPF
  2. TCPF para AnsiString
  3. Equal
  4. NotEqual

  1. class operator Implicit(ACPF: AnsiString): TCPF;
    Valor: TCPF.
    Exceções: classe ECPF, código(s): ceStringCPFInvalida.
    A string fornecida para este operador de conversão deve ser o CPF completo, inclusive com os dois dígitos verificadores. Internamente é feito o cálculo dos dígitos que corresponde ao número do CPF, que posteriormente irá ser comparado com os dígitos fornecidos. Se não coincidirem, uma exceção é lançada.
    Ex.:
var
  cpf: TCPF;
begin
  cpf := '12345678909';
  Writeln(cpf.Formatado); // Imprime 123.456.789-09
  cpf := '12345678908';   // Lança uma exceção, pois o dígito verificador está incorreto.
  cpf := '1234567809';    // Lança uma exceção, pois faltam dígitos do número (10 e não 11).
  cpf := '123456789X9';   // Lança uma exceção, pois há uma letra na string.
end;

  1. class operator Implicit(ACPF: TCPF): AnsiString;
    Valor: AnsiString.
    Exceções: nenhuma.
    Ex.:
var
  cpf: TCPF;
begin
  cpf.Numero := '123456789';
  Writeln(AnsiString(cpf)); // Imprime 12345678909.
end;

  1. class operator Equal(ACPF1, ACPF2: TCPF): Boolean;
    Valor: True se o conteúdo dos dois CPFs forem iguais.
    Exceções: nenhuma.

  1. class operator NotEqual(ACPF1, ACPF2: TCPF): Boolean;
    Valor: True se o conteúdo dos dois CPFs forem diferentes.
    Exceções: nenhuma.