PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 24 → 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é
2 958 messages
Popularité : +89 (91 votes)
Posté le 27 mai 2015 - 13:32
Procedure BuscaCep(nCep is int)

ResultadoXml is string = ""

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

IF ok = True THEN

ResultadoXml = HTTPGetResult()

Info(ResultadoXml)

END

RESULT(ResultadoXml)
Membre enregistré
2 958 messages
Popularité : +89 (91 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é
2 958 messages
Popularité : +89 (91 votes)
Posté le 27 mai 2015 - 13:58
Procedure BuscaCep(nCep is int, DebugSn is string)

ResultadoXml is string = ""

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

IF ok = True THEN

ResultadoXml = HTTPGetResult()

NoXml is string = XMLExtractString(ResultadoXml,"webservicecep")

sUf is string = XMLExtractString(NoXml,"uf")

sCidade is string = XMLExtractString(NoXml,"cidade")

sBairro is string = XMLExtractString(NoXml,"bairro")

sTipo_logradouro is string = XMLExtractString(NoXml,"tipo_logradouro")

sLogradouro is string = XMLExtractString(NoXml,"logradouro")

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

END

IF DebugSn = "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é
2 958 messages
Popularité : +89 (91 votes)
Posté le 27 mai 2015 - 14:45
Procedure BuscaCepXml(nCep is int, DebugSn is string)

ResultadoXml is string = ""

sUf, sCidade, sBairro, sTipo_logradouro, sLogradouro is string = ""

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

IF ok = True THEN

ResultadoXml = HTTPGetResult()

NoXml is string = 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

IF DebugSn = "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é
2 958 messages
Popularité : +89 (91 votes)
Posté le 27 mai 2015 - 14:45
Procedure BuscaCepQuery(nCep is int, DebugSn is string)

ResultadoQuery is string = ""

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

IF ok = True THEN

ResultadoQuery = HTTPGetResult()

END

IF DebugSn = "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é
2 958 messages
Popularité : +89 (91 votes)
Posté le 27 mai 2015 - 14:45
Procedure BuscaCepMinhaFuncaoJS(nCep is int, DebugSn is string)

ResultadoMinhaFuncaoJS is string = ""

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

IF ok = True THEN

ResultadoMinhaFuncaoJS = HTTPGetResult()

END

IF DebugSn = "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é
2 958 messages
Popularité : +89 (91 votes)
Posté le 27 mai 2015 - 14:46
Procedure BuscaCepJson(nCep is int, DebugSn is string)

ResultadoJson is string = ""

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

IF ok = True THEN

ResultadoJson = HTTPGetResult()

END

IF DebugSn = "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é
2 958 messages
Popularité : +89 (91 votes)
Posté le 27 mai 2015 - 14:46
Procedure BuscaCepJavaScript(nCep is int, DebugSn is string)

ResultadoJavaScript is string = ""

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

IF ok = True THEN

ResultadoJavaScript = HTTPGetResult()

END

IF DebugSn = "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é
2 958 messages
Popularité : +89 (91 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é
2 958 messages
Popularité : +89 (91 votes)
Posté le 27 mai 2015 - 16:46
Membre enregistré
2 958 messages
Popularité : +89 (91 votes)
Posté le 27 mai 2015 - 19:50
Obrigado, usei o UTF8ToString() e resolver valeu.
Membre enregistré
2 958 messages
Popularité : +89 (91 votes)
Posté le 01 mars 2016 - 15:39
Prezados,

Outro exemplo criado por Leandro Desis:

Procedure Busca_Cep(sCep is string)

ResultadoXml is string = ""

arrRetorno is array of strings
arrRetorno = ["","","","",""]

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

IF ok = True THEN

ResultadoXml = HTTPGetResult()

NoXml is string = 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 is array 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é
2 958 messages
Popularité : +89 (91 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é
2 958 messages
Popularité : +89 (91 votes)
Posté le 30 août 2017 - 05:10
//server
arr_Resultados is array of string

//Declara webservice//

gsValorMemorizado is string = 1 //Necessario um valor

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

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




Procedure Ws_BuscaEndereco(Token, Endereco)

//Variaveis
arrResultado is array of string
ok is boolean = False
X is int = 0
nTokenOk is int = 0
sTabela is string = "Enderecos"
Resultado is string = ""
sErro is string = ""
GloToken is string = ""

OkConn is boolean = False

OkConn = HConnectionOpen(MyHfsql)

ok = HExecuteQuery(QRY_Select_Cliente,hQueryWithoutHFCorrection,Token)

IF ok = True THEN

FOR EACH QRY_Select_Cliente

IF HFound(QRY_Select_Cliente) = True AND Token = QRY_Select_Cliente.Token THEN

GloToken = QRY_Select_Cliente.Token

ELSE

GloToken = ""

END

END

END

//Code
IF Token <> "" AND Token = GloToken

IF OkConn = True THEN

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

IF ok = True THEN

FOR EACH QRY_Select_Cliente

IF HFound(QRY_Select_Cliente) = True THEN

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

IF ok =True THEN

Resultado = "<Xml><Retorno>"

FOR EACH QRY_Select_CEP

IF HFound(QRY_Select_CEP) = True AND X = 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

IF X = 0 THEN
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

ip is 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

nTamanho is 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/