Page 2 of 3

PostPosted: Tue Jan 22, 2008 10:11 pm
by Enrico Maria Giordano
I just tried James sample using FWH 8.01 and it seems to work fine here.

EMG

PostPosted: Wed Jan 23, 2008 12:28 am
by James Bott
Enrico,

>I just tried James sample using FWH 8.01 and it seems to work fine here.

Thank you for reporting that.

James

PostPosted: Wed Jan 23, 2008 12:58 am
by wilsongamboa
James Nice Sample
we compile with fwh 2.7 and xHarbour and works well

with only .dbf
with .dbf + Index
with .dbf + Index + Filter

Thanks

att

PostPosted: Wed Jan 23, 2008 1:52 am
by James Bott
Wilson,

>we compile with fwh 2.7 and xHarbour and works well.

Thanks for reporting. This means it should work even with older versions of XBrowse.

James

PostPosted: Wed Jan 23, 2008 2:24 am
by richard-service
Hi James,

I fix I test. I add ::oBrw:Refresh() and work fine.
So your sample work fine.

Regards,

Richard

PostPosted: Wed Jan 23, 2008 2:57 am
by James Bott
Richard,

>I fix I test. I add ::oBrw:Refresh() and work fine.

Good news. Thanks.

James

PostPosted: Wed Jan 23, 2008 3:38 am
by nageswaragunupudi
James Bott wrote:Richard and NageswaraRao,

I am at a loss as to why it isn't working for you. I'm thinking it must be differences in TXBrowse. NageswaraRao, didn't you say in another message thread that you are using a modified TXBrowse? Could you be linking in this instead of the standard FWH version?

I am using xHarbour, are you?

James

I use modified txbrowse for my software.

But when i test anything here for the forum discussions, I test with FWH 8.01 libraries only and do not use my extensions. Some time today i shall work again when i get some time and come out with the circumstances under which it breaks.

PostPosted: Thu Jan 24, 2008 4:26 am
by nageswaragunupudi
Mr James


James Bott wrote:Richard and NageswaraRao,

I am at a loss as to why it isn't working for you. I'm thinking it must be differences in TXBrowse. NageswaraRao, didn't you say in another message thread that you are using a modified TXBrowse? Could you be linking in this instead of the standard FWH version?

I am using xHarbour, are you?

James


I have tested using exact copy of your code with unmodified libraries of FWH 8.01. The problem I reported arises occasionally under different circumstances. One I report here.

1) Please start your application.
(a) Resize the window to increase the height to bring into visibility one more row. Now thre are odd number of rows. Make sure that the number of rows displayed is an odd number.
(b) Click on 2nd row. Then click on 4th tow. Then keep clicking on even rows till the last even row.
This is the result of the screen shot.

Image

There are quite a few other circustances when the logic fails. But I hope one example is enough.

I still feel there is no substitute for the Browse calling the color codeblock with the visible row number as a parameter as we earlier discussed about tcbrowse class.

PostPosted: Thu Jan 24, 2008 7:49 am
by James Bott
NageswaraRao,

I see the problem you described. I will have to think about a solution.

>I still feel there is no substitute for the Browse calling the color codeblock with the visible row number as a parameter as we earlier discussed about tcbrowse class.

This does not seem so easy. In addition to the visible row number you would also need to know which color the first row was in order to figure out which color to make the current row. So you would need var to keep track of this and you would have to update it each time the first visible row was a new record. Then you would have to calculate the color of the current row based on the color of the first row and the row number of the current row.

James

PostPosted: Thu Jan 24, 2008 7:52 am
by nageswaragunupudi
James Bott wrote:NageswaraRao,

This does not seem so easy. In addition to the visible row number you would also need to know which color the first row was in order to figure out which color to make the current row. So you would need var to keep track of this and you would have to update it each time the first visible row was a new record. Then you would have to calculate the color of the current row based on the color of the first row and the row number of the current row.

James

Yes. All that is taken care of in my tcbrowse solution. You just check if it is even or odd. Please make the modifications i suggested to tcbrowse class it will work without problem.

PostPosted: Thu Jan 24, 2008 8:07 am
by Otto
Hello NageswaraRao,
was this the solution you suggested?

Best regards,
Otto

oBrw:bClrStd := { || Colores() }

//-----------------------
STATIC FUNCTION Colores()
LOCAL aCol:={}
IF (ordkeyno()) % 2 == 0
aCol:={CLR_BLACK, RGB(193,221,255) }
ELSE
aCol:={CLR_BLACK, RGB(221,245,255) }
ENDIF
RETURN (aCol)

PostPosted: Thu Jan 24, 2008 8:09 am
by nageswaragunupudi
no

PostPosted: Thu Jan 24, 2008 8:16 am
by nageswaragunupudi

PostPosted: Thu Jan 24, 2008 9:05 am
by Otto
Thank you.
I don't use TCBROWSE.
But the code I posted works for me.
Regards
Otto

PostPosted: Thu Jan 24, 2008 9:21 am
by James Bott
You can use this line with TXBrowse and it elminates the problem described by NageswaraRao.

oBrw:bClrStd:= {|| if( (cAlias)->(ordkeyno()) % 2 == 0 ,{ CLR_BLACK, COLOR_LIGHT },{ CLR_BLACK, COLOR_DARK }) }

However, I understand that ordkeyno() is very slow with ADS so you probably can't use it with ADS.

James