Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
Sekur Aprendiz

Registrado: Sexta-Feira, 3 de Julho de 2009 Mensagens: 148
|
Enviada: Sex Ago 07, 2009 4:48 pm Assunto: Validando CEP pela internet |
|
|
Galera, Alguem sabe como se faz para a minha aplicação validar CEP ou endereço pela internet? |
|
Voltar ao Topo |
|
 |
ronylegal Novato


Registrado: Segunda-Feira, 27 de Novembro de 2006 Mensagens: 33
|
Enviada: Sex Ago 07, 2009 4:53 pm Assunto: |
|
|
Tu precisa fazer uma aplicação pra consumir o web service dos correios, talvez no site dos correios tenha algumas informações. |
|
Voltar ao Topo |
|
 |
edmargasjunior Novato

Registrado: Quarta-Feira, 28 de Janeiro de 2009 Mensagens: 41
|
Enviada: Sex Ago 07, 2009 5:08 pm Assunto: |
|
|
Meu camagada é o seguinte coloque na saída do seu campo "CEP".
Código: |
procedure TFRM_Cliente.DB_CEPExit(Sender: TObject);
var
Resposta: TStringStream;
begin
if (DB_CEP.Text = '') or (Length(DB_CEP.Text) < 8) then
begin
Application.MessageBox('CEP nulo ou inválido.', 'Erro - Aviso do Sistema', mb_iconwarning+mb_ok);
exit;
end;
Resposta := TStringStream.Create('');
TSConsulta := TStringList.Create;
IdHTTP.Request.UserAgent:='Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV2';
TSConsulta.Values['&cep'] := DB_CEP.Text;
TSConsulta.Values['&formato'] := 'xml';
IdHTTP.Post('http://cep.republicavirtual.com.br/web_cep.php?', TSConsulta, Resposta);
XMLBuscaCEP.Active := True;
XMLBuscaCEP.Encoding := 'iso-8859-1';
XMLBuscaCEP.LoadFromStream(Resposta);
ComboDB_TipoEndereco.Text := XMLBuscaCEP.DocumentElement.ChildNodes['tipo_logradouro'].NodeValue;
DB_Logradouro.Text := XMLBuscaCEP.DocumentElement.ChildNodes['tipo_logradouro'].NodeValue+' '+XMLBuscaCEP.DocumentElement.ChildNodes['logradouro'].NodeValue;
DB_Bairro.Text := XMLBuscaCEP.DocumentElement.ChildNodes['bairro'].NodeValue;
ComboDB_Cidade.Text := XMLBuscaCEP.DocumentElement.ChildNodes['cidade'].NodeValue;
TSConsulta.Free;
Resposta.Free;
XMLBuscaCEP.Active := False;
end;
|
Acrescente dois componentes TXMLDocuments e o TIdHTTP, neste segundo componente basta configurar o mesmo para sua rede, tipo proxy, etc...
Espero ter ajudado, qualquer coisa posta ai.  _________________ Edmar Junior |
|
Voltar ao Topo |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
|
Voltar ao Topo |
|
 |
Sekur Aprendiz

Registrado: Sexta-Feira, 3 de Julho de 2009 Mensagens: 148
|
Enviada: Qua Ago 12, 2009 6:05 pm Assunto: |
|
|
Perfeito! O codigo funcionou muito bem!
A não ser a linha 'if (ECEP.Text = '') or (Length(ECEP.Text) <8> 8 ) then' que eu tive que mudar para 'if (ECEP.Text = '') or (Length(ECEP.Text) <8 ) then'. Fora isso, show de bola.
Agradeço muito galera!
|
|
Voltar ao Topo |
|
 |
Sekur Aprendiz

