TSBROWSE Class OF MANUEL MERCADO

TSBROWSE Class OF MANUEL MERCADO

Postby jose_murugosa » Thu Feb 07, 2008 9:08 pm

Hi to everybody,

Next Tuesday, February 12, we will put in our blog classes of Manuel Mercado, while preparing a place dedicated to our good friend and master in our page.

At that moment, we will post here our blog address.

You will find links to download the last update of TSBrowse 7 and other classes of Manuel, and we hope we can include a biography of him for his funs.

He said he will soon release his 8th version of this browser.

Thanks, Manuel, for your contributions to Fivewin.
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
User avatar
jose_murugosa
 
Posts: 1180
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Postby George » Thu Feb 07, 2008 11:44 pm

Jose,

Thanks for your initiative.

The M. Mercado TsBrowse class is, in my opinion, the most important class, to be used with fivewin + FWH.

Regards,

George
George
 
Posts: 725
Joined: Tue Oct 18, 2005 6:49 pm

Postby Otto » Fri Feb 08, 2008 7:41 am

As I never used TSBrowse could you please tell me what the advantages over xBrowser are?
Thanks in advance
Otto
User avatar
Otto
 
Posts: 6332
Joined: Fri Oct 07, 2005 7:07 pm

Postby George » Fri Feb 08, 2008 3:40 pm

Otto,

It's easy to use, in addition to be the best "looking" browse and has many important features as you can read from From Manuel mercado:

Friends All:

The original work and, the great merit is of Luis Krause Mantilla, author
of modified version of classes TCBrowse, TWBrowse, TCColumn and TScrollBar
that served as base for the creation of the new class "TSBrowse".

Credits: (People that have contributed at some time to get this new class)
Luis Krause Mantilla
Selim Anter
Stan Littlefield
Marshall Thomas
Eric Yang
John Stolte
Harry Van Tassell
Martin Vogel
Katy Hayes
José -
Hernan Diego Ceccarelli ( some ideas taked from his TWBrowse )
Antonio Carlos Pantaglione ( Toninho@fwi.com.br )
Ricardo Ramirez (TSBtnGet is an adaptation of his TBtnGet Class)
Gianni Santamarina
Ralph del Castillo
FiveTech (original classes)

Many thanks to all of them.

Even though I have included some ideas of my own crop, my work has
consisted mainly on assembling the pieces to build this new class.

TSBrowse is now, an independent control that inherits directly from
TControl class.

I have also included the suggestions and observations from friends that
have tested the prototype.

I'll apreciate your suggestions and observations to complement and amend
this work.

My only interest, as professional of programming work for many years, is
count on a powerful tool to accomplish my work with greater efficiency and
better look.

The Browser, for me, is the most important tool if we talk about data base
management, no other control is compared to it.

Next, some of the facilities of this new class (those which I remember at
this moment, believ me, they are many):


1.- "TSBrowse" is based from its origin on the control by columns with
individual attributes on each one.

2.- You can control independently, for each column, the color attributes
defined as code blocks or directly with the numerical value of RGB
mixes.

You can handle for each column, the following color kits:

a).- Text and background in cells.
b).- Text and background in headers.
c).- Text and background in footers.
d).- Text and background in focused cells.
e).- Text and background in cells at editing time.
f).- Text and background in columns that controls the index.
g).- Text and background in focused cells when the browse is inactive.
h).- Grid lines.

The manage of colors goes up to cell level (not only lines or columns),
you'll see the sample programs.

Colors can be assigned All or Some for all of the columns or for specific
ones in a single statement with the "TSBrowse" method SetColor().


3.- The grid lines can be:
Full oBrw:nLineStyle := 1
Only vertical lines oBrw:nLineStyle := 2
Only horizontal lines oBrw:nLineStyle := 4
No lines oBrw:nLineStyle := 0
Dotted lines oBrw:nLineStyle := 5
3D look oBrw:nLineStyle := 3

The color is assigned apart (see previous point).

4.- You can control also for each column the following attributes:
a).- Text alignment (left, centered, right) in:
Cells.
Headers.
Footers.
b).- 3D look (true, false) for:
Cells.
Headers.
Footers.
c).- Different Fonts for:
Cells.
Headers.
Footers.
d).- Line height independently of font size for:
Cells.
Headers.
Footers.

5.- Frozzen and protected columns.

6.- Editable or not editable columns.

7.- You can control the cursor movement after editing as follows:
Right.
Down.
Up.
Left.
Next editable cell (right or down left).

Cursor movement can be also changed at runtime using the keys Ctrl+Shift+any arrow key, as well as activating the popup menu with right clicking on column's header.

8.- Edition starts just writing, not necessarily with Enter key or Double Click.

9.- You can exit editing mode by pressing: Up or Down arrow keys; Enter key or, if the edition was started on writing, with Left or Right arrow keys (as in Excel). The Esc key cancels editing mode with no change in the field.

