Bug no browse ? ou uso incorreto ?

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Bug no browse ? ou uso incorreto ?

Mensagem por JoséQuintas »

Código: Selecionar todos

STATIC FUNCTION Primeiro( oBrowse )

   Eval( oBrowse:bGoTop, oBrowse )
   oBrowse:Refresh()

   RETURN Nil

STATIC FUNCTION Ultimo( oBrowse )

   EVal( oBrowse:bGoBot, oBrowse )
   oBrowse:Refresh()

   RETURN Nil

STATIC FUNCTION Seguinte( oBrowse )

   Eval( oBrowse:bSkip, oBrowse, 1 )
   oBrowse:Refresh()

   RETURN Nil

STATIC FUNCTION Anterior( oBrowse )

   Eval( oBrowse:bSkip, oBrowse, -1 )
   oBrowse:Refresh()

   RETURN Nil
Todos funcionam, menos Ultimo()
Somente a última linha é atualizada.
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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Bug no browse ? ou uso incorreto ?

Mensagem por JoséQuintas »

primeiro
primeiro.png
último, indo manualmente
ultimo.png
último, clicando em último
clickultimo.png
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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Bug no browse ? ou uso incorreto ?

Mensagem por JoséQuintas »

Troquei tudo por métodos, agora funciona.
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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Bug no browse ? ou uso incorreto ?

Mensagem por JoséQuintas »

browse.png
Aproveitei pra acrescentar mais dois buttons.
Nota: não me preocupando com visual ainda.
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/
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Bug no browse ? ou uso incorreto ?

Mensagem por Itamar M. Lins Jr. »

Olá!
Troquei tudo por métodos, agora funciona.
Queremos ver o código.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Bug no browse ? ou uso incorreto ?

Mensagem por JoséQuintas »

Código: Selecionar todos

STATIC FUNCTION CreateButtons( oDlg, oBrowse )

   LOCAL nRow, nCol, cCaption, bCode, oBtn, cIcon
   LOCAL acOptions := { ;
      "Primeiro", "Pág.Ant", "Anterior", "Seguinte", "Pág.Seg", "Último", "Filtro", "Sair" }

   nCol := 10
   nRow := 10
   FOR EACH cCaption IN acOptions
      DO CASE
      CASE cCaption == "Primeiro"; cIcon := "icoTop" ;    bCode := { || oBrowse:Top() }
      CASE cCaption == "Último";   cIcon := "icoBottom" ; bCode := { || oBrowse:Bottom() }
      CASE cCaption == "Pág.Ant";  cIcon := "IcoPgUp";    bCode := { || oBrowse:PageUp() }
      CASE cCaption == "Pág.Seg";  cIcon := "IcoPgDn";    bCode := { || oBrowse:PageDown() }
      CASE cCaption == "Seguinte"; cIcon := "icoDown" ;   bCode := { || oBrowse:LineDown() }
      CASE cCaption == "Anterior"; cIcon := "icoUp" ;     bCode := { || oBrowse:LineUp() }
      CASE cCaption == "Filtro" ;  cIcon := "icoFilter" ; bCode := { || Nil }
      CASE cCaption == "Sair";     cIcon := "icoDoor" ;   bCode := { || oDlg:Close() }
      ENDCASE
      @ nCol, nRow OWNERBUTTON oBtn OF oDlg SIZE 80,80 ;
         ON CLICK bCode ;
         BITMAP ;
         /* AppLoadImage( cIcon, WIN_IMAGE_ICON, 70, 70 ) */ ;
         HICON():AddResource( cIcon, 70, 70 ) ;
         TEXT cCaption /* COORDINATES 5, 61, 75, 5 */ ;
         Tooltip cCaption
      oBtn:aStyle := ze_Set_StyleOBtn()
      nCol += 85
      IF nCol > 740
         nCol := 1
         nRow += 85
      ENDIF
   NEXT

   RETURN Nil
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/
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Bug no browse ? ou uso incorreto ?

Mensagem por Fernando queiroz »

JoséQuintas escreveu:

Código: Selecionar todos

STATIC FUNCTION CreateButtons( oDlg, oBrowse )

   LOCAL nRow, nCol, cCaption, bCode, oBtn, cIcon
   LOCAL acOptions := { ;
      "Primeiro", "Pág.Ant", "Anterior", "Seguinte", "Pág.Seg", "Último", "Filtro", "Sair" }

   nCol := 10
   nRow := 10
   FOR EACH cCaption IN acOptions
      DO CASE
      CASE cCaption == "Primeiro"; cIcon := "icoTop" ;    bCode := { || oBrowse:Top() }
      CASE cCaption == "Último";   cIcon := "icoBottom" ; bCode := { || oBrowse:Bottom() }
      CASE cCaption == "Pág.Ant";  cIcon := "IcoPgUp";    bCode := { || oBrowse:PageUp() }
      CASE cCaption == "Pág.Seg";  cIcon := "IcoPgDn";    bCode := { || oBrowse:PageDown() }
      CASE cCaption == "Seguinte"; cIcon := "icoDown" ;   bCode := { || oBrowse:LineDown() }
      CASE cCaption == "Anterior"; cIcon := "icoUp" ;     bCode := { || oBrowse:LineUp() }
      CASE cCaption == "Filtro" ;  cIcon := "icoFilter" ; bCode := { || Nil }
      CASE cCaption == "Sair";     cIcon := "icoDoor" ;   bCode := { || oDlg:Close() }
      ENDCASE
      @ nCol, nRow OWNERBUTTON oBtn OF oDlg SIZE 80,80 ;
         ON CLICK bCode ;
         BITMAP ;
         /* AppLoadImage( cIcon, WIN_IMAGE_ICON, 70, 70 ) */ ;
         HICON():AddResource( cIcon, 70, 70 ) ;
         TEXT cCaption /* COORDINATES 5, 61, 75, 5 */ ;
         Tooltip cCaption
      oBtn:aStyle := ze_Set_StyleOBtn()
      nCol += 85
      IF nCol > 740
         nCol := 1
         nRow += 85
      ENDIF
   NEXT

   RETURN Nil
o unico incoveniente de usar desta forma é se precisar modificar/desabilitar o botao pois todos os botoes tem o mesmo objeto, ai vai dar ruim
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Bug no browse ? ou uso incorreto ?

Mensagem por JoséQuintas »

Isso pode facilmente ser alterado, não é 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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Bug no browse ? ou uso incorreto ?

Mensagem por JoséQuintas »

Um array com os buttons.
Igual faço na WVG kkkk

Código: Selecionar todos

   LOCAL acOptions := { ;
      "Primeiro", "Pág.Ant", "Anterior", "Seguinte", "Pág.Seg", "Último", "Filtro", "Sair" }

   oBtnList := Array( Len( acOptions ) )
   nCol := 10
   nRow := 10
   FOR EACH oBtn IN oBtnList
      cCaption := acOptions[ oBtn:__EnumIndex() ]
      DO CASE
      CASE cCaption == "Primeiro"; cIcon := "icoTop" ;    bCode := { || oBrowse:Top() }
      CASE cCaption == "Último";   cIcon := "icoBottom" ; bCode := { || oBrowse:Bottom() }
      CASE cCaption == "Pág.Ant";  cIcon := "IcoPgUp";    bCode := { || oBrowse:PageUp() }
      CASE cCaption == "Pág.Seg";  cIcon := "IcoPgDn";    bCode := { || oBrowse:PageDown() }
      CASE cCaption == "Seguinte"; cIcon := "icoDown" ;   bCode := { || oBrowse:LineDown() }
      CASE cCaption == "Anterior"; cIcon := "icoUp" ;     bCode := { || oBrowse:LineUp() }
      CASE cCaption == "Filtro" ;  cIcon := "icoFilter" ; bCode := { || Nil }
      CASE cCaption == "Sair";     cIcon := "icoDoor" ;   bCode := { || oDlg:Close() }
      ENDCASE
      @ nCol, nRow OWNERBUTTON oBtn OF oDlg SIZE 80,80 ;
         ON CLICK bCode ;
         BITMAP ;
         /* AppLoadImage( cIcon, WIN_IMAGE_ICON, 70, 70 ) */ ;
         HICON():AddResource( cIcon, 60, 60 ) COORDINATES 5, 5, 60, 60 ;
         TEXT cCaption COORDINATES 5, 61, 75, 5 ;
         Tooltip cCaption
Tudo bem, no browse nem precisa, mas pra teste serve.
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/
jc101b
Usuário Nível 1
Usuário Nível 1
Mensagens: 10
Registrado em: 17 Jun 2013 19:12
Localização: Santo Angelo-RS

Bug no browse ? ou uso incorreto ?

Mensagem por jc101b »

