PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 25 → WX - Busca CEP - Republica Virtual CEP - Exemplos
WX - Busca CEP - Republica Virtual CEP - Exemplos
Débuté par adrianoboller, 27 mai 2015 13:32 - 15 réponses
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 27 mai 2015 - 13:32
ProcedureBuscaCep(nCep isint)

ResultadoXml isstring=""

ok isboolean=HTTPRequest("http://cep.republicavirtual.com.br/web_cep.php?cep="+nCep+"&formato=xml")

IFok=TrueTHEN

ResultadoXml=HTTPGetResult()

Info(ResultadoXml)

END

RESULT(ResultadoXml)
>
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 27 mai 2015 - 13:33
Retorno:

<?xml version="1.0"encoding="iso-8859-1"?>
<webservicecep>
<resultado>1</resultado>
<resultado_txt>sucesso - cep completo</resultado_txt>
<uf>PR</uf>
<cidade>Curitiba</cidade>
<bairro>Capão da Imbuia</bairro>
<tipo_logradouro>Rua</tipo_logradouro>
<logradouro>Clávio Molinari</logradouro>
</webservicecep>
>
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 27 mai 2015 - 13:58
ProcedureBuscaCep(nCep isint,DebugSn isstring)

ResultadoXml isstring=""

ok isboolean=HTTPRequest("http://cep.republicavirtual.com.br/web_cep.php?cep="+nCep+"&formato=xml")

IFok=TrueTHEN

ResultadoXml=HTTPGetResult()

NoXml isstring=XMLExtractString(ResultadoXml,"webservicecep")

sUf isstring=XMLExtractString(NoXml,"uf")

sCidade isstring=XMLExtractString(NoXml,"cidade")

sBairro isstring=XMLExtractString(NoXml,"bairro")

sTipo_logradouro isstring=XMLExtractString(NoXml,"tipo_logradouro")

sLogradouro isstring=XMLExtractString(NoXml,"logradouro")

Info(sTipo_logradouro,sLogradouro,sBairro,sCidade,sUf)

END

IFDebugSn="S"
Info(ResultadoXml)
END

RESULT(ResultadoXml)


//<?xml version="1.0" encoding="iso-8859-1" ?>
//<webservicecep>
//<resultado>1</resultado>
//<resultado_txt>sucesso - cep completo</resultado_txt>
//<uf>PR</uf>
//<cidade>Curitiba</cidade>
//<bairro>Capão da Imbuia</bairro>
//<tipo_logradouro>Rua</tipo_logradouro>
//<logradouro>Clávio Molinari</logradouro>
//</webservicecep>
>
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 27 mai 2015 - 14:45
ProcedureBuscaCepXml(nCep isint,DebugSn isstring)

ResultadoXml isstring=""

sUf,sCidade,sBairro,sTipo_logradouro,sLogradouro isstring=""

ok isboolean=HTTPRequest("http://cep.republicavirtual.com.br/web_cep.php?cep="+nCep+"&formato=xml")

IFok=TrueTHEN

ResultadoXml=HTTPGetResult()

NoXml isstring=XMLExtractString(ResultadoXml,"webservicecep")

sUf=XMLExtractString(NoXml,"uf")

sCidade=XMLExtractString(NoXml,"cidade")

sBairro=XMLExtractString(NoXml,"bairro")

sTipo_logradouro=XMLExtractString(NoXml,"tipo_logradouro")

sLogradouro=XMLExtractString(NoXml,"logradouro")

END

IFDebugSn="S"
Info(ResultadoXml)
Info(sTipo_logradouro,sLogradouro,sBairro,sCidade,sUf)
END

RESULT(ResultadoXml)


//<?xml version="1.0" encoding="iso-8859-1" ?>
//<webservicecep>
//<resultado>1</resultado>
//<resultado_txt>sucesso - cep completo</resultado_txt>
//<uf>PR</uf>
//<cidade>Curitiba</cidade>
//<bairro>Capão da Imbuia</bairro>
//<tipo_logradouro>Rua</tipo_logradouro>
//<logradouro>Clávio Molinari</logradouro>
//</webservicecep>
>
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 27 mai 2015 - 14:45
ProcedureBuscaCepQuery(nCep isint,DebugSn isstring)

ResultadoQuery isstring=""

ok isboolean=HTTPRequest("http://cep.republicavirtual.com.br/web_cep.php?cep="+nCep+"&formato=query_string")

