• advertisement_alt
  • advertisement_alt
  • advertisement_alt

All Activity

This stream auto-updates   

  1. Earlier
  2. Dica de Luiz Antonio (zap PCSOFT BRASIL) obter Marca, modelo e outras informações do aparelho import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.*; import android.os.Bundle; import android.telephony.TelephonyManager; import android.util.Log; import android.widget.Toast; import android.provider.Settings.Secure; public static String getDeviceName() { String serial = android.os.Build.SERIAL; return (serial); } //EM JAVA !!! // NÃO USEI PRO SERIAL MAS FUNCIONA PRO MODELO public static String getDeviceName() { String manufacturer = android.os.Build.MANUFACTURER; String model = android.os.Build.MODEL; String brand = android.os.Build.BRAND; String product = android.os.Build.PRODUCT; String board = android.os.Build.BOARD; String bootloader = android.os.Build.BOOTLOADER; String cpu_abi = android.os.Build.CPU_ABI; String cpu_abi2 = android.os.Build.CPU_ABI2; String device = android.os.Build.DEVICE; String display = android.os.Build.DISPLAY; String fingerprint = android.os.Build.FINGERPRINT; String hardware = android.os.Build.HARDWARE; String host = android.os.Build.HOST; String id = android.os.Build.ID; String radio = android.os.Build.RADIO; String serial = android.os.Build.SERIAL; String tags = android.os.Build.TAGS; String type = android.os.Build.TYPE; String user = android.os.Build.USER; return (model); if (model.startsWith(manufacturer)) { return (model); } else { String MarcaModeloCelular="manufacturer: "+ (manufacturer) + "; model: "+ (model) + "; brand: "+ (brand) + "; product: "+ (product) + "; board:"+ (board) + "; bootloader: "+ (bootloader) + "; cpu_abi: "+ (cpu_abi) + "; cpu_abi2: "+ (cpu_abi2) + "; device: "+ (device) + "; display: "+ (display) + "; fingerprint: "+ (fingerprint) + "; hardware: "+ (hardware) + "; host: "+ (host) + "; id: "+ (id) + "; radio: "+ (radio) + "; serial: "+ (serial) + "; tags: "+ (tags) + "; type: "+ (type) + "; user: "+ (user); MarcaModeloCelular=MarcaModeloCelular.toUpperCase(); return MarcaModeloCelular; }
  3. Mas eai, alguma outra alternativa q nao seja atualizar pra versao 27? (por motivos obvios eh claro hehe)
  4. Eh a versao 25....
  5. É importante informar a versão do WD que você esta usando, acredito que seja anterior a versão 27, se for este o caso, você tem que atualizar o Windev. Att, Evandro Andersen
  6. Dae pessoal alguem usa esse comando? Depois do android 10 ele parou de funcionar...
  7. Testei aki e não deu certo, o estranho é q em Harbour eu faço exatamente isso Decodifico na Base64 depois Unzip e pronto
  8. sjson is JSON = [ { "resultado": { "arquivo": "UEsDBBQAAAAIAMOUwp3Ci05RwpzCqzLDsQEAAMO5GwAAMAAAAEVOVFJfMzA2Nl8xODkxODlfMjAxOTA0MTAxODE0NDQzMjQ1MTM0XzI2XzAuanNvbsOtw5bDkWvDnCAYAMOwf2XDpDkZwp9GwqPDqcObw5rCu8Kxw4HCtcKUw7UowowxwoZEdwhJLCbDqcOLw5jDvz7Do13DmzBCw6NDS0pRcsOHw4V8w4bDr8OTH8KHP8O+JFrDnsKYWlfCuhfClTDDl8OWVMKqw6tEwqPDmsOeXMKae8OtfyRnwpjCpUk7NMKfDnbCuBPCpz5IwpPDisOIwr3CvsKbBsKiNMOpw7TCoRbCk8KuZHvCtcO/wpbCpMKJFMK9w7jDmsK6wpnDjMO0IQbDhDMoMwx7woAzf2XCkMK7w6/Dk8KIw4/CusKZDcOHw7PDoV/CjBVzw7U8DS8zIBlCw78Pw7fDtV3DlMOaBSpXBi/DnXXDrDNtb8KFG8O9w5jCqcOlwqXCkcKiw5ZSSMOlJsKQwoN/w6jCg8O3wrofanfCl1NUwrjChFRXw53CqMOhamjClB1nw5/CuHvDtzbCk8OtNsK7U8K+wrfCqsKtwo7DhcO5wqFPOcOSDMONwqzDiMK9wqjCjX3CiMOkw7QjwrjDpsK3QR/DjMK5wrBWdMOuBcKMFiVjHBPDsMKNUwDClENRAMKCYwljw6/CmMKhw6s/wqYxbsOXdixTwopJAmx+wonCt8KNditqNsKmGkI3ccKnG8OdwqtrccOwG8OxfMKRwo/Ciy4uwozCtcKnw60gGGN4KF9Yw717CgzDvDLDvE3Co8OlV8KywozDs1Utw5Nlw4s4wo/ClsKjw6UQw4s5wqxqOV/CtsKcQ8K0HC3Ch1gmfFXDi2jDmTLDocORcsK0HGLCmcOSwrduwpnDkmg5Wg7CsVzDoFUtw7Nlw4sFwo7ClsKjw6UQw4tsw53Ds3 LDgMO/MsKLw6fDpWg5w4gyZ8KrWibDi8KWOcKLwpbCo8OlEMOLJVnDlTJewrZcwpJoOVoOwrBcw7DCmTPDhsOtw67DvMOXZsO7w73Dg8OYXsOAMn7DrsKMw4EJdsKGw53Ch8KScsOOwrLDi8Owwp3CnTF+w74DUEsBAj8AFAAAAAgAw5TCncKLTlHCnMKrMsOxAQAAw7kbAAAwACQAAAAAAAAAIAAAAAAAAABFTlRSXzMwNjZfMTg5MTg5XzIwMTkwNDEwMTgxNDQ0MzI0NTEzNF8yNl8wLmpzb24KACAAAAAAAAEAGADCsMKtw6pswrjDsMOUAQDDr8OJwofDrsOvw5QBAMOvw4nCh8Ouw6/DlAFQSwUGAAAAAAEAAQDCggAAAD8CAAAAAA==", "nomeArquivo": "ENTR_3066_189189_201904260922011189887_47_0.zip" }} ] bufBContent is Buffer = Decode(sjson.resultado.arquivo,encodeBASE64) bufBdescomprimido is Buffe = Uncompress(bufBContent) sResultadoContent is string = bufBdescomprimido Rode ai pra ver.. Em minha cabeça.. o resultado deveria ser algo Compreensivel , ja decodificado, e zipado, seria isso mesmo ???
  9. eu ia sugerir fazer igual do retorno da NFe vc basicamente faz um Decode no Base64 e depois um Unzip, posta teu código pra avaliarmos.
  10. Prezados, Estava estudando por aprendizado a API REST de Cobrança do Banco Sicoob Sicoob | Open Banking Quando se faz o cadastro, você recebe as credenciais, conta, senha , bem legal. Url ->Cobrança Bancária Autenticação->Pessoa Jurídica.. o Recurso par Download de movimentação. Ele retorna um json contendo um Zip em Base64 Alguma sugestão de como eu possa extrair esse conteúdo e converte-lo ? Eu tentei assistindo aula de @Amarildo de Matos DICAS 3371 WINDEV WEBDEV MOBILE NFeDistribuicaoDFe Parte 2 doczip relacao resumo notas em windeV Cur - YouTube aos 4:13 mas não consegui. Aqui o Exemplo de json de resposta que fala para extrair o conteudo zip base64 { "resultado": { "arquivo": "UEsDBBQAAAAIAMOUwp3Ci05RwpzCqzLDsQEAAMO5GwAAMAAAAEVOVFJfMzA2Nl8xODkxODlfMjAxOTA0MTAxODE0NDQzMjQ1MTM0XzI2XzAuanNvbsOtw5bDkWvDnCAYAMOwf2XDpDkZwp9GwqPDqcObw5rCu8Kxw4HCtcKUw7UowowxwoZEdwhJLCbDqcOLw5jDvz7Do13DmzBCw6NDS0pRcsOHw4V8w4bDr8OTH8KHP8O+JFrDnsKYWlfCuhfClTDDl8OWVMKqw6tEwqPDmsOeXMKae8OtfyRnwpjCpUk7NMKfDnbCuBPCpz5IwpPDisOIwr3CvsKbBsKiNMOpw7TCoRbCk8KuZHvCtcO/wpbCpMKJFMK9w7jDmsK6wpnDjMO0IQbDhDMoMwx7woAzf2XCkMK7w6/Dk8KIw4/CusKZDcOHw7PDoV/CjBVzw7U8DS8zIBlCw78Pw7fDtV3DlMOaBSpXBi/DnXXDrDNtb8KFG8O9w5jCqcOlwqXCkcKiw5ZSSMOlJsKQwoN/w6jCg8O3wrofanfCl1NUwrjChFRXw53CqMOhamjClB1nw5/CuHvDtzbCk8OtNsK7U8K+wrfCqsKtwo7DhcO5wqFPOcOSDMONwqzDiMK9wqjCjX3CiMOkw7QjwrjDpsK3QR/DjMK5wrBWdMOuBcKMFiVjHBPDsMKNUwDClENRAMKCYwljw6/CmMKhw6s/wqYxbsOXdixTwopJAmx+wonCt8KNditqNsKmGkI3ccKnG8OdwqtrccOwG8OxfMKRwo/Ciy4uwozCtcKnw60gGGN4KF9Yw717CgzDvDLDvE3Co8OlV8KywozDs1Utw5Nlw4s4wo/ClsKjw6UQw4s5wqxqOV/CtsKcQ8K0HC3Ch1gmfFXDi2jDmTLDocORcsK0HGLCmcOSwrduwpnDkmg5Wg7CsVzDoFUtw7Nlw4sFwo7ClsKjw6UQw4tsw53Ds3LDgMO/MsKLw6fDpWg5w4gyZ8KrWibDi8KWOcKLwpbCo8OlEMOLJVnDlTJewrZcwpJoOVoOwrBcw7DCmTPDhsOtw67DvMOXZsO7w73Dg8OYXsOAMn7DrsKMw4EJdsKGw53Ch8KScsOOwrLDi8Owwp3CnTF+w74DUEsBAj8AFAAAAAgAw5TCncKLTlHCnMKrMsOxAQAAw7kbAAAwACQAAAAAAAAAIAAAAAAAAABFTlRSXzMwNjZfMTg5MTg5XzIwMTkwNDEwMTgxNDQ0MzI0NTEzNF8yNl8wLmpzb24KACAAAAAAAAEAGADCsMKtw6pswrjDsMOUAQDDr8OJwofDrsOvw5QBAMOvw4nCh8Ouw6/DlAFQSwUGAAAAAAEAAQDCggAAAD8CAAAAAA==", "nomeArquivo": "ENTR_3066_189189_201904260922011189887_47_0.zip" }} Sugestões ???
  11. Dica do Paulo Viana Versão mínima do windev: 24
  12. @Luiz FERNANDO Creio que CurrentSubscript possa ajudar no que precisa. https://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/3756-alterando-cor-fundo-fonte-table/read.awp?lastpost&cp=4 row display ao mostrar ou Select / click nao me recordo, ao selecionar ! Veja se é isso...
  13. boa tarde pessoal, to me deparando com um problema, no windev mobile, tenho um campo texto num report, soh q este campo texto teima em mostrar apenas duas linhas do texto, mesmo tendo mais de duas hehe, ae vai faltando informacao, alguem ja passou por esse problema?
  14. Pessoal veja se alguém pode me ajudar, conforme o usuário preciso ocultar a informação de uma coluna, usando o comando abaixo da certo(figura 1), mais se a linha tiver selecionada ele mostra o conteúdo(figura 2) , alguém teria alguma dica, obg IF TABLE_saida_itens[TABLE_saida_itens].COL_servico=2 THEN IF garrUsuarios[gnPosicao_usuario,19]=False THEN TABLE_saida_itens[TABLE_saida_itens].COL_total..Color = Black TABLE_saida_itens[TABLE_saida_itens].COL_total..BackgroundColor = Black TABLE_saida_itens[TABLE_saida_itens].COL_unitario..Color = Black TABLE_saida_itens[TABLE_saida_itens].COL_unitario..BackgroundColor = Black END END
  15. precisando de ajuda , amigo.. so chamar... #tamoJunto
  16. Dedicado é melhor. Qto a montar o Server o @Amarildo de Matos tem muito conhecimento pra te ajudar pq são coisas simples, mas variadas.
  17. Bom dia Amarildo estou fechando um servidor dedicado hoje com alphaservers, sobre dar tratamento em rest (POST GET) usando JSON e tb fazer deploy do projeto eu já tenho o conhecimento basico para isso, minha duvida mesmo é como montar(preparar) um servidor, pois todos meus teste foram feito no servidor do Adriano Booler, e la já está tudo pronto. Obs: caso vc tiver esse conhecimento e poder me dar uma consultoria me chama em off, obg.
  18. bom dia.. tenho estudado muito a parte do webservice, com rest, antes eu utilizacao soap. se quizer ver algo sobre webservices, e tirar duvidas, tenho agora todos os sabados de manha, podcast ao vivo com os colegas do windev tambem podemos falar sobre o servidor alphaservers que eu utilizo tambem..
  19. Cassiano obg pelo retorno, a forma que vc mencionou acima que configurar um servidor para usar webservice com windev não é tão complicado assim, me animou aqui, vou ver se faço um teste com AlphaServers, estava vendo os pacote deles, vc acha que um Semi-Dedicado para começar resolve, ou é melhor um Dedicado.
  20. Pra ter webservice com webdev não precisa aprender PHP, tenho vários Webservices, depois q vc pega a manhã é simples, contrata um servidor simples na AlphaServers (tem o banner aki no fórum) fala com o Luis lá q vc viu o anuncio no fórum wxDev depois q ele passar o preço q ele te da um desconto. Depois vc entra no servidor contratado instala o WAS e basicamente já ta pronto, talvez seja necessário configurar uma coisa ou outra, mas a grosso modo ta filé Ai vc vai no teu webdev e faz o deploy lá, pronto, webservice rodando no ar. Logicamente q se vc souber php etc etc fará tudo sem precisar do WAS, mas ai não precisa nem do WEBDEV, como não tenho tempo e curva de aprendizagem pra mim da forma q estou trabalhando tá ótimo, lembrando q o WAS Free são 10 conexões simultaneas mas pra começar ta bom, depois qdo precisar aumentar isso tem q ser o WAS FULL. Não sei se era essa exatamente sua dúvida.
  21. Pessoal andei fazendo uns treinamento com o TOM e consegui aprender a mexer com WEBSERVICE, trocando ideia com um outro amigo, ele me aconselhou a fazer isso em PHP, pois é bem mais simples dar manutenção, uma vez configurado o ISS ou Apache o servidor já está pronto, agora em windev preparar um servidor para ele parece não ser tão simples assim, eu particularmente não sei fazer, trabalho com banco de dados MariaDB, daí fiquei na dúvida, começar o aprendizado tudo novamente em PHP, ou aprender a configurar um servidor para usar a windev e tudo que eu alterar no projeto fazer um DEPLOY, se algum colega poder dar a sua opinião.
  22. Dica ofertada por @Jackson Douglas do pandeiro Em pergunta de @Janio Aguiar Como pegar o vencimento de um certificado digital em formato .pfx arrCertificate = CertificateLoad( certificado.fpx, senha ) MyCertificate = arrCertificate[4] ConferenceDuration is Duration = SysDateTime() - MyCertificate.EndValidityDate IF MyCertificate.EndValidityDate < SysDateTime() then INFO( "VENCIDO") END @Ronei Marcos Heck tambem contribuiu sListaCertificados is string = "" arrCertificados is array of Certificates arrCertificados = CertificateList() nNrCertificado is int = 0 FOR EACH Certificado OF arrCertificados nNrCertificado ++ sListaCertificados += "<Certificado" + nNrCertificado + ">" sListaCertificados += Certificado..Name + ";" sListaCertificados += Upper(Replace(Certificado..ThumbPrint, " ", "")) + ";" sListaCertificados += Certificado..FullIssuer + ";" sListaCertificados += Certificado..StartValidityDate + ";" sListaCertificados += Certificado..EndValidityDate + ";" sListaCertificados += Replace(Certificado..SerialNumber, " ", "") + ";" sListaCertificados += Certificado..ValidForSignature sListaCertificados += "</Certificado" + nNrCertificado + ">" END
  23. Dica ofertada por @Jackson Douglas do pandeiro Em pergunta de @Janio Aguiar Como pegar o vencimento de um certificado digital em formato .pfx arrCertificate = CertificateLoad( certificado.fpx, senha ) MyCertificate = arrCertificate[4] ConferenceDuration is Duration = SysDateTime() - MyCertificate.EndValidityDate IF MyCertificate.EndValidityDate < SysDateTime() then INFO( "VENCIDO") END @Ronei Marcos Heck tambem contribuiu sListaCertificados is string = "" arrCertificados is array of Certificates arrCertificados = CertificateList() nNrCertificado is int = 0 FOR EACH Certificado OF arrCertificados nNrCertificado ++ sListaCertificados += "<Certificado" + nNrCertificado + ">" sListaCertificados += Certificado..Name + ";" sListaCertificados += Upper(Replace(Certificado..ThumbPrint, " ", "")) + ";" sListaCertificados += Certificado..FullIssuer + ";" sListaCertificados += Certificado..StartValidityDate + ";" sListaCertificados += Certificado..EndValidityDate + ";" sListaCertificados += Replace(Certificado..SerialNumber, " ", "") + ";" sListaCertificados += Certificado..ValidForSignature sListaCertificados += "</Certificado" + nNrCertificado + ">" END
  24. bom dia..meu grande amigo caio. quando eu nao acho solucao, faço o seguinte: dentro de uma windows, crio uma tabela por programacao, e preenchendo essa tabela com array. e ai. sim depois, que gero o relatorio em cima da tabela.. isso, tem me quebrado muitos galhos.meu.. valeuuu
  25. Qual a melhor forma de gerar um relatório baseado em um array? Via programação? Via variavel? Tentei de ambas as formas e ainda não cheguei a uma solução para o problema.
  26. Anexo as imagens de como "resolvi".
  1. Load more activity