Jump to content
Fivewin Brasil

Consulta CEP


SAOliveira

Recommended Posts

Atualmente faço a consulta de CEP, no site dos correios, abro a pagina e o usuario faz a consulta.

Alguem teria algo, para enviar os parametros direto do sistema

-------------------------------------------------------------------

Fwh,xH,Bcc,Mysql,SqlLib,Nfe By Gilmer

A estupidez é infinitamente mais fascinante que a inteligência; a inteligência tem seus limites, a estupidez não!

Link to comment
Share on other sites

Atualmente faço a consulta de CEP, no site dos correios, abro a pagina e o usuario faz a consulta.

Alguem teria algo, para enviar os parametros direto do sistema

-------------------------------------------------------------------

Fwh,xH,Bcc,Mysql,SqlLib,Nfe By Gilmer

A estupidez é infinitamente mais fascinante que a inteligência; a inteligência tem seus limites, a estupidez não!

Link to comment
Share on other sites


Local oPg, cBuf, tmp, aRet := array(7)

aFill(aRet,'')

cbuf :=space(255)

xcep := tiratraco(ccep)

mcepa = alltrim(tiratraco(ccepa))

mcepx = alltrim(tiratraco(ccep))

if mcepx <> mcepa

if mcepx <> "00000000"

if internet_ok("www.terra.com.br",80)

box_wvw_video(20,10,20,70,"Procurando CEP")

@ 20,12 say "Buscando na internet, Aguarde..."

if xCep <> "00000000"

mChaveCep = -- sua chave

oPg := CreateObject("Microsoft.XMLHTTP")

oPg:Open("GET","http://www.buscarcep.com.br/?cep=" + xCep + "&formato=xml&chave="+mChaveCep,.f.)

oPg:Send()

cBuf := oPg:responseBody

if rtrim(substr(cBuf, at('', cBuf)+15, 7)) <> "sucesso"

f_esper("CEP não encontrado, favor verificar....")

cBuf = space(255)

zrevwindow()

return .t.

endif

endif

mestado := upper(tiraacento(substr(cBuf, at('', cBuf) + 4, 2)))

mCidade := upper(tiraacento(substr(cBuf, at('', cBuf) + 8, at('', cBuf) - (at('', cBuf) + 8))))

mxBairro := upper(tiraacento(substr(cBuf, at('', cBuf) + 8, at('', cBuf) - (at('', cBuf) + 8))))

mxEndere := upper(tiraacento(substr(cBuf, at('', cBuf) + 17, at('', cBuf) - (at('', cBuf) + 17))))

mxendere+= " "+upper(tiraacento(substr(cBuf, at('', cBuf) + 12, at('', cBuf) - (at('', cBuf) + 12))))

if empty(mxEndere)

if no_yes("Cidade sem Logradouro nos Correios, Confirma troca ?") = "S"

mEndere := mxendere

mBairro := mxBairro

endif

else

mEndere := mxendere

mBairro := mxBairro

endif

mCod_cidade := upper(tiraacento(substr(cBuf,at('', cBuf) + 28, 07)))

mIbgeUF := upper(tiraacento(substr(cBuf, at('', cBuf)+ 9, 02)))

mendere := substr(mEndere+space(40),1,40)

mBairro := substr(mBairro+space(30),1,40)

mCidade := substr(mCidade+space(50),1,50)

mestado := substr(mestado+space(2),1,2)

if !empty(mCidade)

arqant :=select()

arqant := str(arqant)

openfile("cidade","cidade","N")

openindex("cidade")

dbsetorder(1)

seek mCod_cidade

if !found()

if appendrec()

cidade->codigo := mCod_cidade

cidade->nome := mCidade

cidade->estado := mEstado

cidade->pais := "1058"

endif

dbunlock()

dbcommit()

endif

use

select &arqant

endif

zrevwindow()

endif

endif

endif

return .t.

FUNCTION INTERNET_OK(mURL,mPortaURL)

INetInit()

pSocket := INetConnect( mUrl,mPortaURL )

IF INetErrorCode( pSocket ) <> 0

mError = "Socket error:" + INetErrorDesc( pSocket )

f_esper("Não existe conexão com a internet para consultar este CEP."+chr(10)+chr(13)+;

"Por favor informar manualmente os dados de endereçamento."+chr(10)+chr(13)+chr(10)+chr(13)+;

"O erro foi "+merror)

