Page 1 of 2

Manuel Mercado & TSBROWSE class

Posted: Sat Dec 22, 2007 4:40 pm
by George
The M. Mercado TSbrowse Class is without a doubt the more important component that I am using in my applications. I am for sure that many of you will agree on the importance of this class.
The TSBrowse versatility and advanced characteristics are not found in any other class to manage browses.

My suggestion for M. Mercado is that converts this class to use it with FWH and xHarbour last versions.

This excellent class, as well as others of also excellent quality that are used in our programs, should not be free.
This way we can reward our fellows programmers that are working many many hours for our benefit.

Thank you Manuel for sharing with us TSbrowse.

George

Posted: Sat Dec 22, 2007 6:40 pm
by Otto
Hello George,

do you have experience with xBrowser?
If yes where do you see advantages of TSBrowser over xBrowser.
Regards,
Otto

Posted: Sat Dec 22, 2007 8:01 pm
by James Bott
George,

>My suggestion for M. Mercado is that converts this class to use it with FWH and xHarbour last versions.

Are you having a problem with this class? It is working fine with 7.11, but I have not tried it with 7.12. If you are having a problem, what is it?

James

Posted: Sat Dec 22, 2007 8:14 pm
by Detlef Hoefner
George,

i agree with you that TsBrowse is a real asset amongst the browsers for FiveWin. Unfortunatelly it has several bugs which Manuel Mercado never solved.
James Bott made some bug cleaning and enhancements in version 6.13.
Thanks to him. So scrollbars do now work properly.

But there are still some bugs.
I also agree with you that such work should not be distributed as 'freeware'.
I'm not sure if you know the story of Manuel Mercado.
Here in short: some years ago after giving us TsBrowe, Manuel announced to develop a visual IDE for xHarbour and asked for money because this would have been a fulltime job. A lot of FiveWin users payed 50,- Euro to enable Manuel to work on this IDE. But instead of developing Manuel disappeared. Some rumors told he would be ill.

I don't regret the 50 Euros i payed because i use frequently TsBrowse
which IMO is already worth that money.

I don't thing you'll be able to encourage Manuel to complete this great browse.

Regards,
Detlef

Posted: Sat Dec 22, 2007 8:26 pm
by James Bott
Detlef,

>But there are still some bugs.

What bugs have you found? Have you made any fixes?

James

Posted: Sat Dec 22, 2007 8:40 pm
by Otto
I don’t speak any Spanish but as much as I understand it seems that Manuel is back.
http://fivetechsoft.com/forums/viewtopic.php?t=9312

James, did you evaluate xBrowser versus TS.
Regards,
Otto

Posted: Sat Dec 22, 2007 8:50 pm
by Otto
Hello Detlef,

I have to correct you.
It was: 50$ or 58 Euro

Today the same would be:
50 Dollar=34.739 Euro
That's business!
Regards,
Otto

Posted: Sat Dec 22, 2007 9:39 pm
by Detlef Hoefner
James,

if you use Super headers of TsBrowse you'll crash.
I corrected this in 6.13. but after some other misbehaviours i changed to Hernan's browse.

I modified the METHOD TSBrowse:DrawSuper().
Because a variable nI was running from nS to Len( aSuperHead ) + 1 a bound error happened.

In my version it was from line 2790 on

