Re: [delphi-br] Validacao de PIS
Boa tarde! Já tentou usar o ACBRValidador? Baixa o pacote de componentes da ACBR e utiliza esse componente. Boa sorte. Ulisses - Original Message - From: Eny Urias To: delphi-br@yahoogrupos.com.br Sent: Tuesday, July 07, 2009 1:41 PM Subject: Res: [delphi-br] Validacao de PIS eu tb achei essa funcao... mas nao funciona no Delphi 2007... isso sem falar que essa funcao nao prevê a digitação de um numero diferente de digitos... mesmo assim obrigada pela atencao De: Alisson Yahoo Para: delphi-br@yahoogrupos.com.br Enviadas: Terça-feira, 7 de Julho de 2009 12:57:40 Assunto: Re: [delphi-br] Validacao de PIS Pra que componente? É uma rotina muito simples. Pesquisei na internet e achei uma função pra validar PIS: function TForm1.ConferePis( sPis: String): Boolean; var i, iSoma, iAux, iDigito: Integer; begin iSoma := 0; iAux := 2; for i := 1 to 10 do begin iSoma := iSoma + (iAux * StrToInt(Copy( sPis, 11-i, 1))); if iAux < 9 then iAux := iAux+1 else iAux := 2; end; iDigito := 11 - (iSoma mod 11); if iDigito > 9 then iDigito := 0; Result := StrToInt(Copy( sPis, 11, 1)) = iDigito; if not Result then MessageDlg(' Pis inválido!', mtWarning, [mbOK], 0); end; Eu tenho essa outra pra conferir CPF. Eu chamo no evento OnExit do componente: function ConfereCPF(Edit : TCustomEdit) : Boolean; var n1,n2,n3,n4, n5,n6,n7, n8,n9,d1, d2: Integer; Digitado, Calculado, Num : String; begin ConfereCpf := True; Num := Edit.Text; Num := StringReplace( Num, '.', '', [rfReplaceAll] ); Num := StringReplace( Num, '-', '', [rfReplaceAll] ); Num := StringReplace( Num, '_', '', [rfReplaceAll] ); if (Trim(Num) <> '') then 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]; ConfereCpf := Calculado = Digitado; if (Calculado <> Digitado) then begin Edit.SetFocus; raise exception.Create( 'CPF não confere!'); end; end; end; _ _ _ _ __ Faça ligações para outros computadores com o novo Yahoo! Messenger http://br.beta. messenger. yahoo.com/ __ Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: Res: [delphi-br] Validacao de PIS
Pessoal, Por um descuido meu (não olho meu blog há uns 2 meses) os links do rapidshare estavam quebrados, mas já corrigi isso hoje. Desculpem pelos inconvenientes. Eny Urias escreveu: > > > eu tb achei essa funcao... mas nao funciona no Delphi 2007... isso sem > falar que essa funcao nao prevê a digitação de um numero diferente de > digitos... > > mesmo assim obrigada pela atencao > > > De: Alisson Yahoo mailto:alssnco%40yahoo.com.br>> > Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> > Enviadas: Terça-feira, 7 de Julho de 2009 12:57:40 > Assunto: Re: [delphi-br] Validacao de PIS > > Pra que componente? É uma rotina muito simples. Pesquisei na internet e > achei uma função pra validar PIS: > > function TForm1.ConferePis( sPis: String): Boolean; > var i, iSoma, iAux, iDigito: Integer; > begin > iSoma := 0; > iAux := 2; > for i := 1 to 10 do > begin > iSoma := iSoma + (iAux * StrToInt(Copy( sPis, 11-i, 1))); > if iAux < 9 then > iAux := iAux+1 > else > iAux := 2; > end; > > iDigito := 11 - (iSoma mod 11); > if iDigito > 9 then > iDigito := 0; > > Result := StrToInt(Copy( sPis, 11, 1)) = iDigito; > if not Result then > MessageDlg(' Pis inválido!', mtWarning, [mbOK], 0); > end; > > Eu tenho essa outra pra conferir CPF. Eu chamo no evento OnExit do > componente: > > function ConfereCPF(Edit : TCustomEdit) : Boolean; > var n1,n2,n3,n4, n5,n6,n7, n8,n9,d1, d2: Integer; > Digitado, Calculado, Num : String; > begin > ConfereCpf := True; > Num := Edit.Text; > Num := StringReplace( Num, '.', '', [rfReplaceAll] ); > Num := StringReplace( Num, '-', '', [rfReplaceAll] ); > Num := StringReplace( Num, '_', '', [rfReplaceAll] ); > > if (Trim(Num) <> '') then > 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]; > ConfereCpf := Calculado = Digitado; > if (Calculado <> Digitado) then > begin > Edit.SetFocus; > raise exception.Create( 'CPF não confere!'); > end; > end; > end; > > _ _ _ _ __ > Faça ligações para outros computadores com o novo Yahoo! Messenger > http://br.beta. messenger. yahoo.com/ > > __ > Veja quais são os assuntos do momento no Yahoo! +Buscados > http://br.maisbuscados.yahoo.com <http://br.maisbuscados.yahoo.com> > > [As partes desta mensagem que não continham texto foram removidas] > > -- []’s. Evandro Siqueira Programador de Sistemas L’essentiel Lingerie (79) 3254-5511 Ramal 218 skype: evandro.lessentiel -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Res: [delphi-br] Validacao de PIS
eu tb achei essa funcao... mas nao funciona no Delphi 2007... isso sem falar que essa funcao nao prevê a digitação de um numero diferente de digitos... mesmo assim obrigada pela atencao De: Alisson Yahoo Para: delphi-br@yahoogrupos.com.br Enviadas: Terça-feira, 7 de Julho de 2009 12:57:40 Assunto: Re: [delphi-br] Validacao de PIS Pra que componente? É uma rotina muito simples. Pesquisei na internet e achei uma função pra validar PIS: function TForm1.ConferePis( sPis: String): Boolean; var i, iSoma, iAux, iDigito: Integer; begin iSoma := 0; iAux := 2; for i := 1 to 10 do begin iSoma := iSoma + (iAux * StrToInt(Copy( sPis, 11-i, 1))); if iAux < 9 then iAux := iAux+1 else iAux := 2; end; iDigito := 11 - (iSoma mod 11); if iDigito > 9 then iDigito := 0; Result := StrToInt(Copy( sPis, 11, 1)) = iDigito; if not Result then MessageDlg(' Pis inválido!', mtWarning, [mbOK], 0); end; Eu tenho essa outra pra conferir CPF. Eu chamo no evento OnExit do componente: function ConfereCPF(Edit : TCustomEdit) : Boolean; var n1,n2,n3,n4, n5,n6,n7, n8,n9,d1, d2: Integer; Digitado, Calculado, Num : String; begin ConfereCpf := True; Num := Edit.Text; Num := StringReplace( Num, '.', '', [rfReplaceAll] ); Num := StringReplace( Num, '-', '', [rfReplaceAll] ); Num := StringReplace( Num, '_', '', [rfReplaceAll] ); if (Trim(Num) <> '') then 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]; ConfereCpf := Calculado = Digitado; if (Calculado <> Digitado) then begin Edit.SetFocus; raise exception.Create( 'CPF não confere!'); end; end; end; _ _ _ _ __ Faça ligações para outros computadores com o novo Yahoo! Messenger http://br.beta. messenger. yahoo.com/ Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Validacao de PIS
Apenas um aparte: O componente não valida apenas o PIS.Valida também CNPJ, CPF, Titulo de Eleitor e RENAVAM. É um componente não visual com fontes, de grátis, e que pode ser facilmente transformado em uma classe. Quem quiser utilizá-lo, pode ficar a vontade. Ele na verdade é uma compilação de várias rotinas de validação de documentos e achei útil colocar tudo em um único lugar. Me atendeu bastante bem e achei que poderia ser de alguma utilidade para os caros colegas. Caso não seja, peço que me desculpem. Alisson Yahoo escreveu: > > > Pra que componente? É uma rotina muito simples. Pesquisei na internet e > achei uma função pra validar PIS: > > . > []’s. Evandro Siqueira Programador de Sistemas L’essentiel Lingerie (79) 3254-5511 Ramal 218 skype: evandro.lessentiel -- < FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM > <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] Validacao de PIS
Pra que componente? É uma rotina muito simples. Pesquisei na internet e achei uma função pra validar PIS: function TForm1.ConferePis(sPis: String): Boolean; var i, iSoma, iAux, iDigito: Integer; begin iSoma := 0; iAux := 2; for i := 1 to 10 do begin iSoma := iSoma + (iAux * StrToInt(Copy(sPis, 11-i, 1))); if iAux < 9 then iAux := iAux+1 else iAux := 2; end; iDigito := 11 - (iSoma mod 11); if iDigito > 9 then iDigito := 0; Result := StrToInt(Copy(sPis, 11, 1)) = iDigito; if not Result then MessageDlg('Pis inválido!', mtWarning, [mbOK], 0); end; Eu tenho essa outra pra conferir CPF. Eu chamo no evento OnExit do componente: function ConfereCPF(Edit : TCustomEdit) : Boolean; var n1,n2,n3,n4,n5,n6,n7,n8,n9,d1,d2: Integer; Digitado, Calculado, Num : String; begin ConfereCpf := True; Num := Edit.Text; Num := StringReplace(Num, '.', '', [rfReplaceAll]); Num := StringReplace(Num, '-', '', [rfReplaceAll]); Num := StringReplace(Num, '_', '', [rfReplaceAll]); if (Trim(Num) <> '') then 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]; ConfereCpf := Calculado = Digitado; if (Calculado <> Digitado) then begin Edit.SetFocus; raise exception.Create('CPF não confere!'); end; end; end; __ Faça ligações para outros computadores com o novo Yahoo! Messenger http://br.beta.messenger.yahoo.com/
Re: Res: [delphi-br] Validacao de PIS
Desculpe-me Eny. O link expirou e eu não percebi. segue o novo link: http://www.4shared.com/file/116529077/eac40fca/Docto.html ** Eny Urias escreveu: > > > o link não está funcionando... > > > De: Evandro Siqueira mailto:vansiqq%40gmail.com>> > Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> > Enviadas: Terça-feira, 7 de Julho de 2009 10:51:06 > Assunto: Re: [delphi-br] Validacao de PIS > > Pegue o componente TDocto no meu blog. http://vansiqq.blogspot.com/ > <http://vansiqq.blogspot.com/> > > Espero que ajude. > > Eny Urias escreveu: > > > > > > Alguem tem algum componente para validar PIS e CPF? Ja agradeço... > > > > . > -- > []’s. > > Evandro Siqueira > Programador de Sistemas > L’essentiel Lingerie > (79) 3254-5511 Ramal 218 > skype: evandro.lessentiel > > > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > __ > Veja quais são os assuntos do momento no Yahoo! +Buscados > http://br.maisbuscados.yahoo.com <http://br.maisbuscados.yahoo.com> > > [As partes desta mensagem que não continham texto foram removidas] > > -- []’s. Evandro Siqueira Programador de Sistemas L’essentiel Lingerie (79) 3254-5511 Ramal 218 skype: evandro.lessentiel
Res: [delphi-br] Validacao de PIS
o link não está funcionando... De: Evandro Siqueira Para: delphi-br@yahoogrupos.com.br Enviadas: Terça-feira, 7 de Julho de 2009 10:51:06 Assunto: Re: [delphi-br] Validacao de PIS Pegue o componente TDocto no meu blog. http://vansiqq.blogspot.com/ Espero que ajude. Eny Urias escreveu: > > > Alguem tem algum componente para validar PIS e CPF? Ja agradeço... > > . -- []’s. Evandro Siqueira Programador de Sistemas L’essentiel Lingerie (79) 3254-5511 Ramal 218 skype: evandro.lessentiel -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Validacao de PIS
Pegue o componente TDocto no meu blog. http://vansiqq.blogspot.com/ Espero que ajude. Eny Urias escreveu: > > > Alguem tem algum componente para validar PIS e CPF? Ja agradeço... > > . -- []’s. Evandro Siqueira Programador de Sistemas L’essentiel Lingerie (79) 3254-5511 Ramal 218 skype: evandro.lessentiel -- < FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM > <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[delphi-br] Validacao de PIS
Alguem tem algum componente para validar PIS e CPF? Ja agradeço... Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]