Fábio Senji

Members
  • Content count

    51
  • Joined

  • Last visited

  • Days Won

    1

Fábio Senji last won the day on February 15

Fábio Senji had the most liked content!

Community Reputation

8 Neutral

About Fábio Senji

  • Rank
    Aprendiz
  1. No meu caso varia porque há blocos que se repetem em função do conteúdo (tipo estrutura FOR).
  2. O @nathanreys me ajudou a fazer uma impressão aqui que deu certo em bobina 80mm. Está "separated sheets" mas sai contínuo, embora meu RPT seja geralmente pequeno. Veja também as outras configurações, como por exemplo a opção de as divisões do report colarem ou não nos objetos acima, etc. Creio que com isso você consegue controlar seu RPT. Já testou sua impressão, mesmo como "separated sheets"? Você pode configurar para print to PDF e testar antes de testar na impressora mesmo. Avise se precisar de mais detalhes
  3. Obrigado pelas dicas, pessoal. Sim, eu estava usando o simulador e ainda uso. Ele e anchors ajudam um bocado sim. Mas ainda me pergunto se alguém já fez uma função do tipo, que funcione mais ou menos bem.
  4. Saudações. Não sei se estou deixando de ver alguma solução mais simples para meu problema, aceito sugestões diversas. Estou criando um app somente para tablet, mas o tablet que tenho para testar é com Android 4. Certas funções bugam nele enquanto funcionam em outros dispositivos, daí perco a confiança em certos testes. Queria testar em smartphone mesmo, mas a diferença de resolução não ajuda. Quero evitar usar layouts genéricos pois tive muitos problemas com isso. Pensei então: Haveria uma forma efetiva de criar uma função que vasculhasse os controles presentes na tela e ajustasse seu posicionamento, tamanho e fonte conforme proporções iniciais do layout antigo? Algo como programar uma "Anchor++" com indirection indControl, talvez? Alguém já fez algo do tipo? Imagino a função mais ou menos assim: FOR controle IN janela controle..X = AjustaProporcao(Xanterior, MyWindow..Width) controle..Y = AjustaProporcao(Yanterior, MyWindow..Height) controle..Width = AjustaProporcao(WidthAnterior) controle..Height= AjustaProporcao(HeightAnterior) controle..Fontsize = AjustaProporcaoFonte(...) END WinRedraw() //? INTERNAL PROCEDURE AjustaProporcao(...) ... END Sim, isso seria redundante para quem sabe usar layouts genéricos da IDE, mas não sou esse alguém e acho que algo da DPI nos layouts genéricos está bugado no 23. Propriedades não se desassociam direito e loopers ficam doidos, como já postei falando a respeito. Essa função que peço será muito útil, se realmente funcionar. Corrigiria bugs e problemas e seria de enorme reutilização em muitas janelas. Obrigado pela atenção e agradeço qualquer sugestão
  5. Esqueci dessas ferramentas! Ambas funcionaram, muito obrigado!!
  6. Olá, pessoal. Alguém sabe como faço para contar quantos elementos (structs) eu tenho dentro de um array de structs? Length() não parece funcionar, não entendi bem. Tipo, eu tenho uma estrutura com 2 campos, uma inteiro e outra array of boolean. Daí crio um array dessa estrutura e adiciono N elementos. Como contar pra descobrir N?
  7. Não tenho experiência com webservice com myMappedFile, mas... Tentou usar as funções de recepção e conversão de JSON e ainda assim não pôde utilizar os dados? Dê uma olhada em: JsonToVariant UTF8ToString WHEN EXCEPTION IN vVarRecebida = JSONToVariant(oResponse..Content) DO Info("Erro baixando parâmetros."+CR+"Verifique se o endereço do servidor está correto.") RESULT "Erro" END Para iterar um conteúdo, você pode usar: FOR EACH campo OF vVarRecebida..Member // Members: msg, statuscode, conteudo... Exs: msg:"deu bom", statuscode:"ok", conteudo:"JSON enorme" IF Lower(campo..Name) = "sconteudo" THEN //sConteudo:"etc" FOR i = 1 _TO_ campo..Occurrence //sConteudo: "{id:dado, nome:dado, etc:dado} (Occurrence 1), {id:dado, nome:dado, etc:dado} (Occurrence 2).." //Seu código bonito aqui Pintei os códigos acima de Ruby mas é Wlanguage mesmo. Era isso que queria saber?
  8. Me pergunto se haveria alguma opção marcada na description de re-executar a query ao ser clicada, ou algo do tipo. No Windev Mobile ocorrem bugs gráficos desse tipo frequentemente no simulador. Experimentou produzir a aplicação, ou seja, o .exe e testar nela? Se tudo der errado, experimenta também criar nova table (talvez até em outra janela) e usar a query da mesma forma nela. Se der tilt ainda, deve ser talvez algo na query, imagino (?) Haveria alguma thread de fundo "escutando" um botão de mouse, ou processo do tipo?
  9. Certa vez um app começou a me trazer essa mesma mensagem, até que eu tirasse uma função. Veja se usou alguma função incompatível com a versão do sistema. Não lembro se foi a função WinRedraw... era alguma outra função menos comumente usada, no meu caso. Não recordo se era algum gif ou imagem animada do tipo... Algum recurso menos comum.
  10. Olá. Alguém já enviou SMS com Windev + Modem SMS? Quero enviar SMS automaticamente por PC. Tive sucesso com outro modem (ZTE), agora estou tentando usar o HSDPA 7.2Mbps (imagem em anexo). A luz vermelha do modem não para de piscar (acende e apaga +- a cada 2s no total). Havia um comando (se for AT+CFUN=6, já tentei) que ativava o modem, que estaria desativado inicialmente, com a luz vermelha, mas vi num fórum uma vez depois perdi. Tudo funcionou com o modem ZTE, mas não consigo configurar o novo modem HSDPA nem na interface dele. Não consegui entender se algumas operadoras realmente não funcionam, conforme me foi dito que Vivo e Nextel para este modem não funcionam. Também não entendi se a operadora Algar possui ou não SMSSC (SMS Service Center) e se há chips bloqueados para tal funcionalidade de SMS por PC. Tentei conectar à APN abaixo e algumas outras da Algar, sem sucesso: Nome: Algar MMS Número: 72405 Username: ctbc Password: 1212 Apn: ctbc.br Alguma ideia? Diagnóstico que já fiz: AT+CSQ... MODEM: +CSQ: 31,99 OK AT+CFUN?... MODEM: +CFUN: 1 OK AT+CMGF=1 ... MODEM: OK AT+CSCS="GSM" ... MODEM: OK AT+CSCA?... MODEM: +CSCA: "+550112102010",145 OK
  11. Tem umas opções que ainda não entendi direito que devem ter relação com isso. Exemplo é aquela opção na aba GUI da janela que diz "Units for sizes and positions (..X, ..FontSize, ...)" que aparentemente pode ser configurada para depender do DPI ou não. Inclusive apanho muito pra isso nos layouts, a DPI (pontos por polegada) é outro fator importante. Quem sabe alguém nos direciona melhor nisso tudo.
  12. Acho que deveria ser automático, mas como está seu projeto? Inclui Tablet na configuração ou é só para smartphone, apesar dos layouts? Para checar, abra a descrição do projeto e vá em descrição da plataforma atual, na primeira aba. Não tenho certeza, na verdade, se o Windev Mobile diferencia o dispositivo senão sua resolução. Acho que a maior resolução que cabe na tela é aplicada. Veja também se você não inverteu as dimensões da resolução (embora improvável).
  13. Olá, Ananias. Usei essa função há um tempo, não lembro bem, mas ao que recordo você tem que usar juntamente com a SysIconAdd. Veja o help de ambas para ter certeza. Segue o que fiz no meu código, que estava numa thread, por isso usei ExecuteMainThread para chamar as internal procedures: PROCEDURE Automatic_PopupAviso() //Eis a thread //Aqui declaro variáveis e etc sNomeCliente is string = "Fulano" nID is 8-byte int = 900 ExecuteMainThread(AddIconeEAvisa) //Força que o processamento principal chame a internal procedure abaixo ExecuteMainThread(Aviso) //Força que o processamento principal chame a internal procedure abaixo //Aqui salvo uns dados e etc INTERNAL PROCEDURE AddIconeEAvisa() SysIconAdd("VST05054.ico","",sMensagem) SysIconDisplayTooltip("Novo item de " + sNomeCliente, "Novo item registrado", sysTooltipTypeInfo) //aparece 1x END // Internal Procedure INTERNAL PROCEDURE Aviso() // Verificar se a janela está aberta IF WinStatus(WIN_AvisoEncomenda) = NotFound THEN OpenChild(StringBuild("WIN_AvisoEncomenda, %1, %2", WIN_MENU.BTN_ReferenciaPosicao..Y, ... //Continua abaixo WIN_MENU.BTN_ReferenciaPosicao..X - 400) + NoFocus,sNomeCliente,nID) //Fim da linha acima ELSE // Alterar a mensagem de exibição, se já estiver aberta IF WinStatus(WIN_AvisoEncomenda) = Active THEN //2o checkup pra tentar evitar bug raro WIN_AvisoEncomenda.STC_NomeCliente = sNomeCliente WIN_AvisoEncomenda.STC_NumEncomenda = nID END END END // Internal Procedure
  14. Acho que foi assim que ele resolveu, Mello, antes do rollback. Luiz, pode confirmar se está resolvido, por gentileza?
  15. Não sei se pode ser uma boa lembrar, só ideias, qualquer coisa ignora e segue adiante: Você está checando o arquivo certo? Já me peguei salvando certo e procurando pelo arquivo salvo no lugar errado, onde havia outra tabela com o mesmo nome. Talvez compense verificar se em algum ponto antes da query que altera os valores você muda a conexão ou algo do tipo. Ou então, você implementou o código em alguma transação que não finalizou?