Skip to content

CNPJ Operadores

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

Índice

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

  1. class operator Implicit(ACNPJ: TCNPJ): AnsiString;
    Valor: string contendo o CNPJ, sem formatação.
    Exceções: nenhuma.
    Ex.:
var
  cnpj: TCNPJ;
begin
  cnpj.Numero := '12345678';
  Writeln(AnsiString(cnpj)); // Imprime 12345678000195
end;

  1. class operator Implicit(ACNPJ: AnsiString): TCNPJ;
    Valor: estrutura CNPJ com os dados contidos em ACNPJ.
    Exceções: class: ECNPJ, código(s): ceStringCNPJInvalida.
    A string passada deve conter o CNPJ completo, inclusive o dígito verificador.
    Os caracteres de formatação podem ou não estar presentes, mas se estiverem, não podem ser incompletos, ou a string é considerada inválida e uma exceção é lançada.
    Ex.:
var
  cnpj: TCNPJ;
begin
  cnpj := '123456789000195';
  Writeln(cnpj.Formatado);     // Imprime 12.345.678/0001-95
  cnpj := '1234567800195';     // Lança uma exceção, pois o número está incorreto (falta um dígito).
  cnpj := '12.345.6780001-95'; // Lança uma exceção, pois faltam caracteres de formatação.
  cnpj := '123456789X00195';   // Lança uma exceção, pois há uma letra na string.
end;

  1. class operator Equal(ACNPJ1, ACNPJ2: TCNPJ): Boolean;
    Valor: True se o conteúdo dos dois CNPJs forem iguais.
    Exceções: nenhuma.

  1. class operator NotEqual(ACNPJ1, ACNPJ2: TCNPJ): Boolean;
    Valor: True se o conteúdo dos dois CNPJs forem diferentes.
    Exceções: nenhuma.