DevMedia
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
código fonte     post favorito     comentários

Consultando CEP utilizando componente ACBrCEP

Veja neste artigo como construir uma aplicação para consultar CEPs consumindo um WebServices utilizando o componente ACBrCEP.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você poderia comentar o que não lhe agradou?

Confirmo meu voto negativo

Bom pessoal esse é meu primeiro artigo e resolvi escrever sobre como construir uma aplicação de consulta de CEP de uma maneira bem simples, trabalhando com WebServices, vou demonstrar como construir uma aplicação de consulta de CEP utilizando o componente ACBrCEP. Com esse componente podemos consumir um WebServices disponível na Internet para consultar endereços completos, nesse exemplo vou utilizar o site: http://cep.republicavirtual.com.br/, que disponibiliza consultas gratuitas sem a necessidade de cadastro no site. Lembrando que como pré-requisito temos que instalar a suíte de componentes ACBr, onde serão disponibilizados vários componentes de grande utilidade para nós desenvolvedores.

Vamos construir a tela de consulta.

Adicione os seguintes componentes:

  • 8 TEdit (para exibirmos o resultado da consulta)
  • 8 TLabel (para identificar os campos)
  • 1 TButton (componente que vai enviar a consulta)
  • 1 TACBrCEP

Layout da tela de consulta

Figura 1. Layout da tela de consulta

No campo onde será informado o CEP para consulta, renomear o componente Edt para edtConsulta, os demais Edts renomeie de modo coerente com o resultado que será exibido.

Organize os componentes de modo que se entenda o resultado final da pesquisa, agora vamos preparar a consulta.

Temos que fazer algumas modificações no componente TACBrCEP, no Object Inspector preencher a propriedade WebService. Existem várias opções de WebServices de pesquisa, mas nesse exemplo vamos selecionar wsRepublicaVirtual onde automaticamente será preenchida a propriedade URL com o respectivo endereço.

Modificações nas propriedade do componente ACBrCEP

Figura 2. Modificações nas propriedade do componente ACBrCEP

Agora vamos codificar o botão para disparar a consulta, não é necessário muitas linhas para isso, o próprio componente ACBrCEP se encarrega do trabalho pesado, no evento OnClick do botão digite a linha a seguir:

Listagem 1: Esta listagem mostra a código do evento OnClick do botão Pesquisar

           
procedure TForm2.btn2Click(Sender: TObject);
begin
    ACBrCEP.BuscarPorCEP(edtConsulta.Text);
end;

Observação: Essa function recebe como parâmetro uma string contendo o CEP da consulta e retorna um inteiro com a quantidade de endereços encontrados, nesse caso vamos passar o componente edtConsulta.

Para finalizarmos temos que codificar a recepção dos resultados da pesquisa, ou seja, quando o WebService retornar o respectivo endereço teremos que capturar esse retorno no evento OnBuscaEfetuada do componente ACBrCEP, esse evento é disparado após a resposta do WebService.

Evento que recebe o retorno da consulta do componente ACBrCEP

Figura 3. Evento que recebe o retorno da consulta do componente ACBrCEP

O componente ACBrCEP retorna o resultado obtido na propriedade Enderecos, é muito difícil mas pode acontecer da consulta retornar mais de um endereço para o mesmo CEP, então nesse caso temos que criar um contador para recuperar os endereços. Nesse exemplo vamos considerar só o primeiro resultado o que seria o correto, caso contrário teríamos que exibir os resultados em um DBGrid.

Listagem 2: Esta listagem mostra a código do evento OnBuscaEfetuada

procedure TForm2.ACBrCEPBuscaEfetuada(Sender: TObject);
var
   i : integer;

begin
    for I := 0 to ACBrCEP.Enderecos.Count -1 do
    begiN
         edtCEP.Text         	:= ACBrCEP.Enderecos[i].CEP;
         edtLogradouro.Text   := ACBrCEP.Enderecos[i].Logradouro;
         edtComplemento.Text := ACBrCEP.Enderecos[i].Complemento;
         edtCidade.Text      	:= ACBrCEP.Enderecos[i].Municipio;
         edtUF.Text          	:= ACBrCEP.Enderecos[i].UF;
         edtBairro.Text      	:= ACBrCEP.Enderecos[i].Bairro;
         edtTipo.Text        	:= ACBrCEP.Enderecos[i].Tipo_Logradouro;
    end;
end;

Agora é só testar.

Testando e exibindo o resultado da consulta

Figura 4. Testando e exibindo o resultado da consulta

Como podemos perceber é muito simples construir uma consulta de CEPs usando o componente ACBrCEP, minha intenção com esse artigo não foi reinventar a roda pois existem várias maneiras de consumir WebServices para consulta de CEP, mas simplesmente mostrar as facilidades que podemos encontrar utilizando esse componente.

Espero que tenham apreciado, com isso finalizo mais um artigo e até a próxima.

Um Abraço.



Técnico em Informática, atualmente cursando Tecnologia em Análise e Desenvolvimento de Sistemas. Conhecimentos básicos nas linguagens Delphi, C#, PHP, Java, JQuery e CSS. Banco de dados Firebird, MySQL, PostgreSQL e SQLServer...

O que você achou deste post?
Conhece a assinatura MVP?
Publicidade
Serviços

Mais posts