Página 1 de 1

exemplo tbrowse/tsbrowse definido pelo usuário

Enviado: 06 Jun 2024 10:43
por JoséQuintas
Alguém tem exemplo de tbrowse ou tsbrowse definido pelo usuário ?
Pro meu uso não serve a opção ADO existente.

exemplo tbrowse/tsbrowse definido pelo usuário

Enviado: 08 Jun 2024 16:59
por JoséQuintas
É só um primeiro teste.
É de se esperar que vai dar erro em array vazio, mas como teste básico é um começo.
Acho que o alerta no fonte é bom, senão saem copiando achando que funciona 100%.

Código: Selecionar todos

/*
This source code does not works.
Do not use it as reference
*/

#include "hmg.ch"
#include "tsbrowse.ch"

STATIC ObjTb

PROCEDURE Main

   LOCAL xDlg := "DLG1", xTb := "TB1"
   LOCAL aList := { { "A" }, { "B" }, { "C" }, { "E" } }

   Set( _SET_DEBUG, .F. )
   DEFINE WINDOW ( xDlg ) ;
      AT 0, 0 ;
      WIDTH 1024 HEIGHT 768 ;
      MAIN
   END WINDOW

   DEFINE TBROWSE ( xTb ) OBJ ObjTB ;
      AT 5, 5 ;
      OF ( xDlg ) ;
      WIDTH 900 ;
      HEIGHT 600

   END TBROWSE

   objTB:nAt := 1
   ObjTB:aArray := aList
   ObjTB:lCellBrw := .T.

   ADD COLUMN TO ObjTB ;
      DATA { || ObjTB:aArray[ objtb:nAt, 1] };
      TITLE "ITEM"

   ADD COLUMN TO ObjTB ;
      DATA { || ObjTB:aArray[ objtb:nAt, 1] } ;
      TITLE "COPY1"

   ADD COLUMN TO ObjTB ;
      DATA { || ObjTB:aArray[ objtb:nAt, 1 ] } ;
      TITLE "COPY2"

   SetBrowseToArray( ObjTB )

   DoMethod( xDlg, "CENTER" )
   DoMethod( xDlg, "ACTIVATE" )

   RETURN

FUNCTION SetBrowseToArray( oTsBrowse )

   WITH OBJECT oTsBrowse

      :nAt := 1
      :bKeyNo := { | n | iif( n == NIL, oTsBrowse:nAt, oTsBrowse:nAt := n ) }
      :cAlias := "ANY"
      :nLen := Eval( oTsBrowse:bLogicLen := { || Len( oTsBrowse:aArray ) + iif( oTsBrowse:lAppendMode, 1, 0 ) } )
      :bGoTop := { || oTsBrowse:nAt := 1 }
      :bGoBottom := { || oTsBrowse:nAt := Eval( oTsBrowse:bLogicLen ) }
      :bSkip := { | nSkip, nOld | nOld := oTsBrowse:nAt, oTsBrowse:nAt += nSkip, oTsBrowse:nAt := Min( Max( oTsBrowse:nAt, 1 ), oTsBrowse:nLen ), oTsBrowse:nAt - nOld }
      :bGoToPos := { | n | Eval( oTsBrowse:bKeyNo, n ) }
      :bBof := { || oTsBrowse:nAt < 1 }
      :bEof := { || oTsBrowse:nAt > Len( oTsBrowse:aArray ) }

      :lHitTop := .F.
      :lHitBottom := .F.
      :nRowPos := 1
      :nColPos := 1
      :nCell := 1

   ENDWITH

   RETURN Nil
Estranhei que com WITH OBJECT na montagem do tsbrowse dá erro em run-time de método desconhecido.

exemplo tbrowse/tsbrowse definido pelo usuário

Enviado: 19 Jul 2024 08:57
por GislenoX1
Bom dia ,

Sou novato nesse forum , meu primeiro post. Desenvolvi um browser para banco de dados , ainda e um prototipo , no qual se pode utilizar mysql,Dbf e talvez
ate outros bancos. Dentre alguns recursos voce pode arrastar e trocar colunas de posicao , aumentar de forma interativa as colunas , as operacoes basicas de
qualquer browser. Compilei com Hmg\Harbour. Tem uma versao demo disponivel com os fontes para download que esta no formato Dbf.Duvidas estou a disposicao.

exemplo tbrowse/tsbrowse definido pelo usuário

Enviado: 19 Jul 2024 09:20
por alxsts
Olá!

Seja bem-vindo ao Fórum!

Obrigado pela contribuição.