none
Buscar Endereço pelo CEP no C#

    Question

  • Achei o seguinte código, mas não sei como utilizar:

     

        public String[] pegaEnderecoPeloCEP(String cep)
        {
          String[] aux = { "", "", "", "", "" };
          aux[4] = "Não foi encontrado um resultado";
          if (cepExiste(cep))
          {
            string urlSite = string.Format(
            @"http://www.buscarcep.com.br/?cep={0}&formato=xml"
            , cep);
    
            // Variavel para ler o XML.
            XmlTextReader lerXML = new XmlTextReader(urlSite);
    
            // Strins que vão receber o nó e o valor do XML
            string sNode;
            string sValue;
            // Retorno da ação da busca
            string sResultado = "";
    
            // Verifica se o nó atual é um conteúdo de nó.
            lerXML.MoveToContent();
    
            do
            {
              sNode = lerXML.Name;
              if (lerXML.NodeType == XmlNodeType.Element)
              {
                lerXML.Read();
                sValue = lerXML.Value;
                // Recebe o nome do campo strTempName
                switch (sNode)
                {
                  case "tipo_logradouro":
                    aux[0] = sValue + " ";
                    break;
                  // pega o logradouro
                  case "logradouro":
                    //atribui valor ao componente
                    aux[0] += sValue;
                    break;
                  // pega o bairro
                  case "bairro":
                    //atribui valor ao componente
                    aux[1] = sValue;
                    break;
                  // pega a cidade
                  case "cidade":
                    //atribui valor ao componente
                    aux[2] = sValue;
                    break;
                  // pega o uf
                  case "uf":
                    //atribui valor ao componente
                    aux[3] = sValue;
                    break;
                  // pega o resultado
                  case "resultado":
                    //atribui valor a string que será tratada
                    sResultado = sValue;
                    break;
                }
    
                // Aqui damos um tratamento no resultado
                switch (sResultado)
                {
                  // esses valores são retornos possiveis do site BuscaCEP
                  case "1":
                    aux[4] = "Cep encontrado!";
                    break;
                  case "-1":
                    aux[4] = "Cep não encontrado!";
                    break;
                  case "-2":
                    aux[4] = "Formato de CEP inválido";
                    break;
                  case "-3":
                    aux[4] = @"Busca de CEP congestionada.
     Aguarde alguns segundos e tente novamente.";
                    break;
                  case "":
                    aux[4] = "Não foi encontrado um resultado";
                    break;
                }
              }
            } while (lerXML.Read()); // ate chegar no final do XML faça!
            return aux;
          }
    
          return aux;
        }
    

     

    Sou bem leigo, tentei fazer isso pra utilizar mas não deu !

     

     private bool cepExiste(string cep)
    
        {
    
          throw new NotImplementedException();
    
        }
    
    
    
        private void mtxtCepCli_Leave(object sender, EventArgs e)
    
        {
    
          pegaEnderecoPeloCEP(Convert.ToString(mtxtCepCli.Text));
    
        }
    

     

    Quero procurar o cep, que está no mtxtCepCli

    E jogar o endereço nos seguintes textboxs:

    Cidade: cboCidadeCli

    Estado: cboEstadoCli

    Bairro: txtBairroCli

    Endereço: txtEndCli

    Friday, October 15, 2010 2:52 AM

Answers

  • Ola , este metodo (pegaEnderecoPeloCEP) utiliza um webservice chamado BuscarCep, tbm usava ese web service. Em sintese, ele busca um endereco na web, mandando no proprio endereco o cep(parte la de cima do http:// ...) , ele te retorna um Array de string , na posicao 0 vc encontra o logradouro, 1 = bairro,2=cidade,3=uf,4=o status do pedido(se foi processado corretamente , se foi encontrado , tudo mais),

    IMPORTANTE!!   Para vc usar esse WebService agora vc precisa fazer uma cadastro , com este cadastro vc recebe uma chave, e esta chave vc precisa colocar la no endereco (parte la de cima do http:// ...).

    Espero ter sido util, flw

     

    • Proposed as answer by Viktor JSP Friday, October 15, 2010 6:11 AM
    • Marked as answer by Harley AraujoOwner Tuesday, October 19, 2010 5:25 PM
    Friday, October 15, 2010 6:11 AM