VB .NET - Usando
um serviço web para localizar CEP
![]() |
Hoje veremos como usar um serviço web para localizar CEPs. (O serviço estava funcional no momento da escrita do artigo mas pode ser descontinuado.) |
Você já deve ter ouvido a expressão : "Reinventar a roda"
![]() |
Reinventar a roda é duplicar um método básico que já foi há muito testado e aceitado e considerado comum.
Como um bom desenvolvedor estamos sempre procurando soluções criativas e eficientes mas quando temos algo pronto e que já foi extensivamente testado e que funciona porque não usar ?
Afinal porque reinventar a roda ?
É isso que eu mostro neste artigo : a utilização de uma solução disponível a todos (de domínio público) que funciona e que podemos usar em nossas soluções.
Vou mostrar como usar o web service disponibilizado em http://www.republicavirtual.com.br/cep/ para localizar o cep em uma aplicação VB .NET.
No site citado a cima você encontra como usar o serviço e alguns códigos de exemplos.
Neste artigo vou criar uma aplicação Windows Forms e usar o serviço para localizar informações a partir de um CEP informado.
Vamos precisar do Visual Basic 2010 Express Edition ou Visual Studio 2010 e de uma conexão com a internet.
Abra o Visual Basic .NET 2010 Express Edition e crie um novo projeto do tipo WIndows Forms Application com o nome LocalizarCEP;
A seguir no formulário padrão form1.vb inclua os seguintes controles:
Conforme o leiaute da figura abaixo:
![]() |
A aplicação é muito simples e funciona assim:
Para fazer a aplicação funcionar dessa forma vamos incluir o código abaixo no evento Click do controle PictureBox picLocalizar:
Private Sub picLocalizar_Click(sender As System.Object, e As System.EventArgs) Handles picLocalizar.Click Try Dim ds As New DataSet() Dim xml As String = "http://cep.republicavirtual.com.br/web_cep.php?cep=@cep&formato=xml".Replace("@cep", txtCEP.Text) ds.ReadXml(xml) txtEndereco.Text = ds.Tables(0).Rows(0)("logradouro").ToString() txtBairro.Text = ds.Tables(0).Rows(0)("bairro").ToString() txtCidade.Text = ds.Tables(0).Rows(0)("cidade").ToString() txtUF.Text = ds.Tables(0).Rows(0)("uf").ToString() Catch ex As Exception MessageBox.Show(ex.Message, "Erro") End Try End Sub
|
No código acima criamos um DataSet e a seguir usamos o web service passando as informações no formato exigido:
Dim ds As New DataSet()
Dim xml As String = "http://cep.republicavirtual.com.br/web_cep.php?cep=@cep&formato=xml".Replace("@cep",
txtCEP.Text)
A seguir lemos o retorno no formato XML e obtemos as informações exibindo-as nos controles TextBox:
ds.ReadXml(xml)
txtEndereco.Text = ds.Tables(0).Rows(0)("logradouro").ToString()
txtBairro.Text = ds.Tables(0).Rows(0)("bairro").ToString()
txtCidade.Text = ds.Tables(0).Rows(0)("cidade").ToString()
txtUF.Text = ds.Tables(0).Rows(0)("uf").ToString()
Para limpar os TextBox do formulário temos o código abaixo no evento Click do botão Limpar:
Private Sub btnLimpar_Click(sender As System.Object, e As System.EventArgs) Handles btnLimpar.Click LimparTextboxes() txtCEP.Focus() End Sub |
A rotina LimparTextboxes() tem o seguinte código:
Private Sub LimparTextboxes() For Each txt As Control In Me.Controls If TypeOf txt Is TextBox Then txt.Text = "" End If Next End Sub |
O código do botão Sair é dado abaixo:
Private Sub btnSair_Click(sender As System.Object, e As System.EventArgs) Handles btnSair.Click Me.Close() End Sub |
Executando o projeto e informando um CEP iremos obter o seguinte resultado:
![]() |
Pegue o projeto completo aqui:
LocalizarCep.zip
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 ? |
Rom 8:7
Porquanto a inclinação da carne é inimizade contra Deus, pois não é sujeita à lei de Deus, nem em verdade o pode ser;Rom 8:8
e os que estão na carne não podem agradar a Deus.Rom 8:9
Vós, porém, não estais na carne, mas no Espírito, se é que o Espírito de Deus habita em vós. Mas, se alguém não tem o Espírito de Cristo, esse tal não é dele.Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
ASP .NET - Exibindo um vídeo do YouTube dentro de ... - Macoratti.net