INetCleanUp()

return .f.

ENDIF

inetclose(pSocket)

return .t.

id=code>id=code>

Eduardo Mendes

eduardo@conesnet.com.br (MSN)

Fwh 9.04 + GTWVW + xH 1.0.0 + xDev + Fast Report + SQLRDD

Clipper 5.2e + DBFCDX + Exospace

Campo Grande - MS

Link to comment
Share on other sites

É Vamos.

As soluções que tenho visto, e que tenho tentado, funcionam mas não da forma que eu quero.

Digitar o numero do CEP, para retornar os dados, não vem de encontro ao que quero.

Quero passar Logradouro(parcial), Cidade, UF e ai sim retornar o numero do CEP.

Alias isto eu já faço, o meu problema esta quando o logradouro tem varios CEPs, to conseguindo pegar somente o nome do logradouro, o complemento não.

Ex: Tiradentes, Lins, SP.

Neste caso tem 4 CEPs, por faixa de numeração.

99999-991 Avenida Tiradentes de xx ate xx

99999-992 Avenida Tiradentes de xx ate xx

99999-993 Avenida Tiradentes de xx ate xx

99999-994 Avenida Tiradentes de xx ate xx

Só estou conseguindo megar o retorno

99999-991 Avenida Tiradentes

99999-992 Avenida Tiradentes

99999-993 Avenida Tiradentes

99999-994 Avenida Tiradentes

Sei qie o problema esta onde estou fazendo a busca, mas tentativas em varios lugares, sempre a mesma coisa.

-------------------------------------------------------------------

Fwh,xH,Bcc,Mysql,SqlLib,Nfe By Gilmer

A estupidez é infinitamente mais fascinante que a inteligência; a inteligência tem seus limites, a estupidez não!

Editado por - S.A.Oliveira on 26/11/2009 14:24:54

Link to comment
Share on other sites

Alguma previsão do material do encontro? Uma dúvida se o material estava separado para ser apresentado então agora não é só enviar para um 4shared da vida?

Essa é uma pergunta que não é só minha, andei conversando com vários colegas por msn, e ambos estão com essa dúvida.

Cleiton

FWH906+xHarbour 1.2.1+WorkShop, FW20d+Clipper5.2+Clip53b

Link to comment
Share on other sites

Só quero lembrar que a minha posição sobre este assunto foi:

citação:Inclusive já estou quase finalizando a parte de web para liberar junto com os exemplos e as apresentações do mesmo. Se o tempo permitir espero revisar a apresentação ainda e colocar mais algum conteúdo exclusivo que possa ser relevante até disponibilizar o material completo.
id=quote>id=quote>

Conforme expliquei neste link aqui óh:

http://www.fivewin.com.br/forum/topic.asp?TOPIC_ID=16457

Ainda estou trabalhando nos exemplos e já montei algumas coisas bacana. Quero montar mais 2 e atualizar os PPTs antes de disponibilizar os mesmos, então novidades da minha parte, só pra lá quarta-feira da semana que vem.

Quanto aos outros palestrantes, não posso afirmar como ficaram as palestras deles, mas eu, continuo montando alguns exemplos finais que serão sem dúvida bastante úteis.

Editado por - vailtom on 27/11/2009 23:43:30

Link to comment
Share on other sites

Pessoal sem querer criar atrito como ninguém, mais vamos ter um pouco mais de paciência, o pessoal do congresso sem ganhar nenhum centavo estão colocando a disposição soluções criadas por eles, repassando seus conhecimento sem cobrar nada por isto, não é justo que mesmo assim fiquemos fazendo está pressão em cima deles...

Abraços

Luiz Fernando

msn: empresoft@globo.com

skype:empresoft

empresoft@globo.com

FWH 8.04,XHARBOUR 1.1,PELES,XDEV,VLIB,ADS 8.1

FWH 9.09,XHARHOUR 1.2

Editado por - empresoft on 28/11/2009 09:52:28

Link to comment
Share on other sites

Concordo com vc Luis Fernando,,, a pressão faz a pessoa fazer um servico de qualquer jeito, a paciencia ajuda aprimorar e fazer com amor,,, por que se fizer pressao agora nas pessoas do congresso, o que vai ocorrer que na proximo congresso, eles nao vao prometer nada e fazer a coisas de qualquer jeito,,, Vailton nao se preocupe , faz com calma....

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...