TSBROWSE Class OF MANUEL MERCADO
- jose_murugosa
- Posts: 943
- Joined: Mon Feb 06, 2006 4:28 pm
- Location: Uruguay
- Contact:
TSBROWSE Class OF MANUEL MERCADO
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.
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
FWH + Harbour + Bcc7. Una seda!
José Murugosa
FWH + Harbour + Bcc7. Una seda!
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:
George
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:
Regards,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
George
Otto,Otto wrote:As I never used TSBrowse could you please tell me what the advantages over xBrowser are?
Thanks in advance
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
FWH / xHb / xDevStudio / SQLLIB
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
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
- James Bott
- Posts: 4654
- Joined: Fri Nov 18, 2005 4:52 pm
- Location: San Diego, California, USA
- Contact:
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
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
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
- James Bott
- Posts: 4654
- Joined: Fri Nov 18, 2005 4:52 pm
- Location: San Diego, California, USA
- Contact:
NageswaraRao,
I see that the image is slow to load today. Here is the link:
http://img2.freeimagehosting.net/uploads/b6b05d41c4.jpg
James
I see that the image is slow to load today. Here is the link:
http://img2.freeimagehosting.net/uploads/b6b05d41c4.jpg
James
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
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.
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
G. N. Rao.
Hyderabad, India
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
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
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
G. N. Rao.
Hyderabad, India
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
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 ?
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
G. N. Rao.
Hyderabad, India