Ola Pessoal
gostaria de implementar os methods/clausulas bWhile/bFor no hbrowse no da hwgui...
ainda nao fui pra hwgui...por causa desses recursos...pois facilita muito a vida do programador...
se alguem interessar posso mostrar no TBrowse/GTwvw q uso no momento...
já tentei implementar mas nao tive sucesso...
de repente com ajuda de algum "GURU" da hwgui eu consiga...ai vcs vao ver o q é praticidade
abraços
JC
jc.cunha@live.com
whats 55 98129 5504
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Bug no browse ? ou uso incorreto ?

Mensagem por JoséQuintas »

Não imagino como seria isso, se realmente deveria ser dentro da hwgui.
Na prática eu acho até ruim o que já implementaram, porque quase causa limitação.
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/
jc101b
Usuário Nível 1
Usuário Nível 1
Mensagens: 10
Registrado em: 17 Jun 2013 19:12
Localização: Santo Angelo-RS

Bug no browse ? ou uso incorreto ?

Mensagem por jc101b »

ai aqui tá Amigo...essas limitaçoes o hbrowse é existem tem hj,... por isso q ainda nao migrei
como eu falei ..posso fazer uma demonstracao pra vc ver as otimizaçoes que nos permite..
quem sabe eu q nao sei programar no hbrowse...ex:

quero navegar num num cadastro do "A" ao "C"...sem fazer otimizaçoes/filtragens usando os indices?
essa seria clausula "bWhile"
e outra seria...
pulando todos os nomes que iniciam com "BA"... essa seria a clausula "bFor"
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Bug no browse ? ou uso incorreto ?

Mensagem por Itamar M. Lins Jr. »

Olá!
pulando todos os nomes que iniciam com "BA"... essa seria a clausula "bFor"
Sim, cadê o código ?
Alias, cadê o código da Hwgui que não tem isso e cadê seu código ?

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Bug no browse ? ou uso incorreto ?

Mensagem por JoséQuintas »

jc101b escreveu:ai aqui tá Amigo...essas limitaçoes o hbrowse é existem tem hj,... por isso q ainda nao migrei
como eu falei ..posso fazer uma demonstracao pra vc ver as otimizaçoes que nos permite..
quem sabe eu q nao sei programar no hbrowse...ex:

quero navegar num num cadastro do "A" ao "C"...sem fazer otimizaçoes/filtragens usando os indices?
essa seria clausula "bWhile"
e outra seria...
pulando todos os nomes que iniciam com "BA"... essa seria a clausula "bFor"
Não me expressei direito, é sobre não incluir limitações.

Sobre o que está dizendo, é no fonte do aplicativo, e não no fonte do hbrowse.
Não vejo diferença nos seus exemplos, para os dois, SET SCOPE resolveria.
Pera lá, depende do segundo, "pulando todos os nomes que iniciam com BA", não sei se é isso que está escrito.
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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Bug no browse ? ou uso incorreto ?

Mensagem por JoséQuintas »

Apenas pra efeito de teste, numa versão simplificada, uso assim no browse, pra SQL

Código: Selecionar todos

STATIC FUNCTION oBrowseKey( oDlg, oBrowse, nKey, cFilter, lSelected, cFilterList )

   nKey := hb_KeyStd( nKey )
   DO CASE
   CASE nKey == K_ENTER .OR. nKey == K_ESC
      IF nKey == K_ENTER
         lSelected := .T.
      ENDIF
      oDlg:Close()
      RETURN .F.
   CASE IsAscChar( nKey )
      IF nKey == K_BS
         IF Len( cFilter ) > 0
            cFilter := Left( cFilter, Len( cFilter ) - 1 )
         ENDIF
      ELSE
         cFilter += Upper( Chr( nKey ) )
      ENDIF
      oBrowse:aArray:Filter( iif( Empty( cFilter ), "", cFilterList + " LIKE '%" + cFilter + "%'" ) )
      IF oBrowse:aArray:Eof() .AND. Len( cFilter ) > 0
         cFilter := Substr( cFilter, 1, Len( cFilter ) - 1 )
         oBrowse:aArray:Filter( iif( Empty( cFilter ), "", cFilterList + " LIKE '%" + cFilter + "%'" ) )
      ENDIF
      oBrowse:Refresh()
   ENDCASE

   RETURN .T.
Talvez nos seus testes tenha faltado o oBrowse:Refresh()
Sem ele a atualização do browse é parcial, só a parte mais próxima da posição atual.
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/
Responder