• advertisement_alt
  • advertisement_alt
  • advertisement_alt

Cleiton Fidelis

Moderators
  • Content count

    119
  • Joined

  • Last visited

  • Days Won

    21

Cleiton Fidelis last won the day on January 11

Cleiton Fidelis had the most liked content!

Community Reputation

52 Excellent

About Cleiton Fidelis

  • Rank
    Segundo Sargento
  1. 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; }
  2. 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 ???
  3. 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 ???
  4. @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...
  5. 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
  6. 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
  7. Apenas chute... nao tem relação com o comando "EXTERN" ... ?
  8. @caiogarcia conseguiu ? como ?
  9. @caiogarcia conseguiu, Piá? Conte-nos , mostre-nos como ficou.
  10. Senhores, Iniciei estudos de integração com API Mercado livre https://developers.mercadolivre.com.br/pt_br/api-docs-pt-br Seguindo a documentação: 1-Primeiros Passos: Gerei meu APP, inseri na URI http://localhost ou https://mercadolivre.com.br (testei com as duas informações) 2-Acessei manualmente o site do mercado livre e loguei-me. 3-Preciso enviar os parametros abaixo obter um token de autorização na URL de retorno Usando o Protocolo de Autorização OAuth2 Envia-se o ClienteID, e RedirectURL , gerados no cadastro da APP (1) OAuth2Params is OAuth2Parameters OAuth2Params.AuthURL = "https://auth.mercadolivre.com.br/authorization" OAuth2Params.ResponseType = oauth2ResponseTypeCode OAuth2Params.ClientID = "3015474604949942" Auth2Params.RedirectionURL = "http://localhost" //"https://mercadolivre.com.br" ***************************************************************************************** */ removi as duas linhas abaixo, ja enviei preenchida e não deu resultado. //OAuth2Params.ClientSecret = "MyKey Secret gerada no cadastro." //OAuth2Params.TokenURL = "http://localhost" ************************************************************************************************** MyToken is AuthToken = AuthIdentify(OAuth2Params) Me retorna a URL com erro: http://localhost/?error=strict_redirect_uri_mismatch&error_description=Your+client+callback+has+to+match+with+the+redirect_uri+param&state=yAYAABtxVQAAAA Não sei o que posso estar fazendo errado com o protocolo Oauth2 Se eu pegar a string inteira abaixo e colar no navegador e enter, funciona https://auth.mercadolivre.com.br/authorization?response_type=code&client_id=3015474604949942&redirect_uri=http://localhost hrequest poderia funcionar ? Como pegar uma URL Modificada a partir da requisição ? Como ficaria ? Alguém consegue dar uma sugestão ? Falta-me conhecimento para pensar em comandos, tenho estudado ! Eu pago a coca cola na DEVCON 2021 Obrigado..
  11. @Cassiano tenho não, Sir @Vilani disponibilizou algo https://wxdev.com.br/forum/applications/core/interface/file/attachment.php?id=193
  12. Playlist com os Videos de @JULIO CESAR PEDROSO sobre WINDEV 25 https://www.youtube.com/playlist?list=PLYgB8kapIj5-yeSTIQdHbzeY_lEaSJpg9
  13. Obrigado @Rinaldo Xavier Gracinha do cê ...
  14. Meninos e meninas (tem heim) O Controle TABCONTROL, se tiver 8 panes por exemplo, ao carregar o formulário que o contem, as 8 panes são processadas imediatamente ? Exemplo: Carregamos o form, e se houver query nas 8 panes, todas as 8 querys sao executadas de uma vez ? - Outra, não é possivel colocar codigo em cada pane ? Tks
  15. @ricardo80 Algo assim ? https://help.windev.com/en-US/?1000020967&name=control_type_variable