Registrado: Sexta-Feira, 3 de Julho de 2009 Mensagens: 148
|
|
Voltar ao Topo |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Qui Ago 13, 2009 12:57 am Assunto: |
|
|
Amigo isto infelizmente nem é culpa minha do codigo ter saido errado e sim do prprio site que ao postar corrompe o mesmo com outras coisas, parecer ter haver com alguns scripts html...
bye _________________ P.O.W.E.R B.Y D.E.L.P.H.I |
|
Voltar ao Topo |
|
 |
Sekur Aprendiz

Registrado: Sexta-Feira, 3 de Julho de 2009 Mensagens: 148
|
Enviada: Qui Ago 13, 2009 10:20 am Assunto: |
|
|
Ah, que isso...
To muito grato pelo auxilio.
Mesmo assim, alguem sabe se essa base é confiavel? |
|
Voltar ao Topo |
|
 |
harleydk Profissional

Registrado: Quinta-Feira, 4 de Setembro de 2008 Mensagens: 635
|
Enviada: Qui Ago 13, 2009 10:27 am Assunto: |
|
|
é sim, implementei essa mesma rotina no sistema da empresa a bastante tempo e nenhum cliente nunca reclamou.
boto fé |
|
Voltar ao Topo |
|
 |
Sekur Aprendiz

Registrado: Sexta-Feira, 3 de Julho de 2009 Mensagens: 148
|
Enviada: Qui Ago 13, 2009 2:39 pm Assunto: |
|
|
harleydk escreveu: | é sim, implementei essa mesma rotina no sistema da empresa a bastante tempo e nenhum cliente nunca reclamou.
boto fé |
É mesmo? Que bom!
Outra duvida. Esta base de dados é constantemente atualizada? |
|
Voltar ao Topo |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Qui Ago 13, 2009 4:21 pm Assunto: |
|
|
Amigo se vc procurar não encontrará outra base para consulta, algumas ficam no ar por algum tempo e depois saem do ar repentinamente, seria exigir demais uma base atualizada, mesmo pq a base é copyrighted dos correios e eles cobram por esta informacao, sendo que para consultar o webservice dos correios sem vc hackea-lo tem de pagar pelo acesso aos servicos de CEP, mesmo pq esta base dos correios tem de ser mantida, sem receber por isto fica dificil manter uma base tao grande...
Vc pode baixar uma base no emule, basta procurar, tem cerca de 100 mb, 30 mb compactado e cerca de 700000 ceps...
bye _________________ P.O.W.E.R B.Y D.E.L.P.H.I |
|
Voltar ao Topo |
|
 |
harleydk Profissional

Registrado: Quinta-Feira, 4 de Setembro de 2008 Mensagens: 635
|
Enviada: Qui Ago 13, 2009 5:31 pm Assunto: |
|
|
ou faz o que o johnny-walker falou ou pode comprar dos correios tb... |
|
Voltar ao Topo |
|
 |
edmargasjunior Novato

Registrado: Quarta-Feira, 28 de Janeiro de 2009 Mensagens: 41
|
Enviada: Sex Ago 14, 2009 10:19 am Assunto: |
|
|
O código que inseri já uso tem dois anos +-, e funciona tranquilamente, infelizmente não é tão atualizada assim.
Os correios vendem CD's com essa base de dados, até 2002 ainda era distribuido gratuitamente essa base para quem quisesse, mas agora só pagando e não é muito caro não.
Abração, qualquer coisa posta ai!  _________________ Edmar Junior |
|
Voltar ao Topo |
|
 |
Sekur Aprendiz

Registrado: Sexta-Feira, 3 de Julho de 2009 Mensagens: 148
|
Enviada: Seg Ago 17, 2009 11:12 am Assunto: |
|
|
Eu encontrei um webservice da KingHost. Para utliza-lo é necessario contratar um plano deles. Fora o fato de ele ser pago, alguem conhece alguma desvantagem nele ou não me aconcelharia a utiliza-lo?
Outra duvida. Alguem conhece algum webservice que funcione ao contrario? Ao inves de inserir um CEP para obter o endereço, inserir um endereço para obter um CEP. |
|
Voltar ao Topo |
|
 |
|