Página 1 de 1

Browse FIVEWIN na GTWVG

Enviado: 28 Nov 2024 06:57
por JoséQuintas
Então....
Depois de contonar o funcionamento obscuro do harbour, ficou interessante.

Este é meu browse normal GTWVG

Código: Selecionar todos

ETHOD GridSelection( cCampoKeyboard ) CLASS JPTABCIDADECLASS

   LOCAL oTBrowse, cnSQL := ADOLocal()

   hb_Default( @cCampoKeyboard, "CODIGO" )
   WITH OBJECT cnSQL
      :Execute( "SELECT CINOME, CIUF, CIIBGE, IDCIDADE" + ;
         " FROM JPTABCIDADE" + ;
         " ORDER BY CINOME" )
      oTBrowse := { ;
         { "NOME", { || cnSQL:String( "CINOME", 40 ) } }, ;
         { "UF",   { || cnSQL:String( "CIUF", 2 ) } }, ;
         { "IBGE", { || cnSQL:String( "CIIBGE", 7 ) } }, ;
         { "ID",   { || Str( cnSQL:Number( "IDCIDADE" ), 6 ) } } }
      BrowseADO( @cnSQL, oTBrowse, "CINOME,CIUF,CIIBGE", ;
         iif( cCampoKeyboard == "CODIGO", { || Str( cnSQL:Number( "IDCIDADE" ), 6 ) }, { || cnSQL:String( "CINOME", Len( GetActive():VarGet ) ) } ) )
      :CloseRecordset()
   ENDWITH

   RETURN NIL
Ele chama BrowseADO()

Em browseADO fiz isto:

Código: Selecionar todos

FUNCTION BrowseADO( cnSQL, oTBrowse, cFilterKey, bKeyboard, bUserFunction, nFixToCol, aADOFilterList, aBtnList )

   LOCAL nTop := 5, nLeft := 0, nBottom, nRight, cColorAnt := SetColor()
   LOCAL oFrm, cKeyboard, cOption

   IF AppUserLevel() == 0
      RunModule( { || FWBrowseADO( @cnSQL, @oTBrowse ) }, "browse", "FIVEWIN" )
   ENDIF
chamando o browse fivewin.
Apenas teste básico.

Browse FIVEWIN na GTWVG

Enviado: 28 Nov 2024 07:25
por JoséQuintas

https://www.youtube.com/watch?v=o-gT-wFR6Gc

Mais um dos meus testes básicos.
É teste básico, uma linha no aplicativo, e sem ajustar layout.
TODOS os browses do aplicativo em fivewin.

Nada de dlgauto, foi feito só pra isso mesmo.

Então.....
Moleza isso com gtwvg + fivewin ou hwgui, que permitem multithread.
Já com minigui.... não dá.

É por isso também que gosto de multithread.

Browse FIVEWIN na GTWVG

Enviado: 28 Nov 2024 07:42
por JoséQuintas
Faltou dizer:

Só serve fivewin 24.09 que tenho aqui.
Não serve 24.09 nem 24.10 oficiais.

Browse FIVEWIN na GTWVG

Enviado: 28 Nov 2024 08:10
por JoséQuintas
Importantíssimo:

Código: Selecionar todos

WITH OBJECT cnSQL
  a := { ||  :String( "CINOME" ) }
  a := { || cnSQL:String( "CINOME" ) }
ENDWITH
Acima as duas linhas parecem iguais, mas não são.
Infelizmente o harbour dá problema.
O WITH OBJECT não é apenas pra economizar fonte, ele causa comportamento diferente no codeblock.
Se fizer do primeiro jeito, o codeblock não fica preso a cnSQL.
Um próximo WITH OBJECT pode usar outro conteúdo, diferente de cnSQL.

Achei péssimo isso, mas é assim que funciona.
O resultado se torna imprevisível.

Browse FIVEWIN na GTWVG

Enviado: 03 Dez 2024 21:22
por JoséQuintas
search.png
Agora com o mesmo search da GTWVG pra várias palavras em qualquer posição para os campos definidos.

Browse FIVEWIN na GTWVG

Enviado: 06 Dez 2024 21:30
por developer
Ficou muito interessante, muito bom mesmo.
Eu pessoalmente gostei mais do modo texto do que do modo gráfico, questão pessoal.
As cores do modo texto ficaram muito boas, agradável e profissional, dá para ver que são cores modificadas por você mesmo, quais são os padrões de cores? Você se importaria em mostrar a receita RGB que usou? Achei muito bom.