Iniciando com HWGUI
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Iniciando com HWGUI
Posso tentar.
Tem horas que acho mais fácil mexer em fonte de LIB gráfica do que usá-la.
Tem horas que acho mais fácil mexer em fonte de LIB gráfica do que usá-la.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Iniciando com HWGUI
Não deu.
Tá complicado mesmo.
Achei até que era hwg_GetSkip(), por estar muito mais simplificado, e na 2.17 testar se existem os eventos de GetFocus e LostFocus do próximo controle, mas não é somente aí.
Diferente da Getsys, isso não envolve somente alterar a ordem do GET.
Tem a questão do foco, que já pode ter ido pro controle seguinte, e precisa anulação, senão trava tudo.
No VB5 acontecia muito isso.
Tipo... só sai do campo se for válido, tem lá o evento lost_focus que não permite sair.
Mas o usuário já clicou no próximo campo... que tem o get_Focus que obriga a entrar.
se os dois estão obrigando a ficar nele.... aí é onde trava tudo.
Seria como dois programas: um cuidando do visual, e outro da parte interna. O programa da parte interna precisa primeiro avisar o da parte visual sobre o que fazer primeiro, ou vice-versa.
De repente, essa validação precisa ser no próximo controle que recebeu foco, e isso pode envolver mais controles do que o HEDIT.
E justamente quem mexeu nos fontes depois, deve ter visto um pedaço de fonte que não tinha nada a ver com o controle e considerou que era lixo.
Isso explicaria porque no último VALID não respeita, porque o próximo controle não é HEDIT.
Testem se acontece também com o primeiro, quando usa SHIFT-TAB. Se acontecer.... é isso.
Tá complicado mesmo.
Achei até que era hwg_GetSkip(), por estar muito mais simplificado, e na 2.17 testar se existem os eventos de GetFocus e LostFocus do próximo controle, mas não é somente aí.
Diferente da Getsys, isso não envolve somente alterar a ordem do GET.
Tem a questão do foco, que já pode ter ido pro controle seguinte, e precisa anulação, senão trava tudo.
No VB5 acontecia muito isso.
Tipo... só sai do campo se for válido, tem lá o evento lost_focus que não permite sair.
Mas o usuário já clicou no próximo campo... que tem o get_Focus que obriga a entrar.
se os dois estão obrigando a ficar nele.... aí é onde trava tudo.
Seria como dois programas: um cuidando do visual, e outro da parte interna. O programa da parte interna precisa primeiro avisar o da parte visual sobre o que fazer primeiro, ou vice-versa.
De repente, essa validação precisa ser no próximo controle que recebeu foco, e isso pode envolver mais controles do que o HEDIT.
E justamente quem mexeu nos fontes depois, deve ter visto um pedaço de fonte que não tinha nada a ver com o controle e considerou que era lixo.
Isso explicaria porque no último VALID não respeita, porque o próximo controle não é HEDIT.
Testem se acontece também com o primeiro, quando usa SHIFT-TAB. Se acontecer.... é isso.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Fernando queiroz
- Usuário Nível 4

