Jump to content
Fivewin Brasil

emotta

Membros
  • Posts

    1,609
  • Joined

  • Last visited

  • Days Won

    88

Everything posted by emotta

  1. emotta

    SQLRDD

    Legal, vou pegar isso pra ver a tarde. Vou tentar compilar pelo xbuild vamos ver Mas no geral essa notícia foi fantástica, tomara que migrem o sqlrdd para o Harbour e dê um gás em toda comunidade. Com o sqlrdd no Harbour não vejo motivo para o projeto xharbour não ser mergeado no Harbour
  2. emotta

    SQLRDD

    O que vc usou pra compilar o sqlrdd?
  3. emotta

    SQLRDD

    Eu estava acompanhando isso desde abril, excelente notícia. Vc já conseguiu compilar o xharbour gerando os binários e as libs?
  4. Foi relatado problema ao compilar o código C usando xharbour open source. Eu corrigi para tornar compatível tanto no comercial (o que eu uso) como no open source. Basta pegar o código atualizado e fazer o teste.
  5. segue o que você precisa, está no github em repositório público, incluindo exemplos https://github.com/eduardomotta-emottasistemas/lib_crc.git espero que ajude abraços
  6. isso é onde está hospedado, mas eu me referi a tecnologia que estão usando dentro da VM, provavelmente é TSPLUS ou skyone ou algum equivalente
  7. possivelmente é o https://skyone.solutions/ ou TSPLUS (ou equivalente)
  8. OverRide é um recurso fantastico do (x)Harbour. Você substitui um método dentro de uma classe por um customizado. Chame o OverRide no inicio da sua aplicação. No exemplo abaixo o método Initiate dentro da classe TDialog é substituido pela funcao xTDialog_Initiate. Então em algum lugar vc vai ter uma funcao xTDialog_Initiate recebendo os mesmos parametros que o método substituido recebe (no caso o initiate) Function Configure_Override() OVERRIDE METHOD Initiate IN CLASS TDialog WITH xTDialog_Initiate Return Function xTDialog_Initiate( hWndFocus, hWnd ) Local SELF := HB_QSelf() /* SEU CODIGO */ Return .t.
  9. Xharbour/fivewin é excelente para aplicações Desktop. Pra Web eu fui para Ruby on rails e react.js
  10. sim, como trabalhei lá antes de ter a empresa eu segui a mesma linha de dicionário de dados deles, com a criação dos campos dinamicamente no formulário e no dicionário apontando as validações e se o campo é obrigatório ou não. Foi difícil desenvolver mas dps de pronto foi uma mão na roda por anos e anos.
  11. Na versão do meu sistema em desktop usei por anos a estratégia de exibir os campos obrigatórios em negrito e em azul e os opcionais somente em preto (sem ser negrito). Na versão web eu mudei e deixei da mesma cor e apenas identifico os obrigatórios como negrito. Nunca tive reclamação de usuário nesse sentido. A tela abaixo é um formulário em fivewin do sistema.
  12. Se vc quer uma solução visual, deixar o label dos campos obrigatórios em negrito e os opcionais sem ser negrito, não resolve?
  13. Inclusão ou alteração não faz diferença. Isso é um formulário de cadastro, tanto na inclusão como na alteração o usuário precisa saber o que ele é obrigado a informar e o que é opcional. Sobre o Marcio querer isso na Inclusão é por sua conta isso? Não vi ele pedir isso ahhahahahahaa
  14. Desculpe se perdi algo na discussão, mas o mais simples pra identificar campos obrigatórios poderia ser exibir o label do campo em negrito, se não for obrigatório exibe o label sem ser negrito. Dessa forma basta vc ter duas fontes definidas, sendo uma negrito e outra normal. Além do aspecto visual vc tem outra necessidade nessa questão do obrigatório? Hoje essa é a tela de meu sistema (atualmente é web mas quando era xharbour/fivewin a ideia era a mesma)
  15. veja se essa função te ajuda Static Function DownLoadFile(cFile,cDestino) Local cEndereco := cFile Local oHttp Local cHtml Local lRet := .F. oHttp := TIpClientHttp():new( cEndereco ) oHttp:Open(cEndereco) cHtml := oHttp:readAll() If ValType(cHtml) == "C" .and. Len(cHtml) > 0 fErase(cDestino) MemoWrit(cDestino,cHtml) lRet := .t. EndIf Return lRet
  16. coloquei no github, divirta-se https://github.com/eduardomotta-emottasistemas/pix_qrcode.git
  17. recomendo mudar a linha abaixo: FOR n = 1 TO 255 para: FOR n = 1 TO 65535 O limite de 255 tabelas era do Clipper, em xHarbour o limite é 65535.
  18. Sunset por uma incrível coincidência um de meus clientes que ainda usam a versão desktop (fivewin) do sistema relatou esse mesmo erro e eu peguei pra resolver isso. O problema, no meu caso, era o limite de objetos criados na dialog. No caso deste cliente eram mais de 1800. Isso aconteceu pois em um ponto o programa, em vez de atualizar um objeto existente na dialog era criado um novo objeto. No meu caso era um TSAY. Eu resolvi isso no meu código facilmente corrigindo para que não fosse criado objetos novos e sim reaproveitado o que já existia e ficou tudo certo. Para o seu caso explica o motivo de algumas telas funcionarem por horas e depois de um tempo dar o erro. Veja no seu código os locais que criam novos objetos após a dialog já estar ativa, provavelmente é algo neste sentido. Espero que ajude.
  19. Eu nunca trabalhei com resources e faz um bom tempo que não trabalho com fivewin, mas esse problema tem cara de ser alguma perda de conexão da rede, mesmo que seja momentânea. Experimente colocar o sistema localmente, se isso for possível, e veja se o erro ocorre. Mas é apenas um chute, se esse problema estivesse comigo eu iria por esse lado.
  20. Alex, se pra abrir o executável não demora, pra checar o MD5 dele vai demorar menos ainda então. Mas fica a critério de cada um usar o que resolve o problema. Abraços
  21. Alex, seria legal você fazer um teste, mas acredito que é muito rápido obter o MD5. O importante é que não seja um processo executado a todo minuto, mas se for executado só algumas vezes por dia não terá problema. Agora se ficar lento pra você, realmente é melhor continuar checando data/hora/tamanho, mas se o usuário abre o executavel na máquina ele também faz download do executável e o executa, o que demora muito mais. Hoje em dia para o usuário abrir o seu programa (de 30mb) demora muito pra começar a executar?
  22. segue a funcao CompFile que retorna se os arquivos são iguais ou diferentes Function Teste() Local cFile1 := "arq1.txt" Local cFile2 := "arq2.txt" Local cFile3 := "arq3.txt" Local cCont1 := "testando texto para arquivo 1" Local cCont2 := "testando texto para arquivo 1" Local cCont3 := "testando texto para arquivo 3" MemoWrit(cFile1, cCont1) MemoWrit(cFile2, cCont2) MemoWrit(cFile3, cCont3) If CompFile(cFile1, cFile2) ? cFile1 + " é igual a " + cFile2 Else ? cFile1 + " é diferente de " + cFile2 EndIf If CompFile(cFile1, cFile3) ? cFile1 + " é igual a " + cFile3 Else ? cFile1 + " é diferente de " + cFile3 EndIf ? "fim" return Static Function CompFile(cFile1, cFile2) Local cHash1 := HB_MD5File( cFile1 ) Local cHash2 := HB_MD5File( cFile2 ) Return cHash1 == cHash2
  23. Edu não compare data e tamanho do executável, isso não é muito confiavel. Compare o hash do arquivo, vou montar um exemplo e posto aqui.
  24. fala ai rochinha, a analogia foi boa hahahaha
  25. TSPlus funciona bem, para o propósito que é feito. Eu uso aqui na empresa para nosso sistema administrativo interno, feito por nós e que não é comercializado. Migrei tudo para o AZURE, usando o SQL como serviço na própria AZURE e em uma VM copiei os arquivos do sistema (EXE, DLLs, etc) Instalei o TSPLUS nessa VM e as pessoas que precisam acessar nosso sistema agora acessam pelo aplicativo que o TSPLUS disponibiliza (na pratica é um TS) mas tem uma versão para acessar via navegador mas eu não adquiri pois não precisava. Funciona muito bem. Agora se você deseja escalar sua aplicação, ou seja, fornecer o mesmo sistema (mesmo fonte, etc) para vários clientes, pra vc escalar as vendas usando o TSPLUS vai ficar caro, é possível mas é caro. (não me refiro somente ao valor da licença do TSPLUS mas sim ao custo da VM para suportar muitos usuários) No meu caso, eu tenho um sistema de ponto desenvolvido nos anos 90 em clipper. Em 2000 reescrevi ele já usando FIVEWIN e em 2002 migrei para xharbour (com fivewin). A concorrencia começou a ofertar a solução nativa na WEB e estava começando a ficar dificil concorrer, então eu reescrevi ele usando Ruby on Rails no backend e React.js no front. (isso já faz alguns anos) De fato é um trabalho imenso, do mesmo nível (ou até mais) ao que tivemos na migração de aplicação DOS para Windows (quem vivenciou vai saber do que estou falando). Mas é um trabalho necessário. Se eu fosse começar a migrar hoje confesso que olharia o modharbour, mas não tem segredo, mesmo se a escolha for ele você terá que reescrever muita coisa, pois a idéia de uma aplicação web é funcionar sem estado e na base do request/response. Meu conselho é, assim como nos anos 90 não existiu uma forma de pegar sua aplicação DOS, compilar e virar windows, agora em DESKTOP para WEB é a mesma coisa. Fivewin ajudou muito naquela época mas tem que ver se o modharbour pode ajudar tanto quanto desta vez. Tire todas as duvidas sobre o TSPLUS com o contato abaixo, ele me atendeu muito bem. Contato TSPLUS Everton - +55 11 96306-6544 (whatsapp)
×
×
  • Create New...