Consultando CEP utilizando componente ACBrCEP

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

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.

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:


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.

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.

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.

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.

Confira também

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados