Existe alguma forma de validação de RG??????
14/03/2003
0
mas preciso urgente de um componente ou alguma rotina de validação de RG!!!!!
Valeu ai pessoal!!!!
Anonymous
Post mais votado
14/03/2003
Infelizmente, digo, felizmente, RG não tem formatação lógica. Ele é geraldo pela SSP (Secretaria de Segurança Pública) de cada Estado do Brasil, número após número, ou seja não há como saber se existem um RG inesistente ou falso, a não ser que seje consultado no cadastro do Estado onde foi feito o RG.
Resumidamente, não existe formatação lógica!!!!
t+
:wink: :wink: :wink:
Marcelo
Mais Posts
14/03/2003
Anonymous
14/03/2003
Anonymous
Basta vc acessar o banco de dados da secretaria de emissão de RG e efetuar as devidas validações que vc deseja....
:twisted:
14/03/2003
Aroldo Zanela
Gustavo,
A única forma de validar um RG que eu conheço é presencial, ou seja, olhando para a foto do camarada. (coisa que ninguém faz - nem em posto de gasolina). O máximo que você pode implementar é que o campo seja obrigatório e a validação um processo operacional, conforme já falei acima.
14/03/2003
Carnette
Bom temos o seguinte algoritimo de validação que é o seguinte:
function validaRG(qRg : String):Boolean;
var
p1,p2,p3 : string[3];
p4 : string[1];
v1,v2,v3,v4,vTotal : integer;
begin
// desmenbrar o RG em 4 partes sendo que a 4a parte só em um digito
p1 := Copy(qRg,1,3);
p2 := Copy(qRg,4,3);
p3 := Copy(qRg,7,3);
p4 := Copy(qRg,10,1);
// agora somanos os valores de p1 p2 p3 com o p4
v1 := StrToInt(p1) + StrToInt(p4);
v2 := StrToInt(p2) + StrToInt(p4);
v3 := StrToInt(p3) + StrToInt(p4);
v4 := StrToInt(p4) + StrToInt(p4);
// agora somanos todos os resultados juntos
vTotal := v1+v2+v3+v4;
// agora tiramos a enésima parte da raiz quadrada de 3.7881 elevada na potencia 32
vTotal := int(9 * power(Sqrt(3.7881),2));
/// agora testaremos se deu tudo certo
if vTotal = 0 then Result := False //não é um RG
else Result := True ///é um RG
end;
Espero que tenha esclarecido sua duvida...Boa programação...
E, lembre-se....Programação sem bom-humor, NÃO DÁ CERTO... :lol:
14/03/2003
Zoom
O problema :( é que o que o Marcelo disse está correto, não existe um padrão nacional, cada estado adota o que quiser. Acho que ,não tenho certeza, em Minas não tem dígito verificador, por exemplo.
15/03/2003
Anonymous
Bom temos o seguinte algoritimo de validação que é o seguinte:
function validaRG(qRg : String):Boolean;
var
p1,p2,p3 : string[3];
p4 : string[1];
v1,v2,v3,v4,vTotal : integer;
begin
// desmenbrar o RG em 4 partes sendo que a 4a parte só em um digito
p1 := Copy(qRg,1,3);
p2 := Copy(qRg,4,3);
p3 := Copy(qRg,7,3);
p4 := Copy(qRg,10,1);
// agora somanos os valores de p1 p2 p3 com o p4
v1 := StrToInt(p1) + StrToInt(p4);
v2 := StrToInt(p2) + StrToInt(p4);
v3 := StrToInt(p3) + StrToInt(p4);
v4 := StrToInt(p4) + StrToInt(p4);
// agora somanos todos os resultados juntos
vTotal := v1+v2+v3+v4;
// agora tiramos a enésima parte da raiz quadrada de 3.7881 elevada na potencia 32
vTotal := int(9 * power(Sqrt(3.7881),2));
/// agora testaremos se deu tudo certo
if vTotal = 0 then Result := False //não é um RG
else Result := True ///é um RG
end;
Espero que tenha esclarecido sua duvida...Boa programação...
E, lembre-se....Programação sem bom-humor, NÃO DÁ CERTO... :lol:[/quote:a4b69c9755]
15/03/2003
Marcelo
Bom temos o seguinte algoritimo de validação que é o seguinte:
function validaRG(qRg : String):Boolean;
var
p1,p2,p3 : string[3];
p4 : string[1];
v1,v2,v3,v4,vTotal : integer;
begin
// desmenbrar o RG em 4 partes sendo que a 4a parte só em um digito
p1 := Copy(qRg,1,3);
p2 := Copy(qRg,4,3);
p3 := Copy(qRg,7,3);
p4 := Copy(qRg,10,1);
// agora somanos os valores de p1 p2 p3 com o p4
v1 := StrToInt(p1) + StrToInt(p4);
v2 := StrToInt(p2) + StrToInt(p4);
v3 := StrToInt(p3) + StrToInt(p4);
v4 := StrToInt(p4) + StrToInt(p4);
// agora somanos todos os resultados juntos
vTotal := v1+v2+v3+v4;
// agora tiramos a enésima parte da raiz quadrada de 3.7881 elevada na potencia 32
vTotal := int(9 * power(Sqrt(3.7881),2));
/// agora testaremos se deu tudo certo
if vTotal = 0 then Result := False //não é um RG
else Result := True ///é um RG
end;
Espero que tenha esclarecido sua duvida...Boa programação...
E, lembre-se....Programação sem bom-humor, NÃO DÁ CERTO... :lol:[/quote:ff64d9262a]
olha cara,,, eu tenho muito respeito em corelação a voce, mas vece vai me desculpar, mas RG nao tem formatação, por exemplo, como voce aplicaria essa formula em um RG de MinasGerais : MG-11.658.456 usando essa mesma formula validar um RG do RioJaneiro: 8.654.928 me responde essa ai?
15/03/2003
Thematrix:reloaded
o cara ta tirando onda, esta validaçao nao existe,
o numero do RG e um codigo sequencial sem digito verificador,
o documento usado para validaçao deve ser o CPF que tem abrangencia
nacional e digito verificador, valeu?
15/03/2003
Aroldo Zanela
Pessoal,
Foi só uma brincadeira do Carnette, que ficou clara na última linha de sua mensagem.
15/03/2003
Carnette
Pessoal,
Foi só uma brincadeira do Carnette, que ficou clara na última linha de sua mensagem.[/quote:82a0385274]
Poxa....Pensei que niguem tinha sacado a brincadeira...Ainda bem que sempre tem alguém bem humorado..
Valeu Zanela.... :lol:
Clique aqui para fazer login e interagir na Comunidade :)