PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 25 → Como fazer uma tabela de CEPs
Como fazer uma tabela de CEPs
Débuté par Maxwell Alves, 11 sep. 2015 21:58 - 2 réponses
Posté le 11 septembre 2015 - 21:58
Olá boa tarde!

Sou novo no forum e gostei muito da ferramenta WINDEVexpress,

Alguem ai sabe como fazer um cadastro clientes(pessoas) onde o campo endereço seja auto-preenchido ao digitar o cep da rua dele?
Membre enregistré
3 657 messages
Popularité : +175 (223 votes)
Posté le 14 septembre 2015 - 17:02
Prezado Max

Segue alguns exemplos

http://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/519-busca-endereco-rota-endereco-das-coordendas/read.awp…

http://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/242-busca-cep-republica-virtual-cep-exemplos/read.awp…

Se voce verificar o forum oficial eu tenho mais de 1160 exemplos de codigos prontos no BR e no US que podem ser usados em seus estudos e no meu canal no Youtube (
) tem mais de 60 videos passo a passo, bem como o material do professor Neri (http://www.informaticon.com.br) que exemplifica o uso.

Bons estudos com a ferramenta, se possivel divulgue as informações que passei para seus amigos e em suas redes sociais.

[ ]´s

--
Adriano Jose Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
______________________________________________
Membre enregistré
3 657 messages
Popularité : +175 (223 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/