C#  -  Preenchendo os dados do endereço a partir do CEP


 Neste artigo vou mostrar como preencher os dados de um endereço a partir do CEP de forma automática usando uma biblioteca que acessa dados do correio e que será instalada via Nuget.

O Nuget é um gerenciador de pacotes fantástico que facilita a vida do desenvolvedor. Através deles temos acesso a centenas de bibliotecas com recursos que podemos usar em nossas aplicações.

Neste artigo eu vou mostrar como preencher os dados do endereço a partir do CEP usando uma biblioteca obtida via Nuget.

Vamos criar uma aplicação Windows Forms Application usando o Visual Studio 2015 Community usando a linguagem C# com o nome WF_BuscaCep.

No formulário form1.cs do projeto inclua os seguintes controles :

  • 5 Labels
  • 5 TextBox : txtCep, txtEstado, txtCidade, txtBairro, txtRua
  • 1 Button : btnEncerrar
  • 1 PictureBox

Disponha os controles conforme o leiaute da figura abaixo:

A seguir vamos incluir uma referência em nosso projeto à biblioteca que vai acessar os dados do endereço a partir do CEP.

No menu Tools -> Nuget Package Manager clique em Manage Nuget Packages for Solution;

Clique na guia Browse e informe o nome correios;

A  seguir selecione a biblioteca Correios.CEP.Net, marque todos os projetos e clique no botão Install:

Usando a biblioteca

Agora basta usar os recursos da biblioteca que temos referenciada no projeto.

O objetivo é digitar o CEP e obter os dados do respectivo endereço exibidos nas caixas de texto.

Inclua a declaração do namespace abaixo no formulário:

using Correios.Net;

A implementação pode ser feita no evento Leave do TextBox txtCep de forma que ao terminar de digitar o CEP o evento será disparado executando o código deste evento. (Você pode implementar de diversas outras formas , ok !)

Inclua no evento Leave o código abaixo que chama o método LocalizaCEP():

 private void textCep_Leave(object sender, EventArgs e)
 {
            LocalizarCEP();
 }

O código do método LocalizarCEP() é dado a seguir:

        private void LocalizarCEP()
        {
            if (!string.IsNullOrWhiteSpace(txtCep.Text))
            {
                Address endereco = SearchZip.GetAddress(txtCep.Text);
                if (endereco.Zip != null)
                {
                    txtEstado.Text = endereco.State;
                    txtCidade.Text = endereco.City;
                    txtBairro.Text = endereco.District;
                    txtRua.Text = endereco.Street;
                }
                else
                {
                    MessageBox.Show("Cep não localizado...");
                }
            }
            else
            {
                MessageBox.Show("Informe um CEP válido");
            }
        }

O código usa o método estático GetAddress da classe SearchZip para obter as informações do endereço a partir do CEP.

Executando o projeto teremos o seguinte resultado:

Para mais informações sobre a biblioteca acesse o site do autor : https://github.com/hamboldt/Correios.Net

Pegue o projeto aqui :  WF_BuscaCep.zip

Jesus lhes respondeu, e disse: A minha doutrina não é minha, mas daquele que me enviou.
Se alguém quiser fazer a vontade dele, pela mesma doutrina conhecerá se ela é de Deus, ou se eu falo de mim mesmo.

João 7:16-17

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ?

 

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

 

Referências:


José Carlos Macoratti