IFok=TrueTHEN

ResultadoQuery=HTTPGetResult()

END

IFDebugSn="S"
Info(ResultadoQuery)
END

RESULT(ResultadoQuery)


// &resultado=1&resultado_txt=sucesso+-+cep+completo&uf=PR&cidade=Curitiba&
// bairro=Cap%E3o+da+Imbuia&tipo_logradouro=Rua&logradouro=Cl%E1vio+Molinar
>
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 27 mai 2015 - 14:45
ProcedureBuscaCepMinhaFuncaoJS(nCep isint,DebugSn isstring)

ResultadoMinhaFuncaoJS isstring=""

ok isboolean=HTTPRequest("http://cep.republicavirtual.com.br/web_cep.php?cep="+nCep+"&formato=jsonp&callback=minhaFuncaoJS")

IFok=TrueTHEN

ResultadoMinhaFuncaoJS=HTTPGetResult()

END

IFDebugSn="S"
Info(ResultadoMinhaFuncaoJS)
END

RESULT(ResultadoMinhaFuncaoJS)


// minhaFuncaoJS({"resultado":"1","resultado_txt":"sucesso - cep completo","uf":"PR","cidade":"Curitiba",
// "bairro":"Cap\u00e3o da Imbuia","tipo_logradouro":"Rua","logradouro":"Cl\u00e1vio Molinari"});
>
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 27 mai 2015 - 14:46
ProcedureBuscaCepJson(nCep isint,DebugSn isstring)

ResultadoJson isstring=""

ok isboolean=HTTPRequest("http://cep.republicavirtual.com.br/web_cep.php?cep="+nCep+"&formato=json")

IFok=TrueTHEN

ResultadoJson=HTTPGetResult()

END

IFDebugSn="S"
Info(ResultadoJson)
END

RESULT(ResultadoJson)


// {"resultado":"1","resultado_txt":"sucesso - cep completo","uf":"PR","cidade":"Curitiba",
// "bairro":"Cap\u00e3o da Imbuia","tipo_logradouro":"Rua","logradouro":"Cl\u00e1vio Molinari"}
>
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 27 mai 2015 - 14:46
ProcedureBuscaCepJavaScript(nCep isint,DebugSn isstring)

ResultadoJavaScript isstring=""

ok isboolean=HTTPRequest("http://cep.republicavirtual.com.br/web_cep.php?cep="+nCep+"&formato=javascript")

IFok=TrueTHEN

ResultadoJavaScript=HTTPGetResult()

END

IFDebugSn="S"
Info(ResultadoJavaScript)
END

RESULT(ResultadoJavaScript)

//var resultadoCEP = {
//'uf': 'PR',
//'cidade': 'Curitiba',
//'bairro': 'Cap%E3o%20da%20Imbuia',
//'tipo_logradouro': 'Rua',
//'logradouro': 'Cl%E1vio%20Molinari',
//'resultado': '1',
//'resultado_txt': 'sucesso%20-%20cep%20completo'
//}
>
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 27 mai 2015 - 14:49
Meus agradeciomentos a equipe do http://www.republicavirtual.com.br

LINK:

http://www.republicavirtual.com.br/cep/index.php

http://www.republicavirtual.com.br/cep/download/cep.sql.bz2

http://www.republicavirtual.com.br/cep/exemplos.php

http://www.republicavirtual.com.br/cep/codigos.php

Quem puder contribuir segue aqui o Link:

http://www.republicavirtual.com.br/cep/contribuir.php

Não basta usar e sim manter e para isso contribuindo o serviço permanece no ar.

Pois manter um servidor e um site no ar tem custo mensais e anuais....

Pense nisso!... ok!...

:merci:>
Posté le 27 mai 2015 - 16:07
Tento usar os mesmos códigos mas o retorno da minha requisição vem tudo em japonês, será alguma conspiração?
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 27 mai 2015 - 16:46
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 27 mai 2015 - 19:50
Obrigado, usei o UTF8ToString() e resolver valeu.
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 01 mars 2016 - 15:39
Prezados,

Outro exemplo criado por Leandro Desis:

ProcedureBusca_Cep(sCep isstring)

ResultadoXml isstring=""

arrRetorno isarray of strings
arrRetorno= ["","","","",""]

ok isboolean=HTTPRequest("http://cep.republicavirtual.com.br/web_cep.php?cep="+sCep+"&formato=xml")

