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.
Quando a pessoa acabasse de digitar os numeros ele ja validace o mesmo.
Obrigado.
Luis Fernando
Curtir tópico
+ 0
Responder
Posts
02/05/2004
Otto
Olá. segue abaixo:;;
pra usar:
e assim com o outro..
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
Clique aqui para fazer login e interagir na Comunidade :)