Pesquisar C.E.P

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Pesquisar C.E.P

Mensagem por HASA »

Olá pessoal, será que tem jeito de pesquisar e capturar os dados de um cep direto do site dos correios, sem abrir janelas tudo em segundo plano ?
:%
Honório
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: PESQUISAR C.E.P

Mensagem por sygecom »

Olá Honorio,
Do site dos correios eu não sei, mas veja se o exemplo em anexo lhe ajuda.

Obs:Estou usando e esta funcionando muito bem até agora.

Abraços
Leonardo Machado
Anexos
cep.rar
Consulta CEP ON-LINE
(919 Bytes) Baixado 315 vezes
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Re: PESQUISAR C.E.P

Mensagem por HASA »

Valeu Leo, :D
Creio que outros colegas estão usando também pois no News do Xharbour Espanhol postaram para mim tbm , realmente é show, valeu mais uma vez,
:{
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Re: Pesquisar C.E.P

Mensagem por rochinha »

Amiguinhos

Um ajuste adicional.

Código: Selecionar todos

...
      oPg := TOLEAuto():New("Microsoft.XMLHTTP")
      oPg:Open("GET","http://cep.republicavirtual.com.br/web_cep.php?cep=" + cCep + "&formato=xml",.F.)
      oPg:Send()
      cBuf := oPg:ResponseText // responseBody // Response Body nao funcionou com Windows Server 2003 e SOAP Toolkit 3.0

      oXMLDoc := TOLEAUTO():New("Microsoft.XMLDOM") 
      oXMLDoc:async := .f. 
      lSuccess := oXMLDoc:loadXML( cBuf ) 

      x := oXMLDoc:getElementsByTagName( "webservicecep" ) 
      if oXMLDoc:getElementsByTagName( "resultado" ):Item(0):Text <> "1"
         ? "Nenhum resultado foi retornado."
      else
         ?oXMLDoc:getElementsByTagName( "uf" ):Item(0):Text
         ?oXMLDoc:getElementsByTagName( "cidade" ):Item(0):Text
         ?oXMLDoc:getElementsByTagName( "bairro" ):Item(0):Text
         ?oXMLDoc:getElementsByTagName( "tipo_logradouro" ):Item(0):Text
         ?oXMLDoc:getElementsByTagName( "logradouro" ):Item(0):Text
      endif
...
Neste caso faço uso do SOAP Toolkit para me trazer o conteudo das tags do XML usando XMLDOM.

O uso de xmlHTTP se deve ao fato do MSXML esta bem instalado e atualizado, portanto pode não funcionar a contento caso o S.O. não esteja com atualizações em dia.

Para ver de forma mais pratica o uso deste esquema vejam o exemplo abaixo:

Lembro que meu sistema é composto de Windows Server 2003 SP2 e .NET 1.0 e 2.0 e SOAP Toolkit 3.0.

Codigo exemplo:

Código: Selecionar todos

...
Function main() 

    local RespText, objXMLHTTP 

    oXMLDoc := TOLEAUTO():New("Microsoft.XMLDOM") 
      
    // Allow the document to complete loading 
    oXMLDoc:async := .f. 

    lSuccess := oXMLDoc:load( "books.xml" ) 

    x := oXMLDoc:getElementsByTagName( "book" ) 
    y := oXMLDoc:getElementsByTagName( "author" ) 

    for i = 1 to x:length 
        agendamentoDetails := x 
        ? agendamentoDetails:Item(i-1):NodeName + " = " + agendamentoDetails:Item(i-1):Text 
        ? y:Item(i-1):Text 
    next 

   return nil 
...


Tabela XML:

Código: Selecionar todos

<?xml version="1.0" encoding="ISO-8859-1"?> 
<bookstore> 
   <book category="COOKING"> 
      <title lang="en">Everyday Italian</title> 
      <author>Giada De Laurentiis</author> 
      <year>2005</year> 
      <price>30.00</price> 
   </book> 
   <book category="CHILDREN"> 
      <title lang="en">Harry Potter</title> 
      <author>J K. Rowling</author> 
      <year>2005</year> 
      <price>29.99</price> 
   </book> 
   <book category="WEB"> 
      <title lang="en">XQuery Kick Start</title> 
      <author>James McGovern</author> 
      <year>2003</year> 
      <price>49.99</price> 
   </book> 
   <book category="WEB"> 
      <title lang="en">Learning XML</title> 
      <author>Erik T. Ray</author> 
      <year>2003</year> 
      <price>39.95</price> 
   </book> 
   <book> 
      <title lang="en">Learning XML</title> 
      <author>Erik T. Ray</author> 
      <year>2003</year> 
      <price>39.95</price> 
   </book> 
</bookstore> 
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Re: Pesquisar C.E.P

Mensagem por HASA »

:))
Obrigado,
Valeu !!
Responder