Jump to content
Fivewin Brasil

Consulta cep ou endereço em WebService - xHarbour


kapiaba

Recommended Posts

Galera alguém tem algo assim em FiveWin?


// Consulta cep ou endereço em WebService - xHarbour



#DEFINE CRLF chr(13)+chr(10)
#INCLUDE "FILEIO.CH"

Function Main()

Local nDll , pApi
Local cCepOrigem := Space(9)
Local cCepDestino:= Space(9)
Local nPeso := 0

Clear
Set Color to 'ww/BB+'
Clear
@ 00,00 say padc('Consulta de Tarifa Via correio ',80) Color('R+/NN+')
@ 01,00 say padc('xHarbour 99.70',80) Color('GB+/NN+')

@ 24,00 say padc('Joao Frazato ( sistema_jaf@hotmail.com)',80) Color('N/NN+')

@ 10,10 say 'Nr. Cep Remetente :' Get cCepOrigem Pict "@R 99.999-999"
@ 12,10 say 'Nr. Cep Destino :' Get cCepDestino Pict "@R 99.999-999"
@ 14,10 say 'Peso :' get nPeso Pict "@EZ 999.999"
Read
If LastKey()==27
Return nil
endif

cUrl := 'http://www.correios.com.br/encomendas/precos/calculo.cfm?cepOrigem='+;
Alltrim(cCepOrigem)+;
'&cepDestino='+;
Alltrim(cCepDestino)+;
'&peso='+StrZero(nPeso,11,3)

cComando:= cUrl

If VereficaNet( 'www.correios.com.br' )==.f.
Alert('Problema com o Site .....http://www.correios.com.br')
Return Nil
Endif

Try
oHttp := CreateObject("winhttp.winhttprequest.5.1")
oHttp:Open("GET",cUrl,.f.)
oHttp:Send()
cResp1 := oHttp:ResponseText()
Catch
Return cResp
End Try
nPos := At('&Tarifa=',cResp1)
nPos1 := At('&erro=',cResp1)

cValor := Substr(cResp1,nPos+8,nPos1-1)
Alert('Valor Encomenda :'+Transf(val(cValor),"@EZ 999,999.99") )
*memoedit(cResp1)
Centra(24,'')
Return ( Nil )

Function Centra(cLin,cMsg)
@ cLin,00 say Padc(cMsg,24)
Return nil

//----------------------------------------------
Function VereficaNet( cAddress )

LOCAL aHosts
LOCAL cName

InetInit()

IF cAddress == NIL
cAddress := "www.google.com.br"
ENDIF

aHosts := InetGetHosts( cAddress )

IF aHosts == NIL .or. len(aHosts)=0
InetCleanup()
RETURN .f.
endif

InetCleanup()

RETURN (.T.)


Abs

Link to comment
Share on other sites

Bom dia Kapiaba

Você pode usar o seguinte web service:

http://m.correios.com.br/movel/buscaCepConfirma.do?cepEntrada=<CEP_Pesquisado>&metodo=buscarCep

Esse web service é dos correios, e é gratuito!!! Óia que bença =)

Ele também retorna uma lista de Ceps de uma determinada faixa de CEPs, exemplo: http://m.correios.com.br/movel/buscaCepConfirma.do?cepEntrada=13610&metodo=buscarCep

Quando é assim, basta você navegar entre as páginas usando o método &metodo=proximo&numPagina=<número_da_página>.

Exemplo: http://m.correios.com.br/movel/buscaCepConfirma.do?cepEntrada=13610&metodo=proximo&numPagina=3

Com isso você cria uma aplicação que crie um objeto XMLHTTP( basta procurar aqui no fórum que tem exemplos do uso desse objeto ) e ser feliz ^^

Feliz Natal amiguinhos ^_^

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...