Página 4 de 5

Consultar e Importar Cep da Internet para o Sistema.

Enviado: 13 Mar 2017 10:37
por Hasse
Bom dia Daniel.

Está acontecendo algo muito estranho com a aplicativo de busca do CEP:

Troquei o aplicativo de pasta, mas no mesmo drive;

1)-Se abro ele e fecho SEM digitar algo, ele fecha normalmente;
2)-Se digito algo e faço a busca, depois tento fechar a aplicativo trava;
3)-Se digito, e mesmo SEM fazer a busca, ao tentar sair também trava.

O quê está acontecendo de errado ?
Como contornar este problema ?

Testei em outro computador, remotamente, via Team Viewer, e funciona corretamente.

O remoto está com XP
O meu desktop está com W7.

Consultar e Importar Cep da Internet para o Sistema.

Enviado: 13 Mar 2017 12:17
por Daniel
Hasse
testei aqui e não apareceu este erro em nenhum dos pcs com xp, w7 e w10
só a troca de pasta não poderia causar erro, tentar compilar de novo

Consultar e Importar Cep da Internet para o Sistema.

Enviado: 14 Mar 2017 21:23
por Hasse
Boa noite Daniel.

Estou totalmente desorientado.

Ontem cheguei até a compilar o aplicativo diretamente na nova pasta e mesmo assim nada funcionava.

Hoje, por incrível que pareça, após nova compilação, tudo funciona corretamente.

Estou derretendo os neurônios desde a manhã de hoje, e não consigo explicar o ocorrido.

Não me resta outra opção, senão pedir desculpas, como também agradecer à você Daniel pela solicitude.

Consultar e Importar Cep da Internet para o Sistema.

Enviado: 14 Mar 2017 23:24
por JoséQuintas
Por acaso é Harbour e estava usando compatibilidade xHarbour?

Em Harbour dá pra simplificar:

Código: Selecionar todos

oServer := win_OleCreateObject( "MSXML2.ServerXMLHTTP" )
É selecionado automaticamente o que for necessário.

Consultar e Importar Cep da Internet para o Sistema.

Enviado: 15 Mar 2017 10:36
por Hasse
Bom dia Quintas.

Seguem os dados:
Compilado com MiniGui 3.4.3 - Harbour - MingW
Pacote MiniGui baixado em 09/06/2016.

Sintaxe usada: oServer:= win_OleCreateObject( "MSXML2.ServerXMLHTTP.6.0")
Na pasta Windows\System32\ tem a MSXML6.dll e MSXML6r.dll.

Consultar e Importar Cep da Internet para o Sistema.

Enviado: 06 Mai 2017 11:24
por gilbertosilverio
Ola Amigos,

O correio alterou a forma de buscar de rastreamento, como eu fazia, agora não funciona mais:

Código: Selecionar todos

xCH:="http://websro.correios.com.br/sro_bin/txect01$.QueryList?P_LINGUA=001&P_TIPO=001&P_COD_UNI="+alltrim(NCONHECI)

cCOMANDO := "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe -url "+alltrim(xCH)

xhbrun( cComando, .f., )

E possível usar a mesma regra desta rotina de busca de cep, pois pelo que vi, ela cria e lê paginas da web,

Da criar uma rotina para o rastreamento nestes moldes.

Grato.

Consultar e Importar Cep da Internet para o Sistema.

Enviado: 06 Mai 2017 18:49
por JoséQuintas
Sintaxe usada: oServer:= win_OleCreateObject( "MSXML2.ServerXMLHTTP.6.0")
Hasse, deixei passar sua mensagem.
Nem sempre é usada a versão 6.0

Do jeito que coloquei a seleção é automática.
Mas não é aceita do xHarbour, por isso perguntei sobre ele.

Caso seja necessária a versão 5.0, precisa instalar, porque é a única que não vém com Windows.

Sobre o post seguinte, não precisava do chrome pra isso.
Poderia usar a hbtip do Harbour, ou este mesmo serverXMLHTTP.
Não sei se trocando o esquema de download já faça diferença.

Consultar e Importar Cep da Internet para o Sistema.

Enviado: 07 Mai 2017 17:16
por Hasse
Boa tarde Quintas.

Agradeço a tua sempre providencial intervenção, pela boa vontade em sempre ajudar à nós, os menos experientes.