10.- Using bPrevEdit and bPostEdit code blocks, you can control the value of variables used in footers when those were defined as code blocks.
See sample 7

11.- When the Browse regains focus (switching windows), it recovers the record and the cursor's position that had before losing focus, even though other windows are using the same data base and index.

12.- For compatibility, "TSBrowse" preserves the command format FIELDS, HEADERS, FIELDSIZES of TWBrouse, by creating automatically the columns. Columns can also be generated from predefined arrays of: data, headings and sizes, using the "TSBrowse" method SetCols().


13.- "TSBrowse" supports several RDD'S: DBFCDX, COMIX, ADS, SIX, DBFNTX,
as well as objects like oDbf, oCtx, oTree and Arrays.
(other RDD's can be added as soon as I get the definition of some database functions that they handle)

14.- Report method to print the browse contents.
See all Window samples

15.- Text Viewer.

16.- Use of bitmaps in cells, headers and footers.

17.- Synchronization through code blocks with other browses using "TSBrowse" method SyncChild().

18.- Filters based on indexes (specially useful with NTX).

19.- Automatic append using the "TSBrowse" method SetAppendMode(). When you press down arrow key at the last row, "TSBrowse" opens a virtual blank record that can be edited. Actual append is done when you complete the edition of the first editable field. Pressing Esc key annulates the virtual append.

20.- Columns movement at runtime dragging the mouse on headers (Drag & Drop), or also, activating the popup menu with right clicking on headers.

21.- Keyboard incremental search for fields of any type.

22.- Add, insert and delete columns from code.

23.- Automatic end column and phantom column (to stop scrolling and fill unused area).
See samples 2 and 4

24.- Control of vertical and horizontal scroll bars (activate or not).
See sample 4

25.- Cursor movements: PanLeft, Panright, PanHome and PanEnd as in Clipper's DBU program.

26.- Prevalidation of keys. You can disable the use of some keys through "TSBrowse" method lIgnoreKey().

27.- Automatic creation of columns taking the fields of the active or aliased data base with the "TSBrowse" method LoadFields().

28.- You can use in the same program, "TSBrowse" and Hernan's "TWBrowse".

29.- Fully bilingual Spanish / English.

30.- Assignment of related table (array) for field editing using a ComboBox for selection through "TSBrowse" method SetData().
See samples 2 and 6

31.- Footers can be defined as text or as code block.
See sample 7

32.- Same code applyes for dialogs and windows, with no tricks.

33.- Continuows edition with lAutoEdit instance variable.
See sample 6

34.- New Multiselect feature with SetSelectMode() Method.
See samples 1 and 3

35.- New BtnGet editing with TBtnGet Class from Ricardo Ramirez using SetBtnGet() Method.
See samples 2, 4, 6 and 7.

36.- New Multi-Line Feature. By simply using CRLF in headers, cells and
footers See samples 4 and 6.

37.- New Auto Delete feature with SetDeleteMode() Method. Delete rows
(records/items) by pressing Del key. All stuff handled by TSBrowse.

38.- New alignment managment of BitMaps by using code blocks in clause
ALIGN. See program SBALIGN.PRG

39.- New Super Headers feature with ADD SUPER HEADER command. See program
SBSUPERH.PRG

40.- Assign default values to records/items added with Auto Append Mode by
using new oBrw:aDefault instance variable.

42.- Vertical Text for headers using DT_VERT on ALIGN clause when define
columns. See samples 1, 3 and 4 in SBTEST.PRG.

43.- Logical fields are edited using a Check Box virtual control, this feature
is activated if you issue CHECKBOX clause when define columns. See
sample 4 in SBTEST.PRG

44.- Edition is done within a Non Modal dialog, so you can exit editing
mode by clicking at any part of the screen includding buttons, menus,
scroll bars, etc.

45.- ¡ It's Free !, etc.....


Use attached Build.bat to build sample programs.

Enjoy TSBrowse, best regards.

Manuel Mercado.
Salamanca, Gto., México.

mmercadog@prodigy.net.mx
mmercadog@hotmail.com


Regards,

George
George
 
Posts: 725
Joined: Tue Oct 18, 2005 6:49 pm

Postby Kleyber » Fri Feb 08, 2008 6:21 pm

Otto wrote:As I never used TSBrowse could you please tell me what the advantages over xBrowser are?
Thanks in advance
Otto


Otto,

IMHO, I use TSBrowse specially for editing. I use it extensively and TSBrowse has the TSBTNGET() where you can set a function inside a cell, and put a bitmap to click on it or press F12 to open another browse and make your searches. That's what I don't see in other browses and it's very useful to me.

Regards,
Kleyber Derick

FWH / xHb / xDevStudio / SQLLIB
User avatar
Kleyber
 
Posts: 581
Joined: Tue Oct 11, 2005 11:28 am
Location: São Luiz, Brasil

Postby Otto » Fri Feb 08, 2008 6:56 pm

George, Derick,
thank you for your answers.

I have the impression that here TS is compared with Tbrowse and
not with xBrowse.

I would be interested in a comparison with xBrowse. All which is
in the ST list I can do with with XBrowser too.

Especially I would be interested in a speed comparison and stability.

Regards,
Otto
User avatar
Otto
 
Posts: 6332
Joined: Fri Oct 07, 2005 7:07 pm

Postby James Bott » Fri Feb 08, 2008 7:30 pm

Otto,

Here is a screenshot of an example of TSBrowse. Note the use of icons, conditional header colors, header gradient colors, conditional row and cell colors, and disabled icons colors.

I have not used XBrowse much so I don't know if it can do all these things too.

James

Image
User avatar
James Bott
 
Posts: 4840
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA

Postby George » Fri Feb 08, 2008 7:51 pm

Otto,

I am using TsBrowse, intensively in a local network of 5 computers (not client/server), with files containing over 300,000 records. All browsers are working very fast. My application has not problem at all regarding the speed or instability.

I can't comment on xBrowse, because I am not using it, as TSBrowse can do everything that I need to implement in a browser control.

Regards,

George
George
 
Posts: 725
Joined: Tue Oct 18, 2005 6:49 pm

Postby nageswaragunupudi » Fri Feb 08, 2008 7:59 pm

Mr James

There seem to be some problem with the image link. I can not see it. Can you post the link again please ?
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10643
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Postby James Bott » Fri Feb 08, 2008 8:01 pm

NageswaraRao,

I see that the image is slow to load today. Here is the link:

http://img2.freeimagehosting.net/uploads/b6b05d41c4.jpg

James
User avatar
James Bott
 
Posts: 4840
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA

Postby nageswaragunupudi » Fri Feb 08, 2008 8:04 pm

Mr James

Thanks. I think you all know countries on this side of the globe are facing some connectivity and speed issues.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10643
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Postby nageswaragunupudi » Fri Feb 08, 2008 8:40 pm

Mr James

Very nice screen shot. Before I start making any comparison with XBrowse, I would like to make it very clear that I have the highest regards for the author or TSbrowse, the Maestro, Mr. Manuel Mercado I used it extensively in my 16-bit applications and used almost all its features to the best advantage. Though I use colors, gradients and bitmaps with great restraint. I still miss the functional use of the super headers. This feature is not available in any other browse. I stopped using the two great products, Mr. Hernann's browse and TSBrowse when I started development in 32 bits. I just wanted to steer clear of maintenance issues.

Still if I make any comparison, it is because I worked on both the products, but not with a view to say this is better or that is better.

Discussing the limited feature set presented in the above screen shot, all that can be done with xbrowse also, including header footer colors, conditional cell colors, bitmaps, except gradient fills.

Looking at the above post one important functional feature not found in xbrowse or any other browse is Super Headers. ( The code I downloaded from your site needs a minor fix ). Also missing is the optional Postedit key navigation.

Cosmetic features missing are automatic checkbox editing of logical fields ( we have to do that through our code though it is easy) and optional colors on gradients.

There may be many others. Let us keep looking. I guess Otto has enough information for the time being.

Recently I found in the Spanish forum, Transparent TSBrowse. Transparent browse on bitmap ( or image ) background. That was very impressive.

Earlier I made a derived txbrowse class with the same effect and posted in this forum. It is possible.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10643
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Postby nageswaragunupudi » Fri Feb 08, 2008 8:52 pm

In continuation

These features also are not in txbrowse

17.- Synchronization through code blocks with other browses using "TSBrowse" method SyncChild().

We can do this in bchange block of xbrowse.

18.- Filters based on indexes (specially useful with NTX).

Guess FWH can move this code from other browses to xbrowse also.

19.- Automatic append using the "TSBrowse" method SetAppendMode(). When you press down arrow key at the last row, "TSBrowse" opens a virtual blank record that can be edited. Actual append is done when you complete the edition of the first editable field. Pressing Esc key annulates the virtual append.

Note on 19: I was always uncomfortable with the lack of control I had with this. I wanted a row to be apppended only if I enter some minimum required columns validly. TXbrowse gives me more control.

Hope FWH also gives us these features. Now that the Maestro is upgrading the TSBrowse we may have more features on TSBrowse in future
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10643
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Postby Otto » Fri Feb 08, 2008 9:33 pm

Hello NageswaraRao,
>I just wanted to steer clear of maintenance issues.

That’s what I want too.
After reading all the threads I think I stay with xBrowse. There seems not be much advantage in changing.

Regards,
Otto


Image
User avatar
Otto
 
Posts: 6332
Joined: Fri Oct 07, 2005 7:07 pm

Postby nageswaragunupudi » Fri Feb 08, 2008 10:15 pm

Mr Otto

Very impressive screen shots. You have your own style. And James has his.

I confess I am lazy. I appreciate your work.

Whatever browses we have for clipper or harbour, they are far far better than the grids available in any other development platform.

By the way, where from do you get all those bitmaps ?
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10643
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Next

Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: cnavarro and 65 guests