Tava fácil demais....
A primeira tela a ser convertida é..... um browse ADO

Moderador: Moderadores
#headers=hbgtwvg.ch wvgparts.ch wvtwin.ch
#include "hwgui.ch"
STATIC FUNCTION BrowseHWGUI( cnSQL )
LOCAL oModDlg, oBrw1
INIT DIALOG oModDlg TITLE "Licenças" AT 0,0 SIZE 1024,768
@ 1,1 BROWSE oBrw1 SIZE 1022,700 ;
STYLE WS_BORDER + WS_VSCROLL + WS_HSCROLL
@ 500,720 OWNERBUTTON ON CLICK {|| hwg_EndDialog()} ;
SIZE 180,36 FLAT ;
TEXT "Close" COLOR hwg_ColorC2N("0000FF")
oBrw1:aarray := cnSQL
oBrw1:AddColumn( HColumn():New( "Validade",{|v,cnSQL|(v),cnSQL:Date( "VENCTO" )},"D",8,0,.F.,DT_CENTER ) )
oBrw1:AddColumn( HColumn():New( "Id.Pat",{|v,cnSQL|(v),Str( cnSQL:Number( "PATDETPATRIMONIO" ), 6 )},"C",6,0,.T.,DT_CENTER,DT_RIGHT ) )
oBrw1:AddColumn( HColumn():New( "Patrimônio",{|v,cnSQL|(v),cnSQL:String( "PATRINOME", 20 )},"C",20,0,.F.,DT_CENTER,DT_RIGHT ) )
oBrw1:AddColumn( HColumn():New( "Id.Lic",{|v,cnSQL|(v),Str( cnSQL:Number( "PATDETLICENCA" ), 6 )},"C",6,0,.F.,DT_CENTER,DT_RIGHT ) )
oBrw1:AddColumn( HColumn():New( "Licença",{|v,cnSQL|(v),cnSQL:String( "LICENCANOME", 50 )},"C",50,0,.F.,DT_CENTER,DT_RIGHT ) )
oBrw1:AddColumn( HColumn():New( "Obs",{|v,cnSQL|(v),Pad( AllTrim( cnSQL:String( "OBSVENCTO" ) + " " + cnSQL:String( "GERAOBS" ) ), 30 )},"C",30,0,.F.,DT_CENTER,DT_RIGHT ) )
oBrw1:aColumns[2]:lResizable := .F.
oBrw1:bSkip := { |o,nSkip| ADOSkipper( o:aArray, nSkip ) }
oBrw1:bGotop := { |o| o:aArray:MoveFirst() }
oBrw1:bGobot := { |o| o:aArray:MoveLast() }
oBrw1:bEof := { |o| o:aArray:Eof() }
oBrw1:bBof := { |o| o:aArray:Bof() }
oBrw1:bRcou := { |o| o:aArray:RecordCount() }
oBrw1:bRecnoLog := { |o| o:aArray:AbsolutePosition }
oBrw1:bGOTO := { |o,n| (o),o:aArray:Move( n ) }
ACTIVATE DIALOG oModDlg
Return Nil
FUNCTION ADOSkipper( cnSQL, nSkip )
LOCAL nRec := cnSQL:AbsolutePosition()
IF ! cnSQL:Eof()
cnSQL:Move( nSkip )
IF cnSQL:Eof()
cnSQL:MoveLast()
ENDIF
IF cnSQL:Bof()
cnSQL:MoveFirst()
ENDIF
ENDIF
RETURN cnSQL:AbsolutePosition() - nRec
Error BASE/1004 No exported method: EVAL
Called from (b)EVAL(0)
Called from HBROWSE:PAINT(752)
Called from HBROWSE:ONEVENT(304)
Called from HWG_DLGBOXINDIRECT(0)
Called from HDIALOG:ACTIVATE(156)
Called from BROWSEHWGUI(300)
Called from (b)JPPATRIMONIOCLASS_SHOWVENCIDAS(253)
tmp := Eval( ::bRecno, Self )
IF ::type == BRW_DATABASE
::alias := Alias()
::bSkip := { |o, n| ( ::alias ) -> ( dbSkip( n ) ) }
::bGoTop := { || ( ::alias ) -> ( DBGOTOP() ) }
::bGoBot := { || ( ::alias ) -> ( dbGoBottom() ) }
::bEof := { || ( ::alias ) -> ( Eof() ) }
::bBof := { || ( ::alias ) -> ( Bof() ) }
::bRcou := { || ( ::alias ) -> ( RecCount() ) }
::bRecnoLog := ::bRecno := { ||( ::alias ) -> ( RecNo() ) }
::bGoTo := { |o, n|( ::alias ) -> ( dbGoto( n ) ) }
ELSEIF ::type == BRW_ARRAY
::bSkip := { | o, n | ARSKIP( o, n ) }
::bGoTop := { | o | o:nCurrent := 1 }
::bGoBot := { | o | o:nCurrent := o:nRecords }
::bEof := { | o | o:nCurrent > o:nRecords }
::bBof := { | o | o:nCurrent == 0 }
::bRcou := { | o | Len( o:aArray ) }
::bRecnoLog := ::bRecno := { | o | o:nCurrent }
::bGoTo := { | o, n | o:nCurrent := n }
::bScrollPos := { |o, n, lEof, nPos|hwg_VScrollPos( o, n, lEof, nPos ) }
ENDIF
oTBrowse := { ;
{ "DTVALIDADE", { || :Date( "VENCTO" ) } }, ;
{ "ID.PAT", { || Str( :Number( "PATDETPATRIMONIO" ), 6 ) } }, ;
{ "PATRIMONIO", { || :String( "PATRINOME", 20 ) } }, ;
{ "ID.LIC", { || Str( :Number( "PATDETLICENCA" ), 6 ) } }, ;
{ "LICENCA", { || :String( "LICENCANOME", 50 ) } }, ;
{ "OBS", { || Pad( AllTrim( :String( "OBSVENCTO" ) + " " + :String( "GERALOBS" ) ), 30 ) } } }
BrowseADO( cnSQL, oTBrowse, "PATRINOME,LICENCANOME" )
Local aSample1 := { {"Alex",17,2500}, {"Victor",42,2200}, {"John",31,1800}, ;
{"Sebastian",35,2000}, {"Mike",54,2600}, {"Sardanapal",22,2350}, {"Sergey",30,2800}, {"Petr",42,2450} }
Local aSample2 := { {.t.,"Line 1",10}, {.t.,"Line 2",22}, {.f.,"Line 3",40} }
INIT DIALOG oModDlg TITLE "About" AT 190,10 SIZE 600,320
@ 20,16 BROWSE oBrw1 SIZE 280,220 ;
STYLE WS_BORDER + WS_VSCROLL + WS_HSCROLL
@ 310,16 BROWSE oBrw2 ARRAY SIZE 280,220 ;
STYLE WS_BORDER + WS_VSCROLL + WS_HSCROLL
oBrw1:aArray := aSample1
ELSEIF ::type == BRW_ARRAY
::bSkip := { | o, n | ARSKIP( o, n ) }
::bGoTop := { | o | o:nCurrent := 1 }
::bGoBot := { | o | o:nCurrent := o:nRecords }
::bEof := { | o | o:nCurrent > o:nRecords }
::bBof := { | o | o:nCurrent == 0 }
::bRcou := { | o | Len( o:aArray ) }
::bRecnoLog := ::bRecno := { | o | o:nCurrent }
::bGoTo := { | o, n | o:nCurrent := n }
::bScrollPos := { |o, n, lEof, nPos|hwg_VScrollPos( o, n, lEof, nPos ) }
ENDIF
Eval( ::bGoTop, Self )
hwg_msginfo( {|v,cnSQL|(v),Str( cnSQL:Number( "PATDETLICENCA" ), 6 )} )
IF ::type == BRW_DATABASE
::alias := Alias()
::bSkip := { |o, n| ( ::alias ) -> ( dbSkip( n ) ) }
::bGoTop := { || ( ::alias ) -> ( DBGOTOP() ) }
::bGoBot := { || ( ::alias ) -> ( dbGoBottom() ) }
::bEof := { || ( ::alias ) -> ( Eof() ) }
::bBof := { || ( ::alias ) -> ( Bof() ) }
::bRcou := { || ( ::alias ) -> ( RecCount() ) }
::bRecnoLog := ::bRecno := { ||( ::alias ) -> ( RecNo() ) }
::bGoTo := { |o, n|( ::alias ) -> ( dbGoto( n ) ) }
ELSEIF ::type == BRW_ARRAY
::bSkip := { | o, n | ARSKIP( o, n ) }
::bGoTop := { | o | o:nCurrent := 1 }
::bGoBot := { | o | o:nCurrent := o:nRecords }
::bEof := { | o | o:nCurrent > o:nRecords }
::bBof := { | o | o:nCurrent == 0 }
::bRcou := { | o | Len( o:aArray ) }
::bRecnoLog := ::bRecno := { | o | o:nCurrent }
::bGoTo := { | o, n | o:nCurrent := n }
::bScrollPos := { |o, n, lEof, nPos|hwg_VScrollPos( o, n, lEof, nPos ) }
ENDIF
oBrw1:aArray := aSample1
oBrw1:AddColumn( HColumn():New( "Validade",{|v,o|(v),o:aArray:Date( "VENCTO" )},"D",8,0,.F.,DT_CENTER ) )
oBrw1:AddColumn( HColumn():New( "Id.Pat",{|v,o|(v),Str( o:aArray:Number( "PATDETPATRIMONIO" ), 6 )},"C",6,0,.T.,DT_CENTER,DT_RIGHT ) )
oBrw1:AddColumn( HColumn():New( "Patrimônio",{|v,o|(v),o:aArray:String( "PATRINOME", 20 )},"C",20,0,.F.,DT_CENTER,DT_RIGHT ) )
oBrw1:AddColumn( HColumn():New( "Id.Lic",{|v,o|(v),Str( o:aArray:Number( "PATDETLICENCA" ), 6 )},"C",6,0,.F.,DT_CENTER,DT_RIGHT ) )
oBrw1:AddColumn( HColumn():New( "Licença",{|v,o|(v),o:aArray:String( "LICENCANOME", 50 )},"C",50,0,.F.,DT_CENTER,DT_RIGHT ) )
oBrw1:AddColumn( HColumn():New( "Obs",{|v,o|(v),Pad( AllTrim( o:aArray:String( "OBSVENCTO" ) + " " + o:aArray:String( "GERAOBS" ) ), 30 )},"C",30,0,.F.,DT_CENTER,DT_RIGHT ) )
{|v,o|(v),o:aArrray.... }
#include "hwgui.ch"
STATIC FUNCTION BrowseHWGUI( cnSQL )
LOCAL oModDlg, oBrw1
INIT DIALOG oModDlg TITLE "Licenças" AT 0,0 SIZE 1024,768
@ 1,1 BROWSE oBrw1 SIZE 1022,700 ;
STYLE WS_BORDER + WS_VSCROLL + WS_HSCROLL
@ 500,720 OWNERBUTTON ON CLICK {|| hwg_EndDialog()} ;
SIZE 180,36 FLAT ;
TEXT "Close" COLOR hwg_ColorC2N("0000FF")
oBrw1:aarray := cnSQL
oBrw1:AddColumn( HColumn():New( "Validade",{|v,o|(v),o:aArray:Date( "VENCTO" )},"D",8,0,.F.,DT_CENTER ) )
oBrw1:AddColumn( HColumn():New( "Id.Pat",{|v,o|(v),Str( o:aArray:Number( "PATDETPATRIMONIO" ), 6 )},"C",6,0,.T.,DT_CENTER,DT_RIGHT ) )
oBrw1:AddColumn( HColumn():New( "Patrimônio",{|v,o|(v),o:aArray:String( "PATRINOME", 20 )},"C",20,0,.F.,DT_CENTER,DT_RIGHT ) )
oBrw1:AddColumn( HColumn():New( "Id.Lic",{|v,o|(v),Str( o:aArray:Number( "PATDETLICENCA" ), 6 )},"C",6,0,.F.,DT_CENTER,DT_RIGHT ) )
oBrw1:AddColumn( HColumn():New( "Licença",{|v,o|(v),o:aArray:String( "LICENCANOME", 50 )},"C",50,0,.F.,DT_CENTER,DT_RIGHT ) )
oBrw1:AddColumn( HColumn():New( "Obs",{|v,o|(v),Pad( AllTrim( o:aArray:String( "OBSVENCTO" ) + " " + o:aArray:String( "GERAOBS" ) ), 30 )},"C",30,0,.F.,DT_CENTER,DT_RIGHT ) )
oBrw1:aColumns[2]:lResizable := .F.
oBrw1:bSkip := { |o,nSkip| ADOSkipper( o:aArray, nSkip ) }
oBrw1:bGotop := { |o| o:aArray:MoveFirst() }
oBrw1:bGobot := { |o| o:aArray:MoveLast() }
oBrw1:bEof := { |o| o:aArray:Eof() }
oBrw1:bBof := { |o| o:aArray:Bof() }
oBrw1:bRcou := { |o| o:aArray:RecordCount() }
oBrw1:bRecno := { |o| o:aArray:AbsolutePosition }
oBrw1:bGOTO := { |o,n| (o),o:aArray:Move( n ) }
ACTIVATE DIALOG oModDlg
Return Nil
FUNCTION ADOSkipper( cnSQL, nSkip )
LOCAL nRec := cnSQL:AbsolutePosition()
IF ! cnSQL:Eof()
cnSQL:Move( nSkip )
IF cnSQL:Eof()
cnSQL:MoveLast()
ENDIF
IF cnSQL:Bof()
cnSQL:MoveFirst()
ENDIF
ENDIF
RETURN cnSQL:AbsolutePosition() - nRec
Usuários vendo este fórum: Nenhum usuário registrado online e 4 visitantes