- Mensagens: 779
- Registrado em: 13 Nov 2014 00:41
- Localização: Porto Alegre/RS
Iniciando com HWGUI
o SHIFT+TAB no primeiro campo da tela funcionou normal comigo, mas eu tenho o campo fantasma no final, quando eu dou SHIFT+TAB ele pula para o campo fantasma.JoséQuintas escreveu:Testem se acontece também com o primeiro, quando usa SHIFT-TAB. Se acontecer.... é isso.
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Iniciando com HWGUI
Ola!
Simples de mais aprender a usar Hwgui segue o @ SAY e @ GET do CLIPPER. O problema é o pessoal que vê isso e dispersa seus minguados usuários.
Foi a PIONEIRA no DEBUG gráfico, Foi a PIONEIRA em XML(formulários) igual ao DELPHI, a melhor IDE, melhor gerador de relatórios... Tudo depois bagunçado pelos próprios usuários e intermediários(atravessadores) dela. Muitos querem ela só para si. A ponto dos usuários brasileiros dela ficarem cada um com o desenvolvedor "brasileiro" X... E o vilão passar a ser o próprio criador! Mas o bom do código livre é isso, já que é sem remuneração não tem como matar o projeto.
Saudações,
Itamar M. Lins Jr.
Tem exemplos suficientes para aprender. A Hwgui é SIMPLES. Pegue qualquer controle da Minigui e compare com a Hwgui.ela exige que vc fique olhando os fontes para entender como funciona
Simples de mais aprender a usar Hwgui segue o @ SAY e @ GET do CLIPPER. O problema é o pessoal que vê isso e dispersa seus minguados usuários.
Foi a PIONEIRA no DEBUG gráfico, Foi a PIONEIRA em XML(formulários) igual ao DELPHI, a melhor IDE, melhor gerador de relatórios... Tudo depois bagunçado pelos próprios usuários e intermediários(atravessadores) dela. Muitos querem ela só para si. A ponto dos usuários brasileiros dela ficarem cada um com o desenvolvedor "brasileiro" X... E o vilão passar a ser o próprio criador! Mas o bom do código livre é isso, já que é sem remuneração não tem como matar o projeto.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Iniciando com HWGUI
Ola!
A mesma coisa fizeram com SQLMIX, ADO etc...
AGORA!!! depois que muita gente já caiu fora...Agora!!!! que muita gente já sabe e tem muita coisa na internet com o Harbour usando SQL... que o pessoal não tem nem mais o que DISCUTIR do SQLRDD essa GABIARRA para usar SQL SIMULANDO DBF. Tão vendo o estrago que fizeram.... Ao invés de ensinarem a usar ADO ou outra coisa... Inventaram esse produto para "emburrecer" os programadores do Harbour e ficarem presos nessa solução, que se for usar da forma adequada termina não precisando do próprio SQLRDD.
Todo mundo querendo se livrar do DO WHILE, REPLACE etc... e usa-se isso tudo. Vem e dizem: Mas é opcional, nisso já não precisamos mais do SQLRDD, porquê se vamos usar da forma tradicional, basta o ADO.
Já tem um tempo eu estou batendo na tecla do HTML + CSS + Javascript e o Harbour como BACKEND... Agora tem ModHarbour etc... Mas é TUDO HTML!
Caiu para internet, não tem para onde correr é HTML, e vem o pessoal querendo provar por A + B que a linguagem TAL faz maravilhas.... Não faz! Vai usar internet, quer fazer seus usuários disponibilizarem seus BANCOS de DADOS ? Só HTML filho... Mais as coisas que já tem. Porquê essas ferramentas estão ESCONDENDO o HTML com CSS, nada mais.
Saudações,
Itamar M. Lins Jr.
A mesma coisa fizeram com SQLMIX, ADO etc...
AGORA!!! depois que muita gente já caiu fora...Agora!!!! que muita gente já sabe e tem muita coisa na internet com o Harbour usando SQL... que o pessoal não tem nem mais o que DISCUTIR do SQLRDD essa GABIARRA para usar SQL SIMULANDO DBF. Tão vendo o estrago que fizeram.... Ao invés de ensinarem a usar ADO ou outra coisa... Inventaram esse produto para "emburrecer" os programadores do Harbour e ficarem presos nessa solução, que se for usar da forma adequada termina não precisando do próprio SQLRDD.
Todo mundo querendo se livrar do DO WHILE, REPLACE etc... e usa-se isso tudo. Vem e dizem: Mas é opcional, nisso já não precisamos mais do SQLRDD, porquê se vamos usar da forma tradicional, basta o ADO.
Já tem um tempo eu estou batendo na tecla do HTML + CSS + Javascript e o Harbour como BACKEND... Agora tem ModHarbour etc... Mas é TUDO HTML!
Caiu para internet, não tem para onde correr é HTML, e vem o pessoal querendo provar por A + B que a linguagem TAL faz maravilhas.... Não faz! Vai usar internet, quer fazer seus usuários disponibilizarem seus BANCOS de DADOS ? Só HTML filho... Mais as coisas que já tem. Porquê essas ferramentas estão ESCONDENDO o HTML com CSS, nada mais.
Estava lendo um artigo exatamente sobre isso. O pessoal do software PAGO vai MATAR o produto quando ele parar de dar LUCRO ai a pessoa que ficou dias, meses para aprender e desenvolver algo usável fica a ver navios.A maioria dos softwares comerciais diz “desenvolvido ativamente” enquanto for “lucrativo”.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Iniciando com HWGUI
Ola!
Queriam apenas a solução!
Saudações,
Itamar M. Lins Jr.
Colocaram, tanta coisa em alguns controles(hBrowse.prg) por exemplo, que o Alexander Kresin, teve que VOLTAR! para 2.16 pq ele disse que estava impossível de achar os defeitos... É só olhar os fontes da 2.17 e 2.18 vai ver que ele voltou para traz para poder melhorar a Hwgui... Mas como sempre o pessoal só enxerga aquilo que convém. Queriam que ele consertasse a Hwgui, com os códigos exclusivos para BCC etc e ninguém foi lá dizer para ele onde estavam os problemas.Achei até que era hwg_GetSkip(), por estar muito mais simplificado, e na 2.17
Queriam apenas a solução!
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Iniciando com HWGUI
O CLANG seria pra isso, pra padronizar o C, independente de compilador C.
Mas isso exige uma versào mínima de compilador C, porque antigamente isso não existia.
Nem sei se com a nova padronização que está pra sair, se todo fonte atual não pode ter problema.
Mas isso exige uma versào mínima de compilador C, porque antigamente isso não existia.
Nem sei se com a nova padronização que está pra sair, se todo fonte atual não pode ter problema.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Iniciando com HWGUI
Ola!
Eu trabalho da seguinte forma:
Tenho as funções PegaVar, UpGet, CriaVar. Normalmente trabalho com browse e uma tab com os gets ao lado. Vou ver se faço um exemplo depois.
Quando o usuário navega pelo browse eu vou mudando no TAB os GETS conforme a linha do browse.
Com isso ai tenho telas com gets enormes atualiza tudo super rápido. DBF com mais de 100 mil itens no estoque...
Saudações,
Itamar M. Lins Jr.
Anomalia por conta do VALID se o VALID tem .not. empty(), já precisa de tratamento. Com a função:Isso explicaria porque no último VALID não respeita, porque o próximo controle não é HEDIT.
Código: Selecionar todos
If hwg_Getkeystate(VK_RETURN) < 0 //Se teclou enter no get
Else
Return .t.
EndIf
Tenho as funções PegaVar, UpGet, CriaVar. Normalmente trabalho com browse e uma tab com os gets ao lado. Vou ver se faço um exemplo depois.
Quando o usuário navega pelo browse eu vou mudando no TAB os GETS conforme a linha do browse.
Código: Selecionar todos
Function CriaVar
cNome := space(len(cliente->nome))
...
Function UpGet //Atualizar o get na tela, faz um refresh
oNome : Refresh()
...
Function PegaVar
cNome : cliente->nome
...
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
Iniciando com HWGUI
Solução é validar na rotina de gravação (click do botão) antes de incluir/alterar
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Iniciando com HWGUI
Fica feio, mas... outra, no estilo console, seria acrescentar um último campo pra confirmar S/N.asimoes escreveu:Solução é validar na rotina de gravação (click do botão) antes de incluir/alterar
E por falar nisso...
Isso me deu outra idéia, ou possibilidade sobre a correção.
Se a HWGUI usa algo que simula a getsys, talvez ela tenha o array e baste acrescentar o elemento fantasma nesse array, pra fingir que tem um "get" a mais. Lógico, e confirmar alterações adicionais.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Iniciando com HWGUI
Eu ainda estou relutando em usar GUI....
Tô achando muito trabalho pra pouca coisa.
Tô achando muito trabalho pra pouca coisa.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Iniciando com HWGUI
Vai desistir fácil?JoséQuintas escreveu:Eu ainda estou relutando em usar GUI....
Tô achando muito trabalho pra pouca coisa.
Eu fui migrando aos poucos antes era GTWVG depois GTWVT, depois fui migrando as rotinas para HWGUI (modal) no final a rotina principal (MAIN) virou estilo HWGUI e as rotinas não migradas ficaram como GT, isso tudo levou 1 ano, agora qq rotina nova 100% hwgui, eu uso muito a designer que ajuda muito na construção das telas, mas se fosse pra ser na unha talvez não estaria pronto. A fase 2 foi migrar DBF para SQL, tempo total migração 1 ano e meio. Agora só pego o cheque no final do mês no cliente, o objetivo foi alcançado
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Iniciando com HWGUI
Não, é que eu fico querendo mexer nos fontes da LIB.asimoes escreveu:Vai desistir fácil?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Iniciando com HWGUI
Eu tinha esse receio, mas ninguém está proibido de mexer na lib, vai acabar descobrindo bugsJoséQuintas escreveu:Não, é que eu fico querendo mexer nos fontes da LIB.
Essa parte eu comecei a fazer depois que consegui migrar tudo, tipo o que eu andei postando aqui, claro que vai ficar uma lib personalizada para você usar ou melhor um fork seu.
Se tem algo interessante é só fazer a sugestão pro Alexander
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Iniciando com HWGUI
A propósito...
Aqui tem todo histórico da HWGUI, mas só até maio.
https://github.com/mlacecilia/hwgui
Última alteração: ticket do Itamar
Aqui tem todo histórico da HWGUI, mas só até maio.
https://github.com/mlacecilia/hwgui
Última alteração: ticket do Itamar
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