O aplicativo está funcionando perfeito.

Um fraternal abraço.

Consultar e Importar Cep da Internet para o Sistema.

Enviado: 15 Dez 2021 13:00
por mbrigatti
O URL da consulta nos correios mudou.

Alguém já viu isso ? Alguma dica ?

Consultar e Importar Cep da Internet para o Sistema.

Enviado: 15 Dez 2021 13:46
por Hasse
Também já percebi.
Ainda não sei qual o novo endereço.

Consultar e Importar Cep da Internet para o Sistema.

Enviado: 15 Dez 2021 13:50
por JoséQuintas
mbrigatti escreveu:O URL da consulta nos correios mudou.
Qual delas?
A manual ou o webservice?

Consultar e Importar Cep da Internet para o Sistema.

Enviado: 15 Dez 2021 14:19
por mbrigatti

Consultar e Importar Cep da Internet para o Sistema.

Enviado: 15 Dez 2021 14:25
por Itamar M. Lins Jr.
Olá!
Eu uso esse:
https://viacep.com.br/ws/01001000/xml/
Tem por json, xml...

Saudações,
Itamar M. Lins Jr.

Consultar e Importar Cep da Internet para o Sistema.

Enviado: 15 Dez 2021 16:51
por Hasse
Valeu meu caro Itamar.
Um bom Natal para TODOS os colegas.

Consultar e Importar Cep da Internet para o Sistema.

Enviado: 15 Dez 2021 21:14
por Itamar M. Lins Jr.
Olá!
A rotina p/ Harbour 3.2

Código: Selecionar todos

*********************
Function ChkCep(cCep)
*********************
*
*
Local cUf,cLogradouro,cBairro,cCidade,cTipoLogradouro
LOCAL cHtml, oNode, oDoc, cURL, oHTTP
If empty(cCep)
   hwg_Msginfo("Informe o CEP")
   return .f.
EndIf

cURL := "http://viacep.com.br/ws/"+ALLTRIM(cCep)+"/xml/"
oHTTP:= TIPClientHTTP():New( cURL )
   IF !oHTTP:Open()
      hwg_msginfo( "Erro conectando:", oHTTP:lastErrorMessage() )
      RETURN .F.
   ENDIF
   cHtml := hb_UTF8ToStr( oHTTP:ReadAll() )
   oHTTP:Close()
   oXML := TXMLDocument():New( cHtml, HBXML_STYLE_NOESCAPE )
   IF oXML:nError != HBXML_ERROR_NONE
      hwg_Msgstop( "xml com problema " + Str( oXML:nError ) )
      RETURN
   ENDIF
   oCEP := oXML:findfirst( "xmlcep" )
   IF oCEP == NIL
      hwg_Msgstop( "TAG cep não localizada." )
      RETURN
   ENDIF
   oDados := TXmlIterator():New( oCEP )

cUF :=""
cCID:=""
cBAI:=""
cLOG:=""
cRUA:=""

   DO WHILE .T.

      oCurrent := oDados:Next()
      IF oCurrent == NIL
         Exit
      ELSE
         IF oCurrent:cName == "logradouro"
            cRUA := oCurrent:cData 
         ELSEIF oCurrent:cName == "complemento"
            cCOMPLEMENTO := oCurrent:cData
         ELSEIF oCurrent:cName == "bairro"
            cBAI := oCurrent:cData
         ELSEIF oCurrent:cName == "localidade"
            cCID := Upper(oCurrent:cData)
         ELSEIF oCurrent:cName == "uf"
            cUF := oCurrent:cData
         ELSEIF oCurrent:cName == "ibge"
            cIBGE := oCurrent:cData
         ENDIF
      ENDIF            
   ENDDO

lResp:=.T.

IF lResp

   vCl14 := cRUA
   oCl14 : Refresh()
   vCl15 := cBAI
   oCl15 : Refresh()
   vCl17 := cCID
   oCl17 : Refresh()
   vCl19 := cUF 
   oCl19 : Refresh()

Else
   hwg_Msgstop("CEP inválido ou serviço indisponível.")
   return .f.
EndIf

Return .t.
Está para Hwgui, mas basta adaptar p/ qualquer LIB gráfica até console.

Saudações,
Itamar M. Lins Jr.