Modificando samples
Enviado: 20 Abr 2025 21:09
Estou inventando moda, sei lá....
Mas encontrei um comportamento que não sei explicar.
Talvez a invenção de moda ajude a criar bugs.
Postar um fonte de cada vez.
Primeiro exemplo, um browse dbf relativamente simples.
Nada demais, só uma opção de usar ou não dialog.
Acho estranho funcionar sem Main(), mas tudo bem, melhor ainda.
Compilou funciona, pode ser estranho dizer isso mas vão entender depois....
Mas encontrei um comportamento que não sei explicar.
Talvez a invenção de moda ajude a criar bugs.
Postar um fonte de cada vez.
Primeiro exemplo, um browse dbf relativamente simples.
Código: Selecionar todos
/*
demobrowsedbf.prg
browse dbf
called from demomenumt.prg
called from all.prg
*/
#include "hwgui.ch"
FUNCTION DemoBrowseDbf( lWithDialog, oDlg )
LOCAL oBrowse, aList, aItem
hb_Default( @lWithDialog, .T. )
CreateDBF( "test" )
USE test SHARED
aList := { ;
{ "Name", { || field->Name } }, ;
{ "Adress", { || field->Address } } }
IF lWithDialog
INIT DIALOG oDlg ;
TITLE "demobrowsedbf.prg - BROWSE DBF" ;
AT 0,0 ;
SIZE 800, 600
ENDIF
@ 20, 50 BROWSE oBrowse ;
DATABASE ;
SIZE 500, 400 ;
STYLE WS_BORDER + WS_VSCROLL + WS_HSCROLL
FOR EACH aItem IN aList
ADD COLUMN aItem[ 2 ] TO oBrowse HEADER aItem[ 1 ] LENGTH 30
NEXT
@ 500, 450 BUTTON "Browse nCurrent" ;
SIZE 180,36 ;
ON CLICK { || hwg_MsgInfo( "Browse Current:" + Ltrim( Str( oBrowse:nCurrent ) ) ) } // will close all
IF lWithDialog
ACTIVATE DIALOG oDlg CENTER
CLOSE DATABASES
ENDIF
RETURN Nil
STATIC FUNCTION CreateDbf( cFileName )
LOCAL aList
IF hb_vfExists( cFileName + ".dbf" )
RETURN NIL
ENDIF
aList := { ;
{ "NAME", "C", 30, 0 }, ;
{ "ADDRESS", "C", 30, 0 } }
dbCreate( cFileName , aList )
USE ( cFileName )
APPEND BLANK
REPLACE field->name WITH "DBF_AAAA", field->address WITH "DBF_AAAA"
APPEND BLANK
REPLACE field->name WITH "DBF_BBBB", field->address WITH "DBF_BBBB"
APPEND BLANK
REPLACE field->name WITH "DBF_CCCC", field->address WITH "DBF_CCCC"
USE
RETURN NIL
Acho estranho funcionar sem Main(), mas tudo bem, melhor ainda.
Compilou funciona, pode ser estranho dizer isso mas vão entender depois....