IFok=TrueTHEN

ResultadoXml=HTTPGetResult()

NoXml isstring=XMLExtractString(ResultadoXml,"webservicecep")

arrRetorno[1] =XMLExtractString(NoXml,"uf")
arrRetorno[2] =XMLExtractString(NoXml,"cidade")
arrRetorno[3] =XMLExtractString(NoXml,"bairro")
arrRetorno[4] =XMLExtractString(NoXml,"logradouro")
arrRetorno[5] =XMLExtractString(NoXml,"tipo_logradouro")

ELSE
arrRetorno[1] =""
arrRetorno[2] =""
arrRetorno[3] =""
arrRetorno[4] =""
arrRetorno[5] =""
END

RESULT(arrRetorno)




Para deixar uma mensagem de aguarde......

OpenChild(WIN_msgWait,"Aguarde... Buscando informação dos sites do correio......")

arrAux isarray of string
arrAux=Busca_Cep(StringDelete(EDT_CEP,"-"))

Close(WIN_msgWait)


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.blogspot.com.br/>
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 19 avril 2016 - 19:25
Prezados,

Para usar:

Busca_Cep(EDT_T001_CEP)

EDT_T001_Endereco=arrRetorno[5] +" "+arrRetorno[4]

EDT_T001_Bairro=arrRetorno[3]

EDT_T001_Cidade=arrRetorno[2]

EDT_T001_UF=arrRetorno[1]


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.blogspot.com.br/>
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 30 août 2017 - 05:10
//server
arr_Resultadosis array of string

//Declara webservice//

gsValorMemorizadois string=1//Necessario um valor

DeclareWebserviceContext(gsValorMemorizado)//Principal funcao que declara webservice//

DeclareWebserviceContext(arr_Resultados)//Principal funcao que declara webservice//




ProcedureWs_BuscaEndereco(Token,Endereco)

//Variaveis
arrResultadois array of string
okis boolean=False
Xis int=0
nTokenOkis int=0
sTabelais string="Enderecos"
Resultadois string=""
sErrois string=""
GloTokenis string=""

OkConnis boolean=False

OkConn=HConnectionOpen(MyHfsql)

ok=HExecuteQuery(QRY_Select_Cliente,hQueryWithoutHFCorrection,Token)

IFok=TrueTHEN

FOREACH QRY_Select_Cliente

IFHFound(QRY_Select_Cliente) =TrueANDToken=QRY_Select_Cliente.TokenTHEN

GloToken=QRY_Select_Cliente.Token

ELSE

GloToken=""

END

END

END

//Code
IFToken<>""ANDToken=GloToken

IFOkConn=TrueTHEN

ok=HExecuteQuery(QRY_Select_Cliente,MyHfsql,hQueryWithoutHFCorrection,Token)

IFok=TrueTHEN

FOREACH QRY_Select_Cliente

IFHFound(QRY_Select_Cliente) =TrueTHEN

ok=HExecuteQuery(QRY_Select_CEP,MyHfsql,hQueryWithoutCorrection,Endereco)

IFok=TrueTHEN

Resultado="<Xml><Retorno>"

FOREACH QRY_Select_CEP

IFHFound(QRY_Select_CEP) =TrueANDX=0

X+=1

Resultado+=ws_xml_registro_comeco(X)

Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.Sequencial,"Sequencial")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.LogradouroUpper,"LogradouroUpper")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.LogradouroAbrev,"LogradouroAbrev")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.Logradouro,"Logradouro")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.LogradouroCompl,"LogradouroCompl")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.Fonetica,"Fonetica")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.LogradouroTipo,"LogradouroTipo")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.CEP,"CEP")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.Bairro,"Bairro")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.BairroAbrev,"BairroAbrev")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.IDCidade,"IDCidade")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.Cidade,"Cidade")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.SubCidadeAbrev,"SubCidadeAbrev")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.SubCidade,"SubCidade")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.CodIBGECid,"CodIBGECid")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.CodIBGEUF,"CodIBGEUF")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.UF,"UF")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.Pais,"Pais")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.LogradouroIniciais,"LogradouroIniciais")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.NumeroInicial,"NumeroInicial")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.NumeroFinal,"NumeroFinal")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.DMSLatitude,"DMSLatitude")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.DMSLongitude,"DMSLongitude")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.GDLatitude,"GDLatitude")
Resultado+=ws_xml_registro_corpo(QRY_Select_CEP.GDLongitude,"GDLongitude")

Resultado+=ws_xml_registro_final()

END

END

IFX=0THEN
Resultado=ws_zero_registros(sTabela)
END

Resultado+="<TOTAL>"+X+"</TOTAL>"//Total de Registros para usar em barras de progresso
Resultado+="</Retorno></Xml>"

ELSE

Resultado+="<Error>Erro 002 tabela<Error>"

END

ELSE

Resultado+="<Error>Erro 003 tabela<Error>"

END


END


ELSE

Resultado+="<Error>Erro 004 tabela<Error>"

END


ELSE

Resultado+="<Error>Erro 005 Conexao<Error>"

END

ipis string=WebserviceClientIPAddress(False)
//Verdadeiro para recuperar o endereço inicial especificado no cabeçalho HTTP,
//Falso (valor padrão) para recuperar o Endereco ip na variável de ambiente "REMOTE_ADDR" definida pelo servidor da Web.

ok=HExecuteQuery(QRY_Insert_Log,hQueryWithoutHFCorrection,DateSys()+TimeSys(),ip,Token,Endereco)

HReset(QRY_Select_CEP)// <----- Limpar atenção

HReset(QRY_Select_Cliente)// <----- Limpar atenção

HConnectionClose(ConnNativa)

ELSE

Resultado+="<Error>Token invalido<Error>"

END

nTamanhois int=Length(Resultado)

Add(arrResultado,Resultado)

RESULT(arrResultado)



SELECT
enderecoscorreios.Sequencial AS Sequencial,
enderecoscorreios.LogradouroUpper AS LogradouroUpper,
enderecoscorreios.LogradouroAbrev AS LogradouroAbrev,
enderecoscorreios.Logradouro AS Logradouro,
enderecoscorreios.LogradouroCompl AS LogradouroCompl,
enderecoscorreios.Fonetica AS Fonetica,
enderecoscorreios.LogradouroTipo AS LogradouroTipo,
enderecoscorreios.CEP AS CEP,
enderecoscorreios.Bairro AS Bairro,
enderecoscorreios.BairroAbrev AS BairroAbrev,
enderecoscorreios.IDCidade AS IDCidade,
enderecoscorreios.Cidade AS Cidade,
enderecoscorreios.SubCidadeAbrev AS SubCidadeAbrev,
enderecoscorreios.SubCidade AS SubCidade,
enderecoscorreios.CodIBGECid AS CodIBGECid,
enderecoscorreios.CodIBGEUF AS CodIBGEUF,
enderecoscorreios.UF AS UF,
enderecoscorreios.Pais AS Pais,
enderecoscorreios.LogradouroIniciais AS LogradouroIniciais,
enderecoscorreios.NumeroInicial AS NumeroInicial,
enderecoscorreios.NumeroFinal AS NumeroFinal,
enderecoscorreios.DMSLatitude AS DMSLatitude,
enderecoscorreios.DMSLongitude AS DMSLongitude,
enderecoscorreios.GDLatitude AS GDLatitude,
enderecoscorreios.GDLongitude AS GDLongitude,
MATCH(enderecoscorreios.LogradouroUpper,enderecoscorreios.LogradouroAbrev,enderecoscorreios.Logradouro,enderecoscorreios.LogradouroCompl,enderecoscorreios.Fonetica,enderecoscorreios.LogradouroTipo,enderecoscorreios.CEP,enderecoscorreios.Bairro,enderecoscorreios.BairroAbrev,enderecoscorreios.Cidade,enderecoscorreios.SubCidadeAbrev,enderecoscorreios.SubCidade,enderecoscorreios.UF,enderecoscorreios.Pais,enderecoscorreios.LogradouroIniciais)AGAINST({ParamKFulltext})AS FullTextPertinence
FROM
enderecoscorreios
WHERE
FullTextPertinence> {ParamFullTextPertinence}
ORDER BY
FullTextPertinence DESC




SELECT
clientes.id AS id,
clientes.Nome AS Nome,
clientes.Email AS Email,
clientes.Celular AS Celular,
clientes.Token AS Token
FROM
clientes
WHERE
clientes.Token= {ParamToken}




INSERT INTO wslog
(
datahora,
ip,
Token,
acao
)
VALUES
(
{Paramdatahora},
{Paramip},
{ParamToken},
{Paramacao}
)


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/>