Saturday, March 21, 2009

HMG: Grid versus Browse [Updated 25th March 2009]

According to the MiniGUI Help File, a Browse control is a general purpose database browser.
while a control Grid is a container object that displays data in rows and columns, and is similar in appearance to a Browse window.

Q1. So, what are the differences ?

Q2. When to use BROWSE ?

Q3. When to use GRID ?

Sudip :

Q4. For browse control (for data editing), do we need to use table "EXCLUSIVELY" ?


1. Rathinagiri (HMG Forum) :

1.1 Browse controls are always linked with one table (that too a .dbf table).

1.2 Grid controls are for used for other purposes where, you wish to represent data in row,col format. For example, it may show a two dimensional array!

1.3 All the browse controls are grid controls but not vice versa.

2. MOL aka Malek, Poland (HMG Forum)

2.1 I think you will have problems with browsing huge tables (exhausting memory, etc) while using grid. Using Browse, I didn't found problems with database which has 100MB.

2.2 You need to open table in exclusive mode only when you want to add records or edit record via ALT-A, ALT-E.

2.3 If you open table in shared mode, you must write your own function to add, edit or delete rows.

2.4 WORKAREA property of Browse is available at control definition only.

3. Sudip, Kolkata, West Bengal India

3. 1 I just found a big difference in Grid and Browse in MiniGUI extended!
If you use SET AUTOADJUST ON. Then Grid will be auto adjusted, but normal Browse (not tsbrowse) will not! :)

3.2 As per help file (hmg_hlp.chm), we can set WORKAREA during definition of browse only! Cannot change on the fly!

3. Bicahi Esgici, HMG Forum, Turkey

Hi to all Clipper and especially HMG fans

I want give a humble answer to an unanswered question in Saturday, March 21, 2009 post HMG; Grid versus Browse;

Sudip ;

Q4. For browse control (for data editing), do we need to use table "EXCLUSIVELY" ?

A4. No. If your application will run in a single machine this doesn’t matter. In a network environment you can’t open your files exclusively. If so, only one user (who come first) can use your application. Than, you MUST use SHARED mode. BTW you don’t need specify SHARED mode option every open (USE); setting globally EXCLUSIVE OFF is sufficient.

When a file open by shared, editing need some considerations. Under Browse or not, you have LOCK every record before and UNLOCK after edit ( changing record pointer also issue an UNLOCK). LOCK ( .T.) property of BROWSE successfully achieve this duty for you.

While a BROWSE active, ALT-A allow row appending to table. This is only issued an APPEND BLANK command. This command automatically LOCK new appended (empty) record. So, doesn’t require any precaution.

Precaution required for operations intended multiple records, such as PACK, ZAP, APPEND FROM, DELETE FOR ... / ALL, RECALL FOR ... / ALL, REPLACE FOR ... / ALL, UPDATE ON ...

The best way for such operations is "close" application to network ( all user ) and performing on a single machine. Another way is using FLOCK() for a limited time.

I hope that this answer will be useful.

Regards and happy HMG’ing

1 comment:

  1. Hi CCH,

    Thanks for the topics. We really need it!

    I just found a big difference in Grid and Browse in MiniGUI extended!

    If you use

    Then Grid will be auto adjusted, but normal Browse (not tsbrowse) will not! :)




Welcome to Clipper... Clipper... Clipper

In 1997, then using Delphi 3, I had already created 32-bits Windows applications for HRIS, ERP and CRM. In 2007, using Ruby on Rails, an AJAX powered CRM site running on Apache & MySQL was created and I am now using Visual Studio .Net 2008 to create web-based projects and Delphi 7 for Win32 applications using SQL2005 & DBFCDX.

So, why then am I reviving the Original Clipper... Clipper... Clipper via a Blog as CA-Clipper is a programming language for the DOS world ? Believe it or not, there are still some clients using my mission-critical CA-Clipper applications for DOS installed in the late 80's and up to the mid 90's. This is testimony to CA-Clipper's robustness as a language :-)

With the widespread introduction of Windows 7 64-bits as the standard O/S for new Windows based PCs & Notebooks, CA-Clipper EXE simply will not work and it has become imperative for Clipper programmers to migrate immediately to Harbour to build 32/64 bits EXEs

Since 28th January 2009, this blog has been read by 134,389 (10/3/11 - 39,277) unique visitors (of which 45,151 (10/3/11 - 13,929) are returning visitors) from 103 countries and 1,574 cities & towns in Europe (37; 764 cities), North America (3; 373 cities) , Central America & Caribeans (6; 13 cities), South America(10; 226 cities), Africa & Middle-East (12; 44 cities) , Asia-Pacific (21; 175 cities). So, obviously Clipper is Alive & Well : -)

TIA & Enjoy ! (10th October 2012, 11:05; 13th November 2015)

Original Welcome Page for Clipper... Clipper... Clipper

This is the original Welcome Page for Clipper... Clipper... Clipper, which I am republishing for historical and sentimental reasons. The only changes that I have made was to fix all the broken links. BTW, the counter from is still working :-)

Welcome to Chee Chong Hwa's Malaysian WWW web site which is dedicated to Clipperheads throughout the world.

This site started out as a teeny-weeny section of Who the heck is Chee Chong Hwa ? and has graduated into a full blown web site of more than 140 pages (actually hundreds of A4 size pages) ! This is due to its growing popularity and tremendous encouragements from visiting Clipperheads from 100 countries worldwide, from North America, Central America, Caribbean, South America, Europe, Middle-East, Africa and Asia-Pacific. Thanx Clipperheads, you all made this happen !

What is Clipper ?

You may ask, what is this Clipper stuff ? Could Clipper be something to do with sailing as it is the name of a very fast sailing American ship in the 19th century ?

Well, Clipper or to be precise, CA-Clipper is the premier PC-Software development tool for DOS. It was first developed by Nantucket Corporation initially as a compiler for dBase3+ programs. Since then, CA-Clipper has evolved away from its x-base roots with the introduction of lexical scoping & pre-defined objects like TBrowse. As at today, the most stable version ofClipper is 5.2e while the latest version, 5.3a was introduced on 21 May 1996.

As at 11th November, 1996, an unofficial 5.3a fixes file was made available by Jo French. See the About CA-Clipper 5.3a section for more details. BTW, Jo French uploaded the revised 5.3a fixes file on 20th November, 1996.

Latest News

The latest news is that CA has finally released the long-awaited 5.3b patch on 21 May, 1997.

For 5.3b users, you must a take a look at Jo French's comments on unfixed bugs in 5.3b.

BTW, have you used Click ? If you're a serious Clipperprogrammer and need an excellent code formatter, Click is a natural choice. How to get it ? Simple, access Phil Barnett's site via my Cool Clipper Sites.

32-bits Clipper for Windows ?

Have you tried Xbase ++ ? Well, I have and compared to Delphi (my current Windows programming tool of choice), I'm still sticking to Delphi.

Anyway, you should visit the Alaska Home Page. Give it a chance and then draw your own conclusions !.

The Harbour Project

Is this the future of Xbase ? Take a look at at the Harbour Project

You are Visitor # ...

According to, you are visitor since 3 June 1996.

If you like or dislike what you see on this website, please drop me a line by clicking the email button at the bottom of this page or better still, by filling out the form in my guest book. If you are not sure what to write,click here to take a look at what other Clipperheads have to say.