Thursday, October 27, 2011

SQLite3 Façades for Harbour by Daniel Gonzalez

Hello everybody,

I'm not sure if one of you guys have heard about SQLite3 Façades for Harbour. I've wrote those façades in 2008 and then released it under Creative Commons Attribution 3.0 Unported License.

SQLite3 Façades for Harbour provides an easy and clean way to work with SQLite3 databases using an elegant and simple object oriented approach. If you get interested you can read the tests to get an idea of how it works.

Well, I'm no longer working with Harbour, but these façades was very useful to me, and it's available at

Hope it's still useful.

Originally posted on Harbour Project Facebook Group

Wednesday, October 26, 2011

Harbour MiniGUI Extended Edition 2.0.2 Released on 12th October 2011

Hi All,

The Harbour MiniGUI Extended Edition 2.0.2 setup is published at the following

and the lite MinGW-based archive is placed at the following URL:

There is the following changelog for this build:

2011/10/12: HMG Extended Edition 2.0.2 Published.
* Fixed: Restored normal WinAPI behaviour of ReadOnly Spinner control.
It was wrongly mixed with Disabled state (introduced in the build 31).
Requested by Adalberto from brazilian forum MiniGUI.
Contributed by Grigory Filatov <gfilatov@...>
(see demo in folder \samples\Basic\SPINNER)
* New: Added read/write property 'Tabstop' for standard controls.
You can set/get this property at runtime:
- function syntax:
SetProperty ( Form, Control, 'Tabstop', lLogical )
GetProperty ( Form, Control, 'Tabstop' )
- pseudo-OOP syntax:
Form.Control.Tabstop := lLogical
Form.Control.Tabstop --> logical value
Contributed by Grigory Filatov <gfilatov@...>
* Enhanced: The Button control supports now an optional HOTKEY clause.
Based upon a code for a hotkey detection borrowed from OOHG.
Requested by Simon Norbert <simon.n@...>.
Contributed by Grigory Filatov <gfilatov@...>
(see menu File->'More Tests' in folder \samples\basic\MAINDEMO (SYNTAX I))
* Enhanced: The Button control with Icon picture supports now a theme style at
The old behaviour is available also via using NOXPSTYLE clause.
Requested by Simon Norbert <simon.n@...>.
Contributed by Grigory Filatov <gfilatov@...>
(see demo in folder\samples\basic\button_2)
* Enhanced: Added moving between data in a CellNavigation Grid control by
It means that instead of moving cursor to the right when you accepted cell
editing, the cursor should be moved downwards.
This mode automatically puts you in edit mode, besides to driving you down
or left when accepting changes with or keys.
Based upon a contribution of Roberto Lopez <>
(see demo2.prg in folder \samples\Basic\Grid_Test)
* Changed: The some MCI Player and AnimateBox internal functions are defined as
pseudo-functions now.
Contributed by Grigory Filatov <gfilatov@...>
* Changed: Harbour GT functions are used for set/get Clipboard text now.
Contributed by Grigory Filatov <gfilatov@...>
* Updated: Harbour Compiler 3.1.0dev (SVN 2011-10-11 01:56).
Contributed by Grigory Filatov <gfilatov@...>
(look at ReadMe.txt in folder \harbour)
* Updated: HMGS-IDE v.1.1.0. Project Manager and Two-Way Visual Form Designer.
Contributed by Sylvain Larche <slarche@...>
(look for what's new at changelog.txt in folder \Ide)
* New: 'HMG IDE' sample by Roberto Lopez <>.
Borrowed from HMG 4 project. It is a Ide template only.
Adapted for Minigui Extended by Grigory Filatov <gfilatov@...>
(see in folder \samples\Advanced\hmgide)
* New: 'Mini Agenda' sample.
Based upon a contribution by Bicahi Esgici <esgici@...>.
Adapted for Minigui Extended by Grigory Filatov <gfilatov@...>
(see in folder \samples\Advanced\MiniAgenda)
* New: 'Focus It' sample: enable X-Mouse style window activation.
Contributed by Grigory Filatov <gfilatov@...>
(see in folder \samples\Applications\FOCUS_IT)
* Updated: 'Ftp Client' sample based upon a TIP library.
Problem with uploading of the binary files was reported by
Eladio Bravo <eladibravo@...>.
Contributed by Grigory Filatov <gfilatov@...>
(see in folder \samples\Advanced\FtpClient)
* Updated: 'Tone function via sound card' sample:
- Revised the musical sequence.
Contributed by Alexey Gustow
(see in folder \samples\Advanced\Tone)
* Updated: 'Calculator' sample: correction of the 'percent' button action.
Contributed by Grigory Filatov <gfilatov@...>
(see in folder \samples\Basic\Calc)

This release of MiniGUI is considered stable and ready for production use.

Best Regards,
Grigory Filatov
[MiniGUI Team]

Wednesday, October 19, 2011

Harbour/xharbour Diff :13/57 - USING [] OPERATOR FOR STRING ITEMS - Przemyslaw Czerpak

xHarbour supports using [] operator to access single characters in
string items. Harbour doesn't by default but it has strong enough
OOP API to allow adding such extension without touching core code
even by user at .prg level. It was implemented in Harbour in XHB.LIB.
This code can be compiled and executed by both compilers:
      #ifndef __XHARBOUR__
         #include "" // add xHarbour emulation to Harbour
      proc main()
         local s := "ABCDEFG"
         ? s, "=>", s[2], s[4], s[6]
         s[2] := lower( s[2] )
         s[4] := lower( s[4] )
         s[6] := lower( s[6] )
         ?? " =>", s

Warning!. There is one difference in above implementation introduced
intentionally to Harbour. xHarbour never generates errors for wrong
indexes in [] operator used for string items but simply returns "",
f.e. add to above code:
      ? ">" + s[0] + "<", ">" + s[1000] + "<"
If [] operator is used for other type of items RTE is generated.
Harbour will generate RTE in all cases. If someone needs strict XHB
compatibility here then he should adopt code overloading [] operator
for strings in XHB.LIB for his own preferences removing the RTE.

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.