none
Consulta CEP

Respostas

  • Consegui....

    Segue o Código para Quem tiver a mesma Dúvida...

    Primeiro tem que criar uma classe com o nome 'downloadURL' e com o seguinte código.

    Imports

     

    System.Text
    Imports System.IO
    Imports System.Net
    Public Class DownloadURL
    Private m_strURL As String

     

    Public Sub defineURL1(ByVal strURL As String)
    m_strURL = strURL
    End Sub

     

    Public Sub downloadURL(ByRef strConteudo As String)

     

    Dim req As WebRequest = WebRequest.Create(m_strURL)
    Dim res As WebResponse = req.GetResponse()
    Dim iTotalBuffer As Integer = 0
    Dim Buffer(128) As [Byte]
    Dim stream As Stream = res.GetResponseStream()
    iTotalBuffer = stream.Read(Buffer, 0, 128)
    Dim strRes As New StringBuilder("")
    While iTotalBuffer <> 0
    strRes.Append(Encoding.ASCII.GetString(Buffer, 0, iTotalBuffer))
    iTotalBuffer = stream.Read(Buffer, 0, 128)
    End While
    strConteudo = strRes.ToString()
    End Sub
    End
    Class

    Depois no evento Leave do TextBoxCEP, coloquei o códido que faz a pesquisa no site ceplivre.pc2consultoria.com, e Retorna o resultado em XML para os TxtRua, TxtBairro, Etc...

    Código

    Private

     

    Sub MTxtCep_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles MTxtCep.Leave

     

    Dim caminho As String = "D:\Projetos VS\LocarVeiculos\LocarVeiculos\LocarVeiculos\bin\ceplivre.xml" 'Caminho do Arquivo XML
    Dim Arquivo As String 'Nome do Arquivo XML
    Dim fluxoTexto As IO.StreamWriter 'Objeto para Gravar no Arquivo XML o Response strOUTURL para Consulta do Cep
    txturl = "http://ceplivre.pc2consultoria.com/index.php?module=cep&cep=" & MTxtCep.Text & "&formato=xml"
    'MessageBox.Show(txturl)
    web.defineURL1(txturl) 'Passando a URL para o Mtodo
    web.downloadURL(strOut) 'Recebendo a Resposta XML do Mtodo
    'MessageBox.Show(strOut)
    'Criando o Arquivo XML
    Arquivo = "ceplivre.xml" 'Nome do Arquivo XML
    fluxoTexto = New IO.StreamWriter(Arquivo) 'Objeto para Gravao do contedo XML
    fluxoTexto.Write(strOut) 'Gravando "Write" o response strOut no Arquivo XML
    fluxoTexto.Close() 'Fechando o Arquivo
    arquivoxml = New XmlTextReader("ceplivre.xml") 'Instanciando o Objeto XML com o response do Site
    arquivoxml.ReadStartElement("ceplivre") 'Parando na TAG principal do Arquivo XML
    Do While arquivoxml.Read() 'Loop para passar por todas as Tags do arquivo XML
    If arquivoxml.Name = "sucesso" Then 'Entrando na Tag sucesso
    itemsucesso = arquivoxml.ReadString
    If itemsucesso = "0" Then 'Se a Tag sucesso for 0"zero" no existe CEP
    MessageBox.Show("Cep no Encontrado !!!")
    arquivoxml.Close()
    Exit Do
    End If
    Else
    If arquivoxml.Name = "tipo_logradouro" Then
    TextBoxRua.Text = arquivoxml.ReadString
    ElseIf arquivoxml.Name = "logradouro" Then
    TextBoxRua.Text = TextBoxRua.Text & " " & arquivoxml.ReadString
    ElseIf arquivoxml.Name = "bairro" Then
    TextBoxBairro.Text = arquivoxml.ReadString
    ElseIf arquivoxml.Name = "cidade" Then
    TextBoxCidade.Text = arquivoxml.ReadString
    ElseIf arquivoxml.Name = "estado_sigla" Then
    TextBoxUF.Text = arquivoxml.ReadString
    End If
    End If
    Loop
    arquivoxml.Close()
    TextBoxNumero.Focus()
    End Sub

    • Marcado como Resposta JARBAS PEREIRA terça-feira, 11 de maio de 2010 20:06
    terça-feira, 11 de maio de 2010 20:06

Todas as Respostas

  • SIm vc pode usar o webservices do correios.
    terça-feira, 11 de maio de 2010 14:42
    Moderador
  • A resposta é SIM, mas vc poderia dar um pouco mais de detalhes? Existem varias formas de fazer isso...

     

    Mas primeiro: qual é a fonte de dados do se CEP?

     

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    SOGI INFORMATIQUE LTÉE (http://www.sogi.com)
    terça-feira, 11 de maio de 2010 14:42
    Moderador
  • sim, lembrando que vc tera que estudar Manipulação de XML para poder desenvolver seu codigo, pq o site dos correios retorna em XML e se nao me engano deve ter outras opções, mas eu utilizo XML por se rmais facil a manipulação .
    Rafael Fernandes D Orazio
    terça-feira, 11 de maio de 2010 14:43
  • Aqui amigo.
    Veja se te ajuda

    http://imasters.uol.com.br/artigo/4649/aspnet/busca_por_cep/

    Ah, o webservice do correio "free" para office é esse
    http://consultacep.correios.com.br/office2003/Query.asmx (pode usar de boa)

    Mas o webservice deles normal, é pago. (50 conto).

    Fkaeh - Gambi.NET® Framework Certificated 2010
    terça-feira, 11 de maio de 2010 14:47
  • Consegui....

    Segue o Código para Quem tiver a mesma Dúvida...

    Primeiro tem que criar uma classe com o nome 'downloadURL' e com o seguinte código.

    Imports

     

    System.Text
    Imports System.IO
    Imports System.Net
    Public Class DownloadURL
    Private m_strURL As String

     

    Public Sub defineURL1(ByVal strURL As String)
    m_strURL = strURL
    End Sub

     

    Public Sub downloadURL(ByRef strConteudo As String)

     

    Dim req As WebRequest = WebRequest.Create(m_strURL)
    Dim res As WebResponse = req.GetResponse()
    Dim iTotalBuffer As Integer = 0
    Dim Buffer(128) As [Byte]
    Dim stream As Stream = res.GetResponseStream()
    iTotalBuffer = stream.Read(Buffer, 0, 128)
    Dim strRes As New StringBuilder("")
    While iTotalBuffer <> 0
    strRes.Append(Encoding.ASCII.GetString(Buffer, 0, iTotalBuffer))
    iTotalBuffer = stream.Read(Buffer, 0, 128)
    End While
    strConteudo = strRes.ToString()
    End Sub
    End
    Class

    Depois no evento Leave do TextBoxCEP, coloquei o códido que faz a pesquisa no site ceplivre.pc2consultoria.com, e Retorna o resultado em XML para os TxtRua, TxtBairro, Etc...

    Código

    Private

     

    Sub MTxtCep_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles MTxtCep.Leave

     

    Dim caminho As String = "D:\Projetos VS\LocarVeiculos\LocarVeiculos\LocarVeiculos\bin\ceplivre.xml" 'Caminho do Arquivo XML
    Dim Arquivo As String 'Nome do Arquivo XML
    Dim fluxoTexto As IO.StreamWriter 'Objeto para Gravar no Arquivo XML o Response strOUTURL para Consulta do Cep
    txturl = "http://ceplivre.pc2consultoria.com/index.php?module=cep&cep=" & MTxtCep.Text & "&formato=xml"
    'MessageBox.Show(txturl)
    web.defineURL1(txturl) 'Passando a URL para o Mtodo
    web.downloadURL(strOut) 'Recebendo a Resposta XML do Mtodo
    'MessageBox.Show(strOut)
    'Criando o Arquivo XML
    Arquivo = "ceplivre.xml" 'Nome do Arquivo XML
    fluxoTexto = New IO.StreamWriter(Arquivo) 'Objeto para Gravao do contedo XML
    fluxoTexto.Write(strOut) 'Gravando "Write" o response strOut no Arquivo XML
    fluxoTexto.Close() 'Fechando o Arquivo
    arquivoxml = New XmlTextReader("ceplivre.xml") 'Instanciando o Objeto XML com o response do Site
    arquivoxml.ReadStartElement("ceplivre") 'Parando na TAG principal do Arquivo XML
    Do While arquivoxml.Read() 'Loop para passar por todas as Tags do arquivo XML
    If arquivoxml.Name = "sucesso" Then 'Entrando na Tag sucesso
    itemsucesso = arquivoxml.ReadString
    If itemsucesso = "0" Then 'Se a Tag sucesso for 0"zero" no existe CEP
    MessageBox.Show("Cep no Encontrado !!!")
    arquivoxml.Close()
    Exit Do
    End If
    Else
    If arquivoxml.Name = "tipo_logradouro" Then
    TextBoxRua.Text = arquivoxml.ReadString
    ElseIf arquivoxml.Name = "logradouro" Then
    TextBoxRua.Text = TextBoxRua.Text & " " & arquivoxml.ReadString
    ElseIf arquivoxml.Name = "bairro" Then
    TextBoxBairro.Text = arquivoxml.ReadString
    ElseIf arquivoxml.Name = "cidade" Then
    TextBoxCidade.Text = arquivoxml.ReadString
    ElseIf arquivoxml.Name = "estado_sigla" Then
    TextBoxUF.Text = arquivoxml.ReadString
    End If
    End If
    Loop
    arquivoxml.Close()
    TextBoxNumero.Focus()
    End Sub

    • Marcado como Resposta JARBAS PEREIRA terça-feira, 11 de maio de 2010 20:06
    terça-feira, 11 de maio de 2010 20:06