Passando datas para uma Procedure
Se você tiver um controle em uma janela que seja originado por um campo de data de um arquivo, este será apresentado como
uma string ANSI. Desta forma se você tentar passasr este controle para um procedimento que espere uma data, o que
ocasionará um erro.
Uma solução é usar o seguinte código:
Minhadata is Date = DocumentDate
INHEAD.PeriodCode = GetPeriodFromDate(Minhadata)
Isto faz com que o procedimento chamado use a data passada diretamente.
PROCEDURE GetPeriodFromDate(lcDate is Date)
MyReturnVal is int = -1
HReadFirst(Finperiods,FinperiodsID)
WHILE NOT HOut(Finperiods)
IF Finperiods.PeriodStart <= lcDate AND Finperiods.PeriodEnd >= lcDate THEN
MyReturnVal = Finperiods.PeriodCode
BREAK
END
HReadNext(Finperiods, FinperiodsID)
END
RESULT MyReturnVal
Gestão do Conhecimento http://pedroso.mysuite.com.br/services/gcHtml.php
1
sábado, 14 de fevereiro de 2015
Move Diretorio
Move Diretorio
FMoveDir - http://doc.windev.com
FMoveDir - http://doc.windev.com
fMoveDir (Function)
In French: fRepDéplace
Moves the content of a directory into another directory.
Example
// Moving the content of a directory
// The content of the "C:\Directories\MyFiles" directory is moved
// into the "D:\Documents\FileCopy" directory
Res is boolean
Res = fMoveDir("C:\Directories\MyFiles", "D:\Documents\FileCopy", frRecursive)
IF Res = False THEN
Error(ErrorInfo(errMessage))
END
// The content of the "C:\Directories\MyFiles" directory is moved
// into the "D:\Documents\FileCopy" directory
Res is boolean
Res = fMoveDir("C:\Directories\MyFiles", "D:\Documents\FileCopy", frRecursive)
IF Res = False THEN
Error(ErrorInfo(errMessage))
END
Windev Data Texto Para Postgres
Windev Data Texto Para Postgres
Para converter um campo texto para campo data, usar a funcao
StringToDate
nota_fiscal.data_emissao = StringToDate("16/09/2014","DD-MM-YYYY")
Para converter um campo texto para campo data, usar a funcao
StringToDate
nota_fiscal.data_emissao = StringToDate("16/09/2014","DD-MM-YYYY")
quinta-feira, 29 de janeiro de 2015
Solução para XML reurn Chines em HttpRequest e HttpGetResult - Adriano Boller
Solução para XML reurn Chines em HttpRequest e HttpGetResult - Adriano Boller
-------------------------------------------------------------------------------------------------------------------
Blog Relacionado com Assunto - http://windevdesenvolvimento.blogspot.com.br/2015/01/utf8toansi-funcao-converte-utf8-em-ansi.html
-------------------------------------------------------------------------------------------------------------------
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/
-------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------
Blog Relacionado com Assunto - http://windevdesenvolvimento.blogspot.com.br/2015/01/utf8toansi-funcao-converte-utf8-em-ansi.html
-------------------------------------------------------------------------------------------------------------------
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/
-------------------------------------------------------------------------------------------------------------------
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)
-------------------------------------------------------------------------------------------------------------------
Assinar:
Postagens (Atom)
Teste
teste

























