Code: Select all

   For nI := nS To Len( aSuperHead ) + 1

      If nStartCol > nMaxWidth
         Exit
      EndIf

      If nI <= Len( aSuperHead )
         nClrFore := If( ValType( aSuperHead[ nI, 4 ] ) == "B", ;
                         Eval( aSuperHead[ nI, 4 ] ), aSuperHead[ nI, 4 ] )
         nClrBack := If( ValType( aSuperHead[ nI, 5 ] ) == "B", ;
                         Eval( aSuperHead[ nI, 5 ] ), aSuperHead[ nI, 5 ] )

         lBrush := Valtype( nClrBack ) == "O"

         If ( lDegrad := ValType( nClrBack ) == "A" )
            nClrTo   := nClrBack[ 2 ]
            nClrBack := nClrBack[ 1 ]
            nClrTo := If( ValType( nClrTo ) == "B", Eval( nClrTo ), nClrTo )
            nClrBack := If( ValType( nClrBack ) == "B", ;
                            Eval( nClrBack ), nClrBack )
         EndIf

         cHeading := aSuperHead[ nI, 3 ]

         cHeading := If( Valtype( cHeading ) == "B", Eval( cHeading ), cHeading )

         lMultiLine := Valtype( cHeading ) == "C" .and. At( Chr( 13 ), cHeading ) > 0

         l3DLook    := aSuperHead[ nI, 6 ]
         hFont      := aSuperHead[ nI, 7 ]
         lBitMap    := aSuperHead[ nI, 8 ]
         lAdjBmp    := aSuperHead[ nI, 9 ]
         nLineStyle := aSuperHead[ nI, 10 ]
         nClrLine   := aSuperHead[ nI, 11 ]
         nHAlign    := aSuperHead[ nI, 12 ]
         nVAlign    := aSuperHead[ nI, 13 ]
         lTransp    := If( lBitMap, If( aSuperHead[ nI, 14 ], 1, 2 ), 0 )
      Else
         cHeading := ""
         nWidth   := ::nPhantom
         lBitmap  := .F.
         lTransp  := 0
         nClrBack := If( ::nPhantom == -2, nClrPane, nClrBack )
      EndIf
         
      if nI <= Len( aSuperHead )
         If ::aColumns[ aSuperHead[ nI, 1 ] ]:l3DTextHead != Nil
            l3DText := ::aColumns[ aSuperHead[ nI, 1 ] ]:l3DTextHead
            nClr3dL := ::aColumns[ aSuperHead[ nI, 1 ] ]:nClr3DLHead
            nClr3dS := ::aColumns[ aSuperHead[ nI, 1 ] ]:nClr3DSHead
            nClr3dL := If( ValType( nClr3dL ) == "B", ;
                           Eval( nClr3dL, 0, nStartCol ), nClr3dL )
            nClr3dS := If( ValType( nClr3dS ) == "B", ;
                           Eval( nClr3dS, 0, nStartCol ), nClr3dS )
         Else
            l3DText := nClr3dL := nClr3dS := Nil
         EndIf
      EndIf

      TSDrawCell(      hWnd, ;  // 1
                        hDC, ;  // 2
                          0, ;  // 3
                  nStartCol, ;  // 4
                     nWidth, ;  // 5
                   cHeading, ;  // 6
                    nHAlign, ;  // 7
                   nClrFore, ;  // 8
                   nClrBack, ;  // 9
                      hFont, ;  // 10
                    lTransp, ;  // 11 0 = No Bitmap 1 = Transparent 2 = Opaque
                nHeightHead, ;  // 12
                    l3DLook, ;  // 13
                 nLineStyle, ;  // 14
                   nClrLine, ;  // 15
                          3, ;  // 16 1=Header 2=Footer 3=Super
                nHeightHead, ;  // 17
                nHeightFoot, ;  // 18
               nHeightSuper, ;  // 19
                    lAdjBmp, ;  // 20
                 lMulTiLine, ;  // 21
                    nVAlign, ;  // 22
                          0, ;  // 23 nVertLine
                     nClrTo, ;  // 24
                    lDegrad, ;  // 25
                 If( lBrush, ;
       nClrBack:hBrush, 0 ), ;  // 26
                    l3DText, ;  // 27  3D text
                    nClr3dL, ;  // 28  3D text light color
                    nClr3dS )   // 29  3D text shadow color

      nStartCol += nWidth

      nWidth := 0
      If nI < Len( aSuperHead )
         For nJ := aSuperHead[ nI + 1, 1 ] To aSuperHead[ nI + 1, 2 ]
            nWidth += aColSizes[ nJ ]
         Next
      EndIf

   Next
regards,
Detlef

Posted: Sat Dec 22, 2007 9:46 pm
by Detlef Hoefner
Hallo Otto,

i would have paid even 100 Euro because FiveWin is still missing a professional looking browse. And Manuel's work was it worth.

btw, I wonder that you seem to prefer xBrowse.
I even can't believe what the mallorca.prg of the FWH samples is doing if you want to enter values which don't match a valid clause.
It's a mere mess.

Regards,
Detlef

Posted: Sat Dec 22, 2007 10:08 pm
by Otto
Hello Detlef,
I only ask for pros and cons. As I don’t know these other browsers.
Till now I only used C Five and TWbrowse.

Euro/Dollar
I only wanted to point out how the exchange rate changed in this short time.

Best regards,
Otto

Posted: Sat Dec 22, 2007 10:29 pm
by James Bott
Detlef,

>but after some other misbehaviours i changed to Hernan's browse.

Do you remember what other problems you had?

James

Posted: Sun Dec 23, 2007 1:01 am
by Silvio
Sorry but MM is the author of Visual fivewin project ?
Some one of us sent to this man 100,00 euros for the project do U remember : we also wait for this project...

Posted: Sun Dec 23, 2007 2:29 am
by George
The good looking, easy to use, features and power of Tsbrowse has not match.

I am using TSBrowse with FWH 2.7 + xHarbour Jan 2006. Tsbrowse is working fine for me, but I heard from others user that there are some issues with the arrays when using Tsbrowse + FWH.

Regarding the Visual Fivewin project I sent 100.00 to Manuel, through an Patrick Mast account (I don't remember if euros or dollars) but I do not regret it, because I earned much more than $100 by using his Tsbrowse class.
Sylvio, I don't know M. Mercado, but after all of his contribution to our forum, I am glad to see him helping us and developing new class for the Fivewin + [x]Harbour programmers.

Manuel come back and is posting comments in the spanish forum. He is going to develop a new version of TsBrowse for FWH.

Regards,

George

Posted: Sun Dec 23, 2007 2:39 am
by Armando
My 2 cents

A

Manuel come back and is posting comments in the spanish forum. He is going to develop a new version of TsBrowse for FWH.
And it will be free for all of us.
Regarding the Visual Fivewin project I sent 100.00 to Manuel, through an Patrick Mast account (I don't remember if euros or dollars) but I do not regret it, because I earned much more than $100 by using his Tsbrowse class.
I Agree.

Kind Regards

Posted: Sun Dec 23, 2007 4:27 am
by RAMESHBABU
Hi all TSB Users!

Indeed it is a good news that Mr.Manuel Mercado is back.

This is the English translation of what Mr.Manuel Mercado said in his
posting in Spanish Forum on Sat Dec 22, 2007 9:26 pm
I am already working on, just trying to run with TSBrowse FWH 7.12 just
to install.

As soon as I have the results I will be communicating and I will get the
latest version of TSBrowse already working with Harbour and xHarbour, of
course for free.

Receive, as always, my affectionate greeting.

Manuel Mercado
- Ramesh Babu P