Cassiano

Administrators
  • Content count

    218
  • Joined

  • Last visited

  • Days Won

    128

Everything posted by Cassiano

  1. Tentou debugar pra avaliar o q ocorre dentro do ManageTransfer?
  2. Não seria a versão do teu Windev? Não sei se tem algo a ver
  3. Estranho pq não tem nada a ver. Certeza q não ta esquecendo algum comando pra mudança de plane perdido no código?
  4. Experimentou transformar antes em uma variável string e depois concatenar? Verificou a questão de ANSI e UNICODE no Projeto?
  5. Parabéns, muito bom exemplo de outra forma de se tratar esta questão, grato por compartilhar
  6. Não sei se será possível, parece q não tem um padrão nisso, teria q ver se esta correto este JSON no sentido de padronização, pq se vc teria q montar uma STRUCTURE para deserializar o JSON na STRUCTURE e usar o ARRAYSEEK.
  7. Q bom parabéns, obrigado por compartilhar.
  8. Testei aki e funcionou normalmente dsClientes is Data Source HExecuteSQLQuery(dsClientes, hQueryDefault, "Select * From Clientes where tolerancia in ( 1, 3, 22)" ) Testei com DBF e HFSQL Cliente Server e Classic Se vc esta testando no PostgreSQL pode ser q o PostgreSQL não aceite o IN, mas ia não sei.
  9. Se cabeçalho será uma página diferente mesmo q no preview, acredito q vc possa usar a propriedade de pagina, exemplo se for página 01 cabeçalho 01 se for página 02 cabeçalho 02 e assim por diante, não resolveria?
  10. até q ponto vc já fez?
  11. Parece q não, teve um colega q teve problemas com isso ai o q ele fez foi criar a identificação dele e salva isso num banco e mais algumas informações do device se não me engano na versão 26 tem algo meio q automatizado nesse sentido, não tenho certeza. vc pode pegar informações tipo modelo do aparelho, fabricante + data + hora etc e criar um hash unico algo assim
  12. Não sei, mas poderia ser feito um teste, cria uma tabela de teste ou pega a tabela CEP por exemplo e faz testes de todas as formas possíveis e compara os tempos.
  13. Comentei no seu código onde vc tem q alterar pra ver se resolve o problema.
  14. O projeto ACBr é um projeto open source q existe a mais de 10 anos integrando diversas facilidades, uma delas é o envio de emails. Os componentes do projeto ACBr são nativos para linguagem pascal, no entanto, podem ser utilizados por outras linguagens por meio de um monitor (EXE q monitora determinada pasta e faz troca de arquivos para interação das funcionalidades) e agora via Dll. O objetivo deste tópico é fornecer um exemplo de código / passo a passo para utilizar a Dll no envio de e-mails Segue: // Manual Online do ACBrLib // https://acbr.sourceforge.io/ACBrLib/MAIL_Inicializar.html // Pré requisitos: // Dlls: // ACBrMail32.dll q deve estar na pasta EXE do projeto // Demais dlls dependencias q são: // libssl-1_1.dll // libcrypto-1_1.dll DLLRetorno is int = 0 // Caso não exista será criado o arquivo ACBrEmail.INI no path informado DLLRetorno = CallDLL32("ACBrMail32.dll","MAIL_Inicializar",fCurrentDir()+"\ACBrEmail.INI", "") // Segundo parametro conforme manual é a chave de criptografia, se deixar em branco fica o padrão DLLRetorno = CallDLL32("ACBrMail32.dll","MAIL_ConfigGravarValor","Email","Nome", "Sua Empresa") DLLRetorno = CallDLL32("ACBrMail32.dll","MAIL_ConfigGravarValor","Email","Conta", "[email protected]") DLLRetorno = CallDLL32("ACBrMail32.dll","MAIL_ConfigGravarValor","Email","Usuario", "[email protected]") DLLRetorno = CallDLL32("ACBrMail32.dll","MAIL_ConfigGravarValor","Email","Senha", "senhadoemail") DLLRetorno = CallDLL32("ACBrMail32.dll","MAIL_ConfigGravarValor","Email","Servidor", "smtp.googlemail.com") // se for google, se não tem q ver as configurações dos outros DLLRetorno = CallDLL32("ACBrMail32.dll","MAIL_ConfigGravarValor","Email","Porta", "465") // exemplo se for hotmail, yahoo, etc, pode ser q varie a porta, SSL, TLS etc DLLRetorno = CallDLL32("ACBrMail32.dll","MAIL_ConfigGravarValor","Email","SSL", "1") // vide configuração do provedor de email e tb como configurar no manual* DLLRetorno = CallDLL32("ACBrMail32.dll","MAIL_ConfigGravarValor","Email","TLS", "0") DLLRetorno = CallDLL32("ACBrMail32.dll","MAIL_Clear") DLLRetorno = CallDLL32("ACBrMail32.dll","MAIL_SetSubject", "Email Teste" ) DLLRetorno = CallDLL32("ACBrMail32.dll","MAIL_AddAddress","[email protected]", "Nome do destinatário" ) DLLRetorno = CallDLL32("ACBrMail32.dll","MAIL_AddAltBody", "Corpo do email teste" ) DLLRetorno = CallDLL32("ACBrMail32.dll","MAIL_Send", True) // manda via thread, em background DLLRetorno = CallDLL32("ACBrMail32.dll","MAIL_Finalizar") Info(DLLRetorno) // lista de retornos no manual
  15. Código abaixo pra saber nr de série da placa mãe. objLocator is object Automation "WbemScripting.SWbemLocator" objService is object Automation dynamic Results is object Automation dynamic WHEN EXCEPTION IN objService = objLocator>>ConnectServer(".", "root\cimv2") objService>>Security_>>ImpersonationLevel = 3 // Motherboard infos Results = objService>>ExecQuery("SELECT Manufacturer, Product, Version, SerialNumber FROM Win32_BaseBoard") FOR x = 0 _TO_ Results>>Count -1 Trace("Manufacturer : ",Results>>ItemIndex(x)>>Properties_("Manufacturer")>>Value ) Trace("Product : ",Results>>ItemIndex(x)>>Properties_("Product")>>Value ) Trace("Version : ",Results>>ItemIndex(x)>>Properties_("Version")>>Value ) Trace("SerialNumber : ",Results>>ItemIndex(x)>>Properties_("SerialNumber")>>Value ) Trace("=========================") END DO Error("Erreur execution WMI",ExceptionInfo(errInfo)) ExceptionEnable() END RETURN
  16. Sim tem Vai no description da Window, depois em GUI, depois Popup, depois AAF Parameters, depois desmarca o item Cancel Zoom, seguem algumas imagens ilustrativas pra te auxiliar.
  17. Tenta apagar no APPDATA\Local\Temp a subpasta FRM_Android_etc E depois fecha e abre e recompila tua aplicação, quem sabe funciona.
  18. Já apagou a pasta TEMP?
  19. Veja se é o q vc precisa: sRelatorios_do_Projeto is string = EnumElement(enumReport) WHILE sRelatorios_do_Projeto <> "" sRelatorios_do_Projeto = EnumElement() Trace(sRelatorios_do_Projeto) END
  20. Se vc fizer uma POG (Programação Orientada a G...) vc consegue Após o BuildBrowsingTable, faça uma TableToText e limite o resultado a 1 linha e depois extraia dessa string a primeria linha q são as colunas e terá seu resultado. Talvez tenha alguma função q vc consiga pegar da Query as colunas mas desconheço, por vc trabalhar com Templates suas Querys são variadas portanto enquanto não consegue uma alternativa, experimente a forma proposta acima.
  21. Acredito q o Webservice q o @caiogarcia esteja se referindo é SOAP feito em WINDEV, se for no caso na hora de instalar vc define o IP público de acesso para evitar esse tipo de problema.
  22. Olá, Acredito q da seguinte forma resolva sua questão: SELECT tabPessoas.id_pessoa AS "Código", tabPessoas.NOME AS "Nome/Razão", CASE tabPessoas_Juridica.FANTASIA WHEN NULL THEN '' ELSE tabPessoas_Juridica.FANTASIA END AS "Fantasia", CASE tabPessoas_Enderecos.ENDERECO WHEN NULL THEN '' ELSE tabPessoas_Enderecos.ENDERECO END AS "Endereço", CASE tabPessoas_Enderecos.BAIRRO WHEN NULL THEN '' ELSE tabPessoas_Enderecos.BAIRRO END AS "Bairro", CASE tabMun.municipio WHEN NULL THEN '' ELSE tabMun.municipio END AS "Cidade", case tabPessoas_Enderecos.CEP WHEN NULL THEN '' ELSE tabPessoas_Enderecos.CEP END AS "CEP", CASE tabPessoas.TIPO WHEN 1 THEN CASE tabPessoas_Fisica.RG WHEN NULL THEN '' ELSE tabPessoas_Fisica.RG END WHEN 2 THEN CASE tabPessoas_Juridica.INSCRICAO WHEN NULL THEN '' ELSE tabPessoas_Juridica.INSCRICAO END END AS "RG/Inscrição", CASE tabPessoas.TIPO WHEN 1 THEN CASE tabPessoas_Fisica.CPF WHEN NULL THEN '' ELSE tabPessoas_Fisica.CPF END WHEN 2 THEN CASE tabPessoas_Juridica.CNPJ WHEN NULL THEN '' ELSE tabPessoas_Juridica.CNPJ END END AS "CPF/CNPJ", CASE tabPessoas_CriteriosFinanceiros.TOLERANCIA WHEN null THEN '' ELSE tabPessoas_CriteriosFinanceiros.TOLERANCIA END AS "Prazo", CASE tabPessoas_CriteriosFinanceiros.CREDITO WHEN null THEN '' ELSE tabPessoas_CriteriosFinanceiros.CREDITO END AS "Crédito", CASE tabPessoas_Contatos.conteudo WHEN null THEN '' ELSE tabPessoas_Contatos.conteudo END AS "Telefone/Contato" FROM tabPessoas LEFT OUTER JOIN tabPessoas_CriteriosFinanceiros ON tabPessoas.id_pessoa = tabPessoas_CriteriosFinanceiros.fk_id_pessoa LEFT OUTER JOIN tabPessoas_Fisica ON tabPessoas.id_pessoa = tabPessoas_Fisica.fk_id_pessoa LEFT OUTER JOIN tabPessoas_Juridica ON tabPessoas.id_pessoa = tabPessoas_Juridica.fk_id_pessoa LEFT OUTER JOIN tabPessoas_Enderecos ON tabPessoas.id_pessoa = tabPessoas_Enderecos.fk_id_pessoa LEFT OUTER JOIN tabMun ON tabMun.codigo_municipio = tabPessoas_Enderecos.fk_id_codmun LEFT OUTER JOIN tabPessoas_Fisica ON tabPessoas_Fisica.fk_id_naturalidade = tabMun.codigo_municipio LEFT OUTER JOIN tabPessoas_Contatos ON tabPessoas.id_pessoa = tabPessoas_Contatos.id_pessoas_contato
  23. @Luiz FERNANDO vc tem q usar o SQLConnect ? Não poderia usar a analisys ou o HDescribeConnection etc. ?
  24. Verifique os passos do link abaixo se te ajuda. https://www.highgo.ca/2020/08/21/how-to-setup-postgresql-on-an-ipv6-enabled-network/
  25. Fiz assim @Rinaldo Xavier funcionou, grato.