Thanks, I'll upload it to repo in my next commit.
Brgds,
Viktor
On 2009.06.02., at 17:52, Xavi wrote:
Some time ago I did a self-contained sample program for testing the
behavior of the browser because I had problems with a
sophisticated Clipper program that I was adapted to (x)Harbour. Now
this program has the same behavior in Clipper and Harbour.
Viktor, would be interesting to include in the repository as a test?
Please, EMG, Pritpal or anyone could test it with last xHarbour: I
think that it does just the opposite.
IMHO If so it is very difficult to move successfully some Clipper
programs to (x)Harbour and user support.
--
Xavi
/********************************************************
* TEST BROWSE ROWPOS FOR COMPILER IN CLIPPER AND HARBOUR
*********************************************************/
static s_nRecNo := 1
static s_nLastRec := 100
static s_lFixPos := .F.
Procedure Main()
Local nRow := 1
Cls
@ 0,4 say 'Is current RecNo but not repositioned until FixPos .T.
<F2> Change FixPos'
@ MaxRow(),1 say 'Please press <Intro> to select or <Esc> to exit
and <F2> to FixPos is '
while( LastKey() != 27 )
@ 0,0 say s_nRecNo picture '###'
@ MaxRow(),68 say iif(s_lFixPos, '.T.','.F.')
nRow := TestBrw( nRow )
enddo
return
Function TestBrw( nRowIni )
Local nKey, oBrw := TBrowseNew( 1, 0, MaxRow() - 1, MaxCol() )
oBrw:SkipBlock := { | n | n := iif( n < 0, max( n, 1 -
s_nRecNo ), ;
min( s_nLastRec -
s_nRecNo, n ) ), ;
s_nRecNo += n, n }
oBrw:GoTopBlock := { || s_nRecNo := 1 }
oBrw:GoBottomBlock := { || s_nRecNo := s_nLastRec }
oBrw:AddColumn( TBColumnNew( 'RecNo #', {|| s_nRecNo } ) )
if( s_lFixPos .and. nRowIni > 1 )
Eval( oBrw:skipBlock, 1 - nRowIni )
endif
oBrw:rowPos := nRowIni
while( .T. )
while( !oBrw:stabilize() )
enddo
nKey := Inkey( 0 )
if( nKey == 27 .or. nKey == 13 )
exit
elseif( nKey == -1 )
s_lFixPos := iif(s_lFixPos, .F., .T.)
exit
elseif( nKey == 24 )
oBrw:Down()
elseif( nKey == 05 )
oBrw:Up()
elseif( nKey == 03 )
oBrw:pageDown()
elseif( nKey == 18 )
oBrw:pageUp()
elseif( nKey == 29 ).or.( nKey == 31 )
oBrw:goTop()
elseif( nKey == 23 ).or.( nKey == 30 )
oBrw:goBottom()
elseif( nKey == 01 )
oBrw:rowPos := 1
elseif( nKey == 06 )
oBrw:rowPos := s_nLastRec
endif
enddo
return oBrw:rowPos
/*****
* END
******/
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour