RenatoMejias Postado Junho 17, 2005 Denunciar Share Postado Junho 17, 2005 Então pessoal, uma vez eu vi uma coisa bem legal em um programa, o usuario digitava o CPF e o programa falava se o CPF existia ou não, e a mesma coisa com o CNPJ, alguém sabe aonde eu posso conseguir esse script, ou me escrever ele?Desde já eu agradeço... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Junho 17, 2005 Denunciar Share Postado Junho 17, 2005 E ae amigo eu tenho uma funçao mais não acho graça nela não, mesmo assim vai ai o codigo.function Critica_CGC(sNumCgc: String) : boolean;var I, J, nMod, nSubTotal, nTotal, nDv: Integer; sChar, sNumCgcCalc: String;begin Result := True; if sNumCgc = '' then Exit; sNumCgcCalc := Copy(sNumCgc,1,12); for I := 1 to 2 do begin nMod := 2; nTotal := 0; for J := Length(sNumCgcCalc) downto 1 do begin sChar := Copy(sNumCgcCalc, J, 1); nSubTotal := (StrToInt(sChar) * nMod); nTotal := nTotal + nSubTotal; inc(nMod); if nMod > 9 then nMod := 2; end; nDv := (11 - (nTotal mod 11)); if nDv > 9 then nDv := 0; sNumCgcCalc := sNumCgcCalc + IntToStr(nDv); end; Result := (sNumCgcCalc = sNumCgc);end;e na table no fields editor campo CNPJ no events OnValidade digite assim;procedure TForm2.Table1CNPJValidate(Sender: TField);beginif not Critica_CGC(table1cnpj.Value) then Raise Exception.Create('Numero do CNPJ inválido...');end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eder Postado Junho 17, 2005 Denunciar Share Postado Junho 17, 2005 bom...amigo..eu uso esta abaixo:VALIDAR CNPJ, CGC, CPFDECLARE LOGO ABAIXO DO PUBLICprivate { Private declarations } public { Public declarations } function cpf(num: string): boolean; function cgc(num: string): boolean; Coloque a função como esta logo abaixo: function TForm1.cpf(num: string): boolean; var n1,n2,n3,n4,n5,n6,n7,n8,n9: integer; d1,d2: integer; digitado, calculado: string; begin n1:=StrToInt(num[1]); n2:=StrToInt(num[2]); n3:=StrToInt(num[3]); n4:=StrToInt(num[4]); n5:=StrToInt(num[5]); n6:=StrToInt(num[6]); n7:=StrToInt(num[7]); n8:=StrToInt(num[8]); n9:=StrToInt(num[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:=num[10]+num[11]; if calculado=digitado then cpf:=true else cpf:=false; end; function TForm1.cgc(num: string): boolean; var n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12: integer; d1,d2: integer; digitado, calculado: string; begin n1:=StrToInt(num[1]); n2:=StrToInt(num[2]); n3:=StrToInt(num[3]); n4:=StrToInt(num[4]); // Retira cada numero do Edit, e joda p/ variavel n5:=StrToInt(num[5]); n6:=StrToInt(num[6]); n7:=StrToInt(num[7]); n8:=StrToInt(num[8]); n9:=StrToInt(num[9]); n10:=StrToInt(num[10]); n11:=StrToInt(num[11]); n12:=StrToInt(num[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:=num[13]+num[14]; if calculado=digitado then cgc:=true else cgc:=false; end; AGORA INSIRA UM BOTÃO PARA VERIFICAR O CGC procedure TForm1.Button1Click(Sender: TObject); begin If not cgc(Edit1.text) then //Se a funçao CGC retornar Falso, não libera o Focus Begin ShowMessage('CGC Inválido !!'); Edit1.SetFocus; End Else ShowMessage('CGC OK !!') end; AGORA INSIRA UM BOTÃO PARA VERIFICAR O CPF procedure TForm1.Button2Click(Sender: TObject); begin If not cpf(Edit2.text) then Begin ShowMessage('CPF Inválido !!'); Edit2.SetFocus; End Else ShowMessage('CPF OK !!') end; end.Espero ter ajudado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RenatoMejias Postado Junho 18, 2005 Autor Denunciar Share Postado Junho 18, 2005 E vou dar uma testada nesses códigos e assim que eu terminar eu posto aqui com o resultado. Obrigado mesmo... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Daianne Postado Março 3, 2007 Denunciar Share Postado Março 3, 2007 Então pessoal, uma vez eu vi uma coisa bem legal em um programa, o usuario digitava o CPF e o programa falava se o CPF existia ou não, e a mesma coisa com o CNPJ, alguém sabe aonde eu posso conseguir esse script, ou me escrever ele?Desde já eu agradeço... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Daianne Postado Março 3, 2007 Denunciar Share Postado Março 3, 2007 Então pessoal, uma vez eu vi uma coisa bem legal em um programa, o usuario digitava o CPF e o programa falava se o CPF existia ou não, e a mesma coisa com o CNPJ, alguém sabe aonde eu posso conseguir esse script, ou me escrever ele?Desde já eu agradeço...Não te conheço. mas se posso te ajudar não faz mal, então lá vai http://www.imasters.com.br/artigo/284 mas você também pod m ajudar, é só dizer como saber se o CPF está sujo ou não. Bjuxxx Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RenatoMejias Postado Março 4, 2007 Autor Denunciar Share Postado Março 4, 2007 Então Daiane, nem lembrava mais desse post, esse problema eu já resolvi faz um tempão, isso foi logo que comecei com programação. Você pergunta se tem como saber se o CPF é válido ou não. Isso é baseado em uma lógica matemática, então eu posso gerar um CPF falso porém matematicamente válido, a não ser que você tenha um banco de dados constantemente atualizado com os CPFs de cada brasileiro você não poderá fazer essa verificação. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
RenatoMejias
Então pessoal, uma vez eu vi uma coisa bem legal em um programa, o usuario digitava o CPF e o programa falava se o CPF existia ou não, e a mesma coisa com o CNPJ, alguém sabe aonde eu posso conseguir esse script, ou me escrever ele?
Desde já eu agradeço...
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.