Fórum Validar CPF e Cnpj #229307

02/05/2004

0

Alguem poderia me ajuar a validar um CPF e um CNPJ, em um edit.
Quando a pessoa acabasse de digitar os numeros ele ja validace o mesmo.
Obrigado.


Luis Fernando

Luis Fernando

Responder

Posts

02/05/2004

Otto

Olá. segue abaixo:;;


function TForm.VerificaCpf(cpf: String): Boolean; 
//Esta procedure é usada para verificar se um CPF existe. 
//Se o resultado for false o cpf é invalido.Se nada foi digitato ou se o cpf for valido o resultado é true. 
var   n1, n2, n3, n4, n5, n6, n7, n8, n9, d1, d2 : integer; 
   digitado, calculado : string; 
begin 
             if not(cpf = ´´)then 
                begin 
                     if length(trim(cpf)) <> 11 then 
                        begin 
                             Result := False; 
                        end 
                     else 
                         begin 
                              n1 := StrToInt(cpf[1]); 
                              n2 := StrToInt(cpf[2]); 
                              n3 := StrToInt(cpf[3]); 
                              n4 := StrToInt(cpf[4]); 
                              n5 := StrToInt(cpf[5]); 
                              n6 := StrToInt(cpf[6]); 
                              n7 := StrToInt(cpf[7]); 
                              n8 := StrToInt(cpf[8]); 
                              n9 := StrToInt(cpf[9]); 

                              d1 := n9*2 + n8*3 + n7*4 + n6*5 + n5*6 + n4*7 + n3*8 + n2*9 +n1*10; 
                              d1 := 11 - (d1 mod 11); 
                              if d1 >= 10 then 
                                 d1 := 0; 

                              d2 := d1*2 + n9*3 + n8*4 + n7*5 + n6*6 + n5*7 + n4*8 + n3*9 + n2*10 +n1*11; 
                              d2 := 11 - (d2 mod 11); 
                              if d2 >= 10 then 
                                 d2 := 0; 

                              calculado:=IntToStr(d1)+ IntToStr(d2); 
                              digitado:=cpf[10]+ cpf[11]; 
                              if calculado <> digitado then 
                                 begin 
                                      result := FALSE; 
                                 end 
                              else result := TRUE; 
                         end; 
                end; 

end; 

----------------------------------- 


function TForm.VerificaCnpj(cnpj: String): Boolean; 
//Esta procedure é usada para verificar se um CGC existe. 
//Se o resultado for false o cnpj é inválido. Se nada foi digitato ou se o cgc for valido o resultado é true 
var n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, d1, d2 : integer; 
   digitado, calculado : string; 
begin 
            if not (cnpj = ´´) then 
                 begin 
                      if length(trim(cnpj))<> 14 then 
                         begin 
                              Result := False; 
                         end 
                      else 
                          begin 
                               n1 := StrToInt(cnpj[1]); 
                               n2 := StrToInt(cnpj[2]); 
                               n3 := StrToInt(cnpj[3]); 
                               n4 := StrToInt(cnpj[4]); 
                               n5 := StrToInt(cnpj[5]); 
                               n6 := StrToInt(cnpj[6]); 
                               n7 := StrToInt(cnpj[7]); 
                               n8 := StrToInt(cnpj[8]); 
                               n9 := StrToInt(cnpj[9]); 
                               n10 := StrToInt(cnpj[10]); 
                               n11 := StrToInt(cnpj[11]); 
                               n12 := StrToInt(cnpj[12]); 

                               d1 := n12*2 + n11*3 + n10*4 + n9*5 + n8*6+ n7*7 + n6*8 
                                     + n5*9 + n4*2 + n3*3 + n2*4 +n1*5; 
                               d1 := 11 - (d1 mod 11); 
                               if d1 >= 10 then d1 := 0; 

                               d2 := d1*2 + n12*3 + n11*4 + n10*5 + n9*6 + n8*7+ n7*8 
                                     + n6*9 + n5*2 + n4*3 + n3*4 + n2*5 +n1*6; 
                               d2 := 11 - (d2 mod 11); 
                               if d2 >= 10 then d2 := 0; 

                               calculado := IntToStr(d1) + IntToStr(d2); 
                               digitado := cnpj[13] + cnpj[14]; 
                               if calculado <> digitado then 
                                    result := FALSE 
                                  else 
                                    result := TRUE; 
                          end; 
                 end; 
end;



pra usar:

if VerificaCnpj(edit1.text) then ShowMessage(´CNPJ esta ok´);

e assim com o outro..


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar