Windev 137 - Implementando Groupware em um Banco PostgreSql - Pedrosão
Páginas
▼
quarta-feira, 28 de janeiro de 2015
Utf8ToAnsi - Funcao - Converte Utf8 em Ansi
Utf8ToAnsi - Funcao - Converte Utf8 em Ansi
-----------------------------------------------------------------------------------------------------------------------
Blog Relacionado com Assunto - http://windevdesenvolvimento.blogspot.com.br/2015/01/solucao-para-xml-reurn-chines-em.html
-----------------------------------------------------------------------------------------------------------------------
http://doc.windev.com/en-US/?1000020525&product=WM
----------------------------------------------------------------------------------------------------------
http://forum.pcsoft.fr/fr-FR/pcsoft.us.windevmobile/630-solution-xml-reurn-chines-httprequest-httpgetresult-635/read.awp?hl=Chines
-------------------------------------------------------------------------------------------------------------------
http://forum.pcsoft.fr/fr-FR/pcsoft.fr.windevmobile/18410-qui-maitrise-utf8-ansi-unicode/read.awp
-------------------------------------------------------------------------------------------------------------------
Remove Acento - http://forum.pcsoft.fr/fr-FR/pcsoft.us.windevmobile/959-remove-acento-961/read.awp
-------------------------------------------------------------------------------------------------------------------
http://www.geonames.org/
-------------------------------------------------------------------------------------------------------------------
bufResHttp is Buffer
shttpResult is string
HTTPRequest("http://fipeapi.appspot.com/api/1/carros/marcas.json")
bufResHttp = HTTPGetResult()
IF StringCount(bufResHttp,"ISO-8859-1",IgnoreCase) = 0 THEN
shttpResult = UTF8ToString(bufResHttp)
ELSE
shttpResult = AnsiToUnicode(bufResHttp)
END
----------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
Blog Relacionado com Assunto - http://windevdesenvolvimento.blogspot.com.br/2015/01/solucao-para-xml-reurn-chines-em.html
-----------------------------------------------------------------------------------------------------------------------
http://doc.windev.com/en-US/?1000020525&product=WM
----------------------------------------------------------------------------------------------------------
http://forum.pcsoft.fr/fr-FR/pcsoft.us.windevmobile/630-solution-xml-reurn-chines-httprequest-httpgetresult-635/read.awp?hl=Chines
-------------------------------------------------------------------------------------------------------------------
http://forum.pcsoft.fr/fr-FR/pcsoft.fr.windevmobile/18410-qui-maitrise-utf8-ansi-unicode/read.awp
-------------------------------------------------------------------------------------------------------------------
Remove Acento - http://forum.pcsoft.fr/fr-FR/pcsoft.us.windevmobile/959-remove-acento-961/read.awp
-------------------------------------------------------------------------------------------------------------------
http://www.geonames.org/
-------------------------------------------------------------------------------------------------------------------
bufResHttp is Buffer
shttpResult is string
HTTPRequest("http://fipeapi.appspot.com/api/1/carros/marcas.json")
bufResHttp = HTTPGetResult()
IF StringCount(bufResHttp,"ISO-8859-1",IgnoreCase) = 0 THEN
shttpResult = UTF8ToString(bufResHttp)
ELSE
shttpResult = AnsiToUnicode(bufResHttp)
END
----------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
Webservice - Parana - Listagem Verbas e Obras - Adriano Boller -
Example Webservice with Image serializade
Webservice - Parana - Listagem Verbas e Obras - Adriano Boller -
http://forum.pcsoft.fr/fr-FR/pcsoft.us.webdev/1622-example-webservice-with-image-serializade-1623/read.awp
-------------------------------------------------------------------------------------------------------------------
Procedure ConsultaPrefeitura(LOCAL ID, LOCAL UltimaData)
X, TamanhoArrayImagem is int = 0
Resultado is string = ""
ImagemPrefeito is string
IF ID = "" THEN
Resultado += "<Xml><Retorno>"
FOR EACH t001prefeitura
IF t001prefeitura.t001ultimadata > UltimaData
X += 1 // Sem filtro
//Converte campo blob imagem em um array de string para mandar a imagem pelo webservice
ImagemPrefeito =Crypt(t001prefeitura.t001fotoprefeito,"ParanaCidade",cryptAnsi,encodeBASE64)
Resultado += "<Prefeitura id="+Charact(34)+X+Charact(34)+">"
Resultado += "<t001apelidoprefeito>" + NoSpace(t001prefeitura.t001apelidoprefeito) + "</t001apelidoprefeito>"
Resultado += "<t001associacao>" + NoSpace(t001prefeitura.t001associacao) + "</t001associacao>"
Resultado += "<t001bairro>" + NoSpace(t001prefeitura.t001bairro) + "</t001bairro>"
Resultado += "<t001cep>" + NoSpace(t001prefeitura.t001cep) + "</t001cep>"
Resultado += "<t001cidade>" + NoSpace(t001prefeitura.t001cidade) + "</t001cidade>"
Resultado += "<t001codIbge>" + NoSpace(t001prefeitura.t001codIbge) + "</t001codIbge>"
Resultado += "<t001codigo>" + NoSpace(t001prefeitura.t001codigo) + "</t001codigo>"
Resultado += "<t001complemento>" + NoSpace(t001prefeitura.t001complemento) + "</t001complemento>"
Resultado += "<t001emailprefeito>" + NoSpace(t001prefeitura.t001emailprefeito) + "</t001emailprefeito>"
Resultado += "<t001emailprefeitura>" + NoSpace(t001prefeitura.t001emailprefeitura) + "</t001emailprefeitura>"
Resultado += "<t001endereco>" + NoSpace(t001prefeitura.t001endereco) + "</t001endereco>"
Resultado += "<t001escritorioregional>" + NoSpace(t001prefeitura.t001escritorioregional) + "</t001escritorioregional>"
Resultado += "<t001gentilico>" + NoSpace(t001prefeitura.t001gentilico) + "</t001gentilico>"
Resultado += "<t001idprefeitura>" + NoSpace(t001prefeitura.t001idprefeitura) + "</t001idprefeitura>"
Resultado += "<t001nomemunicipio>" + NoSpace(t001prefeitura.t001nomemunicipio) + "</t001nomemunicipio>"
Resultado += "<t001nomeprefeito>" + NoSpace(t001prefeitura.t001nomeprefeito) + "</t001nomeprefeito>"
Resultado += "<t001partidoprefeito>" + NoSpace(t001prefeitura.t001partidoprefeito) + "</t001partidoprefeito>"
Resultado += "<t001populacao>" + NoSpace(t001prefeitura.t001populacao) + "</t001populacao>"
Resultado += "<t001telefoneprefeito>" + NoSpace(t001prefeitura.t001telefoneprefeito) + "</t001telefoneprefeito>"
Resultado += "<t001telfoneprefeitura>" + NoSpace(t001prefeitura.t001telfoneprefeitura) + "</t001telfoneprefeitura>"
Resultado += "<t001uf>" + NoSpace(t001prefeitura.t001uf) + "</t001uf>"
Resultado += "<t001ultimadata>" + NoSpace(t001prefeitura.t001ultimadata) + "</t001ultimadata>"
Resultado += "<t001fotoprefeito>" + NoSpace(ImagemPrefeito) + "</t001fotoprefeito>"
Resultado += "</Prefeitura>"
END
END
IF X = 0 THEN
Resultado += "<Prefeitura id="+Charact(34)+0+Charact(34)+">"
Resultado += "<Erro>Registro não encontrado</Erro>"
Resultado += "</Prefeitura>"
END
Resultado += "<TOTAL>"+X+"</TOTAL>"
Resultado += "</Retorno></Xml>"
ELSE
Resultado += "<Xml><Retorno>"
FOR EACH t001prefeitura
IF t001prefeitura.t001idprefeitura=ID AND t001prefeitura.t001ultimadata > UltimaData //Com filtro
X += 1
ImagemPrefeito = Crypt(t001prefeitura.t001fotoprefeito,"ParanaCidade",cryptAnsi,encodeBASE64)
Resultado += "<Prefeitura id="+Charact(34)+X+Charact(34)+">"
Resultado += "<t001apelidoprefeito>" + NoSpace(t001prefeitura.t001apelidoprefeito) + "</t001apelidoprefeito>"
Resultado += "<t001associacao>" + NoSpace(t001prefeitura.t001associacao) + "</t001associacao>"
Resultado += "<t001bairro>" + NoSpace(t001prefeitura.t001bairro) + "</t001bairro>"
Resultado += "<t001cep>" + NoSpace(t001prefeitura.t001cep) + "</t001cep>"
Resultado += "<t001cidade>" + NoSpace(t001prefeitura.t001cidade) + "</t001cidade>"
Resultado += "<t001codIbge>" + NoSpace(t001prefeitura.t001codIbge) + "</t001codIbge>"
Resultado += "<t001codigo>" + NoSpace(t001prefeitura.t001codigo) + "</t001codigo>"
Resultado += "<t001complemento>" + NoSpace(t001prefeitura.t001complemento) + "</t001complemento>"
Resultado += "<t001emailprefeito>" + NoSpace(t001prefeitura.t001emailprefeito) + "</t001emailprefeito>"
Resultado += "<t001emailprefeitura>" + NoSpace(t001prefeitura.t001emailprefeitura) + "</t001emailprefeitura>"
Resultado += "<t001endereco>" + NoSpace(t001prefeitura.t001endereco) + "</t001endereco>"
Resultado += "<t001escritorioregional>" + NoSpace(t001prefeitura.t001escritorioregional) + "</t001escritorioregional>"
Resultado += "<t001gentilico>" + NoSpace(t001prefeitura.t001gentilico) + "</t001gentilico>"
Resultado += "<t001idprefeitura>" + NoSpace(t001prefeitura.t001idprefeitura) + "</t001idprefeitura>"
Resultado += "<t001nomemunicipio>" + NoSpace(t001prefeitura.t001nomemunicipio) + "</t001nomemunicipio>"
Resultado += "<t001nomeprefeito>" + NoSpace(t001prefeitura.t001nomeprefeito) + "</t001nomeprefeito>"
Resultado += "<t001partidoprefeito>" + NoSpace(t001prefeitura.t001partidoprefeito) + "</t001partidoprefeito>"
Resultado += "<t001populacao>" + NoSpace(t001prefeitura.t001populacao) + "</t001populacao>"
Resultado += "<t001telefoneprefeito>" + NoSpace(t001prefeitura.t001telefoneprefeito) + "</t001telefoneprefeito>"
Resultado += "<t001telfoneprefeitura>" + NoSpace(t001prefeitura.t001telfoneprefeitura) + "</t001telfoneprefeitura>"
Resultado += "<t001uf>" + NoSpace(t001prefeitura.t001uf) + "</t001uf>"
Resultado += "<t001ultimadata>" + NoSpace(t001prefeitura.t001ultimadata) + "</t001ultimadata>"
Resultado += "<t001fotoprefeito>" + NoSpace(ImagemPrefeito) + "</t001fotoprefeito>"
Resultado += "</Prefeitura>"
END
END
IF X = 0 THEN
Resultado += "<Prefeitura id="+Charact(34)+0+Charact(34)+">"
Resultado += "<Erro>Registro não encontrado</Erro>"
Resultado += "</Prefeitura>"
END
Resultado += "<TOTAL>"+X+"</TOTAL>"
Resultado += "</Retorno></Xml>"
END
RESULT (Resultado)
-------------------------------------------------------------------------------------------------------------------
Obs.:
//Converte campo blob imagem em um array de string para mandar a imagem pelo webservice
ImagemPrefeito = Crypt(t001prefeitura.t001fotoprefeito,"ParanaCidade",cryptAnsi,encodeBASE64)
-------------------------------------------------------------------------------------------------------------------
/IMAGEM Carregar
IMG_FotoPrefeito = QRY_T001prefeitura.t001fotoprefeito
-------------------------------------------------------------------------------------------------------------------
Procedure RefreshFiltro(LOCAL CodIdPref)
IF CodIdPref > 0 THEN
NextTitle("Atualizando Dados...")
HourGlass(True)
ok is boolean = HExecuteQuery(QRY_T001prefeitura_SelectX,hQueryDefault,CodIdPref)
IF ok = True THEN
//info("OK")
FOR EACH QRY_T001prefeitura_SelectX
STC_MunicipioA = QRY_T001prefeitura_SelectX.t001nomemunicipio
STC_MunicipioB = QRY_T001prefeitura_SelectX.t001nomemunicipio
STC_PopulacaoA = QRY_T001prefeitura_SelectX.t001populacao
STC_PopulacaoB = QRY_T001prefeitura_SelectX.t001populacao
STC_RegionalA = QRY_T001prefeitura_SelectX.t001escritorioregional
STC_RegionalB = QRY_T001prefeitura_SelectX.t001escritorioregional
STC_AssociacaoA = QRY_T001prefeitura_SelectX.t001associacao
STC_AssociacaoB = QRY_T001prefeitura_SelectX.t001associacao
STC_GentilicoA = QRY_T001prefeitura_SelectX.t001gentilico
STC_GentilicoB = QRY_T001prefeitura_SelectX.t001gentilico
STC_EnderecoA = Clip(QRY_T001prefeitura_SelectX.t001endereco) +" "+Clip(QRY_T001prefeitura_SelectX.t001complemento) +" Bairro: "+ QRY_T001prefeitura_SelectX.t001bairro+"Cep: "+QRY_T001prefeitura_SelectX.t001cep
STC_EnderecoB = Clip(QRY_T001prefeitura_SelectX.t001endereco) +" "+Clip(QRY_T001prefeitura_SelectX.t001complemento) +" Bairro: "+ QRY_T001prefeitura_SelectX.t001bairro+"Cep: "+QRY_T001prefeitura_SelectX.t001cep
STC_TelPrefeituraA = QRY_T001prefeitura_SelectX.t001telfoneprefeitura
STC_TelPrefeituraB = QRY_T001prefeitura_SelectX.t001telfoneprefeitura
STC_NomePrefA = QRY_T001prefeitura_SelectX.t001nomeprefeito
STC_NomePrefB = QRY_T001prefeitura_SelectX.t001nomeprefeito
STC_ApelidoA = QRY_T001prefeitura_SelectX.t001apelidoprefeito
STC_ApelidoB = QRY_T001prefeitura_SelectX.t001apelidoprefeito
STC_PartidoA = QRY_T001prefeitura_SelectX.t001partidoprefeito
STC_PartidoB = QRY_T001prefeitura_SelectX.t001partidoprefeito
STC_TelPrefeitoA = QRY_T001prefeitura_SelectX.t001telefoneprefeito
STC_TelPrefeitoB = QRY_T001prefeitura_SelectX.t001telefoneprefeito
STC_EmailMunA = QRY_T001prefeitura_SelectX.t001emailprefeitura
STC_EmailMunB = QRY_T001prefeitura_SelectX.t001emailprefeitura
STC_EmailPrefeitoA = QRY_T001prefeitura_SelectX.t001emailprefeito
STC_EmailPrefeitoB = QRY_T001prefeitura_SelectX.t001emailprefeito
IMG_FotoPrefeito1 = QRY_T001prefeitura_SelectX.t001fotoprefeito
IMG_FotoPrefeito2 = QRY_T001prefeitura_SelectX.t001fotoprefeito
END
RefreshMensagens()
RefreshOperacoes()
RefreshProjetos()
RefreshSituacao()
RefreshLotes()
ELSE
Info("Erro")
END
HourGlass(False)
END
-------------------------------------------------------------------------------------------------------------------
//Lê Webservice importa a foto para a tabela descriptografando
Procedure WS_IncluiAltera_T001prefeitura(ParIdPrefeitura,ParNomeMunicipio,ParPopulacao,ParGentilico,ParEndereco,ParComplemento,ParBairro,ParCidade,ParIbge,ParUf,ParCep,ParEmailPrefeitura,ParEmailPrefeito,ParTelPrefeitura,ParTelPrefeito,ParRegional,ParAssociacao,ParNomePrefeito,ParApelido,ParPartido,ParUltimaData,ParFoto)
//variaveis
ok is boolean = False
ChangeCharset(charsetOccidental) // SEM ACENTO
//Xml
IF ParUltimaData = ""
ParUltimaData = Hoje("")
END
GloTotalImport += 1
IF gbTabletiPad = True
WIN_06Sincronizar_iPad.PROGBAR_Total..Value = GloTotalImport
END
IF GloTotalImport >= 100 THEN
GloTotalImport = 0
END
IF gsUltimaData <> ""
//loop de leitura do xml - filtro unico cidade
HReadSeekFirst(t001prefeitura,t001prefeitura.t001nomemunicipio,ParNomeMunicipio)
IF HFound(t001prefeitura) = False
// se nao tem insert
t001prefeitura.t001idprefeitura = ParIdPrefeitura
t001prefeitura.t001nomemunicipio = ParNomeMunicipio
t001prefeitura.t001populacao = ParPopulacao
t001prefeitura.t001gentilico = ParGentilico
t001prefeitura.t001endereco = ParEndereco
t001prefeitura.t001complemento = ParComplemento
t001prefeitura.t001bairro = ParBairro
t001prefeitura.t001cidade = ParCidade
t001prefeitura.t001codIbge = ParIbge
t001prefeitura.t001uf = ParUf
t001prefeitura.t001cep = ParCep
t001prefeitura.t001emailprefeitura = ParEmailPrefeitura
t001prefeitura.t001emailprefeito = ParEmailPrefeito
t001prefeitura.t001telfoneprefeitura = ParTelPrefeitura
t001prefeitura.t001telefoneprefeito = ParTelPrefeito
t001prefeitura.t001escritorioregional = ParRegional
t001prefeitura.t001associacao = ParAssociacao
t001prefeitura.t001nomeprefeito = ParNomePrefeito
t001prefeitura.t001apelidoprefeito = ParApelido
t001prefeitura.t001fotoprefeito = Uncrypt(ParFoto,"ParanaCidade",cryptAnsi, encodeBASE64)
t001prefeitura.t001partidoprefeito = ParPartido
t001prefeitura.t001ultimadata = ParUltimaData
IF ParIdPrefeitura <> ""
ok = HAdd(t001prefeitura)
IF ok = False THEN
NextTitle("Carga QRY_T001prefeitura_Insert")
Info("Registro: "+ParNomeMunicipio,"Ocorreu um erro inesperado.",ErrorInfo())
END
END
ELSE IF HFound(t001prefeitura) = True AND t001prefeitura.t001ultimadata <> ParUltimaData
//ou Update
t001prefeitura.t001idprefeitura = ParIdPrefeitura
t001prefeitura.t001nomemunicipio = ParNomeMunicipio
t001prefeitura.t001populacao = ParPopulacao
t001prefeitura.t001gentilico = ParGentilico
t001prefeitura.t001endereco = ParEndereco
t001prefeitura.t001complemento = ParComplemento
t001prefeitura.t001bairro = ParBairro
t001prefeitura.t001cidade = ParCidade
t001prefeitura.t001codIbge = ParIbge
t001prefeitura.t001uf = ParUf
t001prefeitura.t001cep = ParCep
t001prefeitura.t001emailprefeitura = ParEmailPrefeitura
t001prefeitura.t001emailprefeito = ParEmailPrefeito
t001prefeitura.t001telfoneprefeitura = ParTelPrefeitura
t001prefeitura.t001telefoneprefeito = ParTelPrefeito
t001prefeitura.t001escritorioregional = ParRegional
t001prefeitura.t001associacao = ParAssociacao
t001prefeitura.t001nomeprefeito = ParNomePrefeito
t001prefeitura.t001apelidoprefeito = ParApelido
t001prefeitura.t001fotoprefeito = Uncrypt(ParFoto,"ParanaCidade",cryptAnsi, encodeBASE64)
t001prefeitura.t001partidoprefeito = ParPartido
t001prefeitura.t001ultimadata = ParUltimaData
IF ParIdPrefeitura <> ""
ok = HModify(t001prefeitura)
IF ok = False THEN
NextTitle("Carga QRY_T001prefeitura_Update")
Info("Registro: "+ParNomeMunicipio,"Ocorreu um erro inesperado.",ErrorInfo())
END
END
END
//fim do loop de leitura do xml
ELSE
// se nao tem insert
t001prefeitura.t001idprefeitura = ParIdPrefeitura
t001prefeitura.t001nomemunicipio = ParNomeMunicipio
t001prefeitura.t001populacao = ParPopulacao
t001prefeitura.t001gentilico = ParGentilico
t001prefeitura.t001endereco = ParEndereco
t001prefeitura.t001complemento = ParComplemento
t001prefeitura.t001bairro = ParBairro
t001prefeitura.t001cidade = ParCidade
t001prefeitura.t001codIbge = ParIbge
t001prefeitura.t001uf = ParUf
t001prefeitura.t001cep = ParCep
t001prefeitura.t001emailprefeitura = ParEmailPrefeitura
t001prefeitura.t001emailprefeito = ParEmailPrefeito
t001prefeitura.t001telfoneprefeitura = ParTelPrefeitura
t001prefeitura.t001telefoneprefeito = ParTelPrefeito
t001prefeitura.t001escritorioregional = ParRegional
t001prefeitura.t001associacao = ParAssociacao
t001prefeitura.t001nomeprefeito = ParNomePrefeito
t001prefeitura.t001apelidoprefeito = ParApelido
t001prefeitura.t001fotoprefeito = Uncrypt(ParFoto,"ParanaCidade",cryptAnsi, encodeBASE64)
t001prefeitura.t001partidoprefeito = ParPartido
t001prefeitura.t001ultimadata = ParUltimaData
IF ParIdPrefeitura <> ""
ok = HModify(t001prefeitura)
IF ok = False THEN
NextTitle("Carga QRY_T001prefeitura_Update")
Info("Registro: "+ParNomeMunicipio,"Ocorreu um erro inesperado.",ErrorInfo())
END
END
END
RESULT(ok)
-------------------------------------------------------------------------------------------------------------------
//Detalhe importante do codigo acima
t001prefeitura.t001fotoprefeito = Uncrypt(ParFoto,"ParanaCidade",cryptAnsi, encodeBASE64)
-------------------------------------------------------------------------------------------------------------------
Webservice - Parana - Listagem Verbas e Obras - Adriano Boller -
http://forum.pcsoft.fr/fr-FR/pcsoft.us.webdev/1622-example-webservice-with-image-serializade-1623/read.awp
-------------------------------------------------------------------------------------------------------------------
Procedure ConsultaPrefeitura(LOCAL ID, LOCAL UltimaData)
X, TamanhoArrayImagem is int = 0
Resultado is string = ""
ImagemPrefeito is string
IF ID = "" THEN
Resultado += "<Xml><Retorno>"
FOR EACH t001prefeitura
IF t001prefeitura.t001ultimadata > UltimaData
X += 1 // Sem filtro
//Converte campo blob imagem em um array de string para mandar a imagem pelo webservice
ImagemPrefeito =Crypt(t001prefeitura.t001fotoprefeito,"ParanaCidade",cryptAnsi,encodeBASE64)
Resultado += "<Prefeitura id="+Charact(34)+X+Charact(34)+">"
Resultado += "<t001apelidoprefeito>" + NoSpace(t001prefeitura.t001apelidoprefeito) + "</t001apelidoprefeito>"
Resultado += "<t001associacao>" + NoSpace(t001prefeitura.t001associacao) + "</t001associacao>"
Resultado += "<t001bairro>" + NoSpace(t001prefeitura.t001bairro) + "</t001bairro>"
Resultado += "<t001cep>" + NoSpace(t001prefeitura.t001cep) + "</t001cep>"
Resultado += "<t001cidade>" + NoSpace(t001prefeitura.t001cidade) + "</t001cidade>"
Resultado += "<t001codIbge>" + NoSpace(t001prefeitura.t001codIbge) + "</t001codIbge>"
Resultado += "<t001codigo>" + NoSpace(t001prefeitura.t001codigo) + "</t001codigo>"
Resultado += "<t001complemento>" + NoSpace(t001prefeitura.t001complemento) + "</t001complemento>"
Resultado += "<t001emailprefeito>" + NoSpace(t001prefeitura.t001emailprefeito) + "</t001emailprefeito>"
Resultado += "<t001emailprefeitura>" + NoSpace(t001prefeitura.t001emailprefeitura) + "</t001emailprefeitura>"
Resultado += "<t001endereco>" + NoSpace(t001prefeitura.t001endereco) + "</t001endereco>"
Resultado += "<t001escritorioregional>" + NoSpace(t001prefeitura.t001escritorioregional) + "</t001escritorioregional>"
Resultado += "<t001gentilico>" + NoSpace(t001prefeitura.t001gentilico) + "</t001gentilico>"
Resultado += "<t001idprefeitura>" + NoSpace(t001prefeitura.t001idprefeitura) + "</t001idprefeitura>"
Resultado += "<t001nomemunicipio>" + NoSpace(t001prefeitura.t001nomemunicipio) + "</t001nomemunicipio>"
Resultado += "<t001nomeprefeito>" + NoSpace(t001prefeitura.t001nomeprefeito) + "</t001nomeprefeito>"
Resultado += "<t001partidoprefeito>" + NoSpace(t001prefeitura.t001partidoprefeito) + "</t001partidoprefeito>"
Resultado += "<t001populacao>" + NoSpace(t001prefeitura.t001populacao) + "</t001populacao>"
Resultado += "<t001telefoneprefeito>" + NoSpace(t001prefeitura.t001telefoneprefeito) + "</t001telefoneprefeito>"
Resultado += "<t001telfoneprefeitura>" + NoSpace(t001prefeitura.t001telfoneprefeitura) + "</t001telfoneprefeitura>"
Resultado += "<t001uf>" + NoSpace(t001prefeitura.t001uf) + "</t001uf>"
Resultado += "<t001ultimadata>" + NoSpace(t001prefeitura.t001ultimadata) + "</t001ultimadata>"
Resultado += "<t001fotoprefeito>" + NoSpace(ImagemPrefeito) + "</t001fotoprefeito>"
Resultado += "</Prefeitura>"
END
END
IF X = 0 THEN
Resultado += "<Prefeitura id="+Charact(34)+0+Charact(34)+">"
Resultado += "<Erro>Registro não encontrado</Erro>"
Resultado += "</Prefeitura>"
END
Resultado += "<TOTAL>"+X+"</TOTAL>"
Resultado += "</Retorno></Xml>"
ELSE
Resultado += "<Xml><Retorno>"
FOR EACH t001prefeitura
IF t001prefeitura.t001idprefeitura=ID AND t001prefeitura.t001ultimadata > UltimaData //Com filtro
X += 1
ImagemPrefeito = Crypt(t001prefeitura.t001fotoprefeito,"ParanaCidade",cryptAnsi,encodeBASE64)
Resultado += "<Prefeitura id="+Charact(34)+X+Charact(34)+">"
Resultado += "<t001apelidoprefeito>" + NoSpace(t001prefeitura.t001apelidoprefeito) + "</t001apelidoprefeito>"
Resultado += "<t001associacao>" + NoSpace(t001prefeitura.t001associacao) + "</t001associacao>"
Resultado += "<t001bairro>" + NoSpace(t001prefeitura.t001bairro) + "</t001bairro>"
Resultado += "<t001cep>" + NoSpace(t001prefeitura.t001cep) + "</t001cep>"
Resultado += "<t001cidade>" + NoSpace(t001prefeitura.t001cidade) + "</t001cidade>"
Resultado += "<t001codIbge>" + NoSpace(t001prefeitura.t001codIbge) + "</t001codIbge>"
Resultado += "<t001codigo>" + NoSpace(t001prefeitura.t001codigo) + "</t001codigo>"
Resultado += "<t001complemento>" + NoSpace(t001prefeitura.t001complemento) + "</t001complemento>"
Resultado += "<t001emailprefeito>" + NoSpace(t001prefeitura.t001emailprefeito) + "</t001emailprefeito>"
Resultado += "<t001emailprefeitura>" + NoSpace(t001prefeitura.t001emailprefeitura) + "</t001emailprefeitura>"
Resultado += "<t001endereco>" + NoSpace(t001prefeitura.t001endereco) + "</t001endereco>"
Resultado += "<t001escritorioregional>" + NoSpace(t001prefeitura.t001escritorioregional) + "</t001escritorioregional>"
Resultado += "<t001gentilico>" + NoSpace(t001prefeitura.t001gentilico) + "</t001gentilico>"
Resultado += "<t001idprefeitura>" + NoSpace(t001prefeitura.t001idprefeitura) + "</t001idprefeitura>"
Resultado += "<t001nomemunicipio>" + NoSpace(t001prefeitura.t001nomemunicipio) + "</t001nomemunicipio>"
Resultado += "<t001nomeprefeito>" + NoSpace(t001prefeitura.t001nomeprefeito) + "</t001nomeprefeito>"
Resultado += "<t001partidoprefeito>" + NoSpace(t001prefeitura.t001partidoprefeito) + "</t001partidoprefeito>"
Resultado += "<t001populacao>" + NoSpace(t001prefeitura.t001populacao) + "</t001populacao>"
Resultado += "<t001telefoneprefeito>" + NoSpace(t001prefeitura.t001telefoneprefeito) + "</t001telefoneprefeito>"
Resultado += "<t001telfoneprefeitura>" + NoSpace(t001prefeitura.t001telfoneprefeitura) + "</t001telfoneprefeitura>"
Resultado += "<t001uf>" + NoSpace(t001prefeitura.t001uf) + "</t001uf>"
Resultado += "<t001ultimadata>" + NoSpace(t001prefeitura.t001ultimadata) + "</t001ultimadata>"
Resultado += "<t001fotoprefeito>" + NoSpace(ImagemPrefeito) + "</t001fotoprefeito>"
Resultado += "</Prefeitura>"
END
END
IF X = 0 THEN
Resultado += "<Prefeitura id="+Charact(34)+0+Charact(34)+">"
Resultado += "<Erro>Registro não encontrado</Erro>"
Resultado += "</Prefeitura>"
END
Resultado += "<TOTAL>"+X+"</TOTAL>"
Resultado += "</Retorno></Xml>"
END
RESULT (Resultado)
-------------------------------------------------------------------------------------------------------------------
Obs.:
//Converte campo blob imagem em um array de string para mandar a imagem pelo webservice
ImagemPrefeito = Crypt(t001prefeitura.t001fotoprefeito,"ParanaCidade",cryptAnsi,encodeBASE64)
-------------------------------------------------------------------------------------------------------------------
/IMAGEM Carregar
IMG_FotoPrefeito = QRY_T001prefeitura.t001fotoprefeito
-------------------------------------------------------------------------------------------------------------------
Procedure RefreshFiltro(LOCAL CodIdPref)
IF CodIdPref > 0 THEN
NextTitle("Atualizando Dados...")
HourGlass(True)
ok is boolean = HExecuteQuery(QRY_T001prefeitura_SelectX,hQueryDefault,CodIdPref)
IF ok = True THEN
//info("OK")
FOR EACH QRY_T001prefeitura_SelectX
STC_MunicipioA = QRY_T001prefeitura_SelectX.t001nomemunicipio
STC_MunicipioB = QRY_T001prefeitura_SelectX.t001nomemunicipio
STC_PopulacaoA = QRY_T001prefeitura_SelectX.t001populacao
STC_PopulacaoB = QRY_T001prefeitura_SelectX.t001populacao
STC_RegionalA = QRY_T001prefeitura_SelectX.t001escritorioregional
STC_RegionalB = QRY_T001prefeitura_SelectX.t001escritorioregional
STC_AssociacaoA = QRY_T001prefeitura_SelectX.t001associacao
STC_AssociacaoB = QRY_T001prefeitura_SelectX.t001associacao
STC_GentilicoA = QRY_T001prefeitura_SelectX.t001gentilico
STC_GentilicoB = QRY_T001prefeitura_SelectX.t001gentilico
STC_EnderecoA = Clip(QRY_T001prefeitura_SelectX.t001endereco) +" "+Clip(QRY_T001prefeitura_SelectX.t001complemento) +" Bairro: "+ QRY_T001prefeitura_SelectX.t001bairro+"Cep: "+QRY_T001prefeitura_SelectX.t001cep
STC_EnderecoB = Clip(QRY_T001prefeitura_SelectX.t001endereco) +" "+Clip(QRY_T001prefeitura_SelectX.t001complemento) +" Bairro: "+ QRY_T001prefeitura_SelectX.t001bairro+"Cep: "+QRY_T001prefeitura_SelectX.t001cep
STC_TelPrefeituraA = QRY_T001prefeitura_SelectX.t001telfoneprefeitura
STC_TelPrefeituraB = QRY_T001prefeitura_SelectX.t001telfoneprefeitura
STC_NomePrefA = QRY_T001prefeitura_SelectX.t001nomeprefeito
STC_NomePrefB = QRY_T001prefeitura_SelectX.t001nomeprefeito
STC_ApelidoA = QRY_T001prefeitura_SelectX.t001apelidoprefeito
STC_ApelidoB = QRY_T001prefeitura_SelectX.t001apelidoprefeito
STC_PartidoA = QRY_T001prefeitura_SelectX.t001partidoprefeito
STC_PartidoB = QRY_T001prefeitura_SelectX.t001partidoprefeito
STC_TelPrefeitoA = QRY_T001prefeitura_SelectX.t001telefoneprefeito
STC_TelPrefeitoB = QRY_T001prefeitura_SelectX.t001telefoneprefeito
STC_EmailMunA = QRY_T001prefeitura_SelectX.t001emailprefeitura
STC_EmailMunB = QRY_T001prefeitura_SelectX.t001emailprefeitura
STC_EmailPrefeitoA = QRY_T001prefeitura_SelectX.t001emailprefeito
STC_EmailPrefeitoB = QRY_T001prefeitura_SelectX.t001emailprefeito
IMG_FotoPrefeito1 = QRY_T001prefeitura_SelectX.t001fotoprefeito
IMG_FotoPrefeito2 = QRY_T001prefeitura_SelectX.t001fotoprefeito
END
RefreshMensagens()
RefreshOperacoes()
RefreshProjetos()
RefreshSituacao()
RefreshLotes()
ELSE
Info("Erro")
END
HourGlass(False)
END
-------------------------------------------------------------------------------------------------------------------
//Lê Webservice importa a foto para a tabela descriptografando
Procedure WS_IncluiAltera_T001prefeitura(ParIdPrefeitura,ParNomeMunicipio,ParPopulacao,ParGentilico,ParEndereco,ParComplemento,ParBairro,ParCidade,ParIbge,ParUf,ParCep,ParEmailPrefeitura,ParEmailPrefeito,ParTelPrefeitura,ParTelPrefeito,ParRegional,ParAssociacao,ParNomePrefeito,ParApelido,ParPartido,ParUltimaData,ParFoto)
//variaveis
ok is boolean = False
ChangeCharset(charsetOccidental) // SEM ACENTO
//Xml
IF ParUltimaData = ""
ParUltimaData = Hoje("")
END
GloTotalImport += 1
IF gbTabletiPad = True
WIN_06Sincronizar_iPad.PROGBAR_Total..Value = GloTotalImport
END
IF GloTotalImport >= 100 THEN
GloTotalImport = 0
END
IF gsUltimaData <> ""
//loop de leitura do xml - filtro unico cidade
HReadSeekFirst(t001prefeitura,t001prefeitura.t001nomemunicipio,ParNomeMunicipio)
IF HFound(t001prefeitura) = False
// se nao tem insert
t001prefeitura.t001idprefeitura = ParIdPrefeitura
t001prefeitura.t001nomemunicipio = ParNomeMunicipio
t001prefeitura.t001populacao = ParPopulacao
t001prefeitura.t001gentilico = ParGentilico
t001prefeitura.t001endereco = ParEndereco
t001prefeitura.t001complemento = ParComplemento
t001prefeitura.t001bairro = ParBairro
t001prefeitura.t001cidade = ParCidade
t001prefeitura.t001codIbge = ParIbge
t001prefeitura.t001uf = ParUf
t001prefeitura.t001cep = ParCep
t001prefeitura.t001emailprefeitura = ParEmailPrefeitura
t001prefeitura.t001emailprefeito = ParEmailPrefeito
t001prefeitura.t001telfoneprefeitura = ParTelPrefeitura
t001prefeitura.t001telefoneprefeito = ParTelPrefeito
t001prefeitura.t001escritorioregional = ParRegional
t001prefeitura.t001associacao = ParAssociacao
t001prefeitura.t001nomeprefeito = ParNomePrefeito
t001prefeitura.t001apelidoprefeito = ParApelido
t001prefeitura.t001fotoprefeito = Uncrypt(ParFoto,"ParanaCidade",cryptAnsi, encodeBASE64)
t001prefeitura.t001partidoprefeito = ParPartido
t001prefeitura.t001ultimadata = ParUltimaData
IF ParIdPrefeitura <> ""
ok = HAdd(t001prefeitura)
IF ok = False THEN
NextTitle("Carga QRY_T001prefeitura_Insert")
Info("Registro: "+ParNomeMunicipio,"Ocorreu um erro inesperado.",ErrorInfo())
END
END
ELSE IF HFound(t001prefeitura) = True AND t001prefeitura.t001ultimadata <> ParUltimaData
//ou Update
t001prefeitura.t001idprefeitura = ParIdPrefeitura
t001prefeitura.t001nomemunicipio = ParNomeMunicipio
t001prefeitura.t001populacao = ParPopulacao
t001prefeitura.t001gentilico = ParGentilico
t001prefeitura.t001endereco = ParEndereco
t001prefeitura.t001complemento = ParComplemento
t001prefeitura.t001bairro = ParBairro
t001prefeitura.t001cidade = ParCidade
t001prefeitura.t001codIbge = ParIbge
t001prefeitura.t001uf = ParUf
t001prefeitura.t001cep = ParCep
t001prefeitura.t001emailprefeitura = ParEmailPrefeitura
t001prefeitura.t001emailprefeito = ParEmailPrefeito
t001prefeitura.t001telfoneprefeitura = ParTelPrefeitura
t001prefeitura.t001telefoneprefeito = ParTelPrefeito
t001prefeitura.t001escritorioregional = ParRegional
t001prefeitura.t001associacao = ParAssociacao
t001prefeitura.t001nomeprefeito = ParNomePrefeito
t001prefeitura.t001apelidoprefeito = ParApelido
t001prefeitura.t001fotoprefeito = Uncrypt(ParFoto,"ParanaCidade",cryptAnsi, encodeBASE64)
t001prefeitura.t001partidoprefeito = ParPartido
t001prefeitura.t001ultimadata = ParUltimaData
IF ParIdPrefeitura <> ""
ok = HModify(t001prefeitura)
IF ok = False THEN
NextTitle("Carga QRY_T001prefeitura_Update")
Info("Registro: "+ParNomeMunicipio,"Ocorreu um erro inesperado.",ErrorInfo())
END
END
END
//fim do loop de leitura do xml
ELSE
// se nao tem insert
t001prefeitura.t001idprefeitura = ParIdPrefeitura
t001prefeitura.t001nomemunicipio = ParNomeMunicipio
t001prefeitura.t001populacao = ParPopulacao
t001prefeitura.t001gentilico = ParGentilico
t001prefeitura.t001endereco = ParEndereco
t001prefeitura.t001complemento = ParComplemento
t001prefeitura.t001bairro = ParBairro
t001prefeitura.t001cidade = ParCidade
t001prefeitura.t001codIbge = ParIbge
t001prefeitura.t001uf = ParUf
t001prefeitura.t001cep = ParCep
t001prefeitura.t001emailprefeitura = ParEmailPrefeitura
t001prefeitura.t001emailprefeito = ParEmailPrefeito
t001prefeitura.t001telfoneprefeitura = ParTelPrefeitura
t001prefeitura.t001telefoneprefeito = ParTelPrefeito
t001prefeitura.t001escritorioregional = ParRegional
t001prefeitura.t001associacao = ParAssociacao
t001prefeitura.t001nomeprefeito = ParNomePrefeito
t001prefeitura.t001apelidoprefeito = ParApelido
t001prefeitura.t001fotoprefeito = Uncrypt(ParFoto,"ParanaCidade",cryptAnsi, encodeBASE64)
t001prefeitura.t001partidoprefeito = ParPartido
t001prefeitura.t001ultimadata = ParUltimaData
IF ParIdPrefeitura <> ""
ok = HModify(t001prefeitura)
IF ok = False THEN
NextTitle("Carga QRY_T001prefeitura_Update")
Info("Registro: "+ParNomeMunicipio,"Ocorreu um erro inesperado.",ErrorInfo())
END
END
END
RESULT(ok)
-------------------------------------------------------------------------------------------------------------------
//Detalhe importante do codigo acima
t001prefeitura.t001fotoprefeito = Uncrypt(ParFoto,"ParanaCidade",cryptAnsi, encodeBASE64)
-------------------------------------------------------------------------------------------------------------------