Wednesday, April 29, 2009

The HMG 1.6 Extended Edition Build 66 - Published

Hi All,

The Harbour MiniGUI 1.6 Extended Edition (Build 66) setup is published at the following URL:

http://hmgextended.com/files/CONTRIB/hmg-1.6-66-setup.zip

and the Lite build 66 at the following URL:

http://hmgextended.com/files/CONTRIB/hmg-1.6-66-setup-lite.zip

There is the following changelog for this build below:

2009/04/29: Build 66 (HMG 1.6 Extended Edition) Published.
* Fixed: There isn't action on button click in the BTNTEXTBOX control from resources
(introduced in the build 55). Contributed by Janusz Pora <januszpora@onet.eu>
* Fixed: Multiple execution of OnChange event at changing row and column by mouse click
in the celled GRID control.
Based upon a code borrowed from an Official HMG 2.8.6.
Contributed by Grigory Filatov <gfilatov@freemail.ru>
(see demo2.prg in folder \samples\Basic\Grid_7)
* Changed: MiniGUI error's handling function for reducing of the library size.
Contributed by Grigory Filatov <gfilatov@freemail.ru>
* Enhanced: The BTNTEXTBOX control supports an optional DisableEdit clause now.
Requested by Jozef Rudnicki <j_rudnicki@wp.pl>.
Contributed by Janusz Pora <januszpora@onet.eu>
(see demo in folder \samples\Basic\BtnTextBox)
* Enhanced: Maintenance of BLINK property for Label control at runtime:
- function syntax:
SetProperty ( Form, Control, 'Blink', .T. )
- pseudo-OOP syntax:
Form.Label.Blink := .F.
Requested by Pedro Chanis <drinol@yahoo.com>.
Contributed by Grigory Filatov <gfilatov@freemail.ru>
(see demo in folder \samples\Basic\Blink)
* Updated: Cputype library for compatibility with a last Harbour changing.
Contributed by Grigory Filatov <gfilatov@freemail.ru> (see in folder \Lib)
* Updated: Slovenian language translation in HBPrinter library.
Contributed by Mitja Podgornik <yamamoto@rocketmail.com>.
* Updated: PropGrid library source code:
- New: Clause DISABLEEDIT for item type COLOR, FONT, IMAGE, SIZE, ARRAY, FILE, FOLDER, USERFUN
to execute get value by button function only.
Contributed by Janusz Pora <januszpora@onet.eu>
(see Changelog.txt in folder \Source\PropGrid and
demo3.prg in folder \samples\Advanced\PropGrid)
* Updated: Harbour Compiler 1.1.0dev (SVN 2008-04-27 19:17):
* New: HaruPDF library source code (see in folder \Source\HaruPDF).
Contributed by Grigory Filatov <gfilatov@freemail.ru>
(look at ReadMe.txt in folder \harbour and WhatsNew.txt in folder \harbour\doc)
* Updated: HMGS-IDE v.0.8.4. Project Manager and Two-Way Visual Form Designer.
Contributed by Walter Formigoni <walter.formigoni@uol.com.br>
(look at changelog.txt in folder \Ide)
* New: 'Resolution Adjustment' sample. Contributed by Christian T. Kurowski <xharbour@wp.pl>
(see demo2.prg in folder \samples\Advanced\

FitToDesktop)
* New: 'Haru PDF' sample is based upon the Haru Free PDF Library 2.0.8 from http://libharu.sourceforge.net.
Contributed by Pierpaolo Martinello alice.it>
(see in folder \samples\Advanced\HaruPDF)
* Updated: 'FDF Form Filler' sample. Contributed by Pierpaolo Martinello alice.it
(see in folder \samples\Advanced\FDF)
* Updated: EZTwain sample: EZTWAIN.DLL v1.19 2009.02.20 from http://www.dosadi.com.
Contributed by Grigory Filatov <gfilatov@freemail.ru>
(see in folder \samples\Advanced\EZTWAIN)
* Updated: 'WAIT WINDOW' sample (see demos in folder \samples\Basic\WAIT_WINDOW).
Based upon a code borrowed from an Official HMG 2.8.8.

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

--
With Best Regards,
Grigory Filatov
[MiniGUI Team]

Monday, April 27, 2009

A template to transform to GUI using GTWVG by Massimo Belgrano

CCH : I think this article by Massimo Belgrano posted on 25/4/09 at the Harbour Project Main Developer List is pretty useful fo users of Harbour +GTWVG


Date: Sat, 25 Apr 2009 17:04:14 +0200
From: Massimo Belgrano <mbelgrano@deltain.it>
Subject: [Harbour] A template for add to a CUI application to transorm
in GUI using gtwvg
To: "Harbour Project Main Developer List."
<harbour@harbour-project.org>

A template for transform in gui a gtwvg application today and i hope
that in future also gtqtg

#INCLUDE "HBGTINFO.CH"
function main
HB_GTSYS()
set color to "N/W,N/BG,,,N/W*"
cls
hb_gtInfo( HB_GTI_ICONFILE, "sample.ico" )
hb_gtInfo( HB_GTI_WINTITLE, "Programm Title" )
Hb_GtInfo( HB_GTI_SELECTCOPY,.T.)
Hb_GtInfo( HB_GTI_RESIZABLE, .T. )

..
return

Function HB_GTSYS()
REQUEST HB_GT_WVG_DEFAULT
Return NIL


compile your apllication with
hbmk2 mio.prg -gtwvg -gui

Please share any idea
for menu is better use vtg class or xbp?

--
Massimo Belgrano

Saturday, April 18, 2009

The Harbour MiniGUI 1.6 Extended Edition (Build 65) setup is published

Hi All,

The Harbour MiniGUI 1.6 Extended Edition (Build 65) setup is published at the following URL:

http://hmgextended.com/files/CONTRIB/hmg-1.6-65-setup.zip

and the Lite build 65 at the following URL:

http://hmgextended.com/files/CONTRIB/hmg-1.6-65-setup-lite.zip

There is the following changelog for this build below:

2009/04/15: Build 65 (HMG 1.6 Extended Edition) Published.
* Fixed: The problem with Switch value in the function _GetBrowseFieldValue() at xHarbour compiler
(introduced in the build 63). Reported by Mr. Winfax <fred@cocohost.com>.
Contributed by Grigory Filatov <gfilatov@freemail.ru>
* Enhanced: The GRID control supports an optional VALIDMESSAGES clause.
Contributed by Grigory Filatov <gfilatov@freemail.ru>
(see demo5.prg in folder \samples\Basic\Grid_3)
* Enhanced: The GRID control supports an optional CELLED / CELLNAVIGATION clause.
The Value property is a two element array (row,column) for celled grid.
Based upon a code borrowed from an Official HMG 2.8.2-2.8.3.
Contributed by Grigory Filatov <gfilatov@freemail.ru>
(see demo in folder \samples\Basic\Grid_7)
* Enhanced: 'DynamicBackColor' and 'DynamicForeColor' Browse and Grid properties
accepts the color arrays now also, being, this way, consistent with MiniGUI
general color handling (for compatibility with Official HMG).
Contributed by Grigory Filatov <gfilatov@freemail.ru>
(see demo2.prg in folder \samples\Basic\Grid)
* Enhanced: The MultiLine InputBox supports resizing now.
Contributed by Grigory Filatov <gfilatov@freemail.ru>
(see demo in folder \samples\Basic\InputBox)
* Updated: Synchronized an Extended HMG with an Official HMG 2.7.0-2.7.2:
- Fixed: DRAW GRAPH (pie type) problem with low values (about 0%).
- Changed: DRAW GRAPH (pie type) accepts bigger than 7 digits values
now (Thanks to Esgici).
- Enhanced: Grid Control: 'This.CellValue' is writable now, so, you can
change the value of the cell being currently edited from inside 'Valid'
cell procedure (see demo5.prg in folder \samples\Basic\Grid_3).
- New: DRAGITEMS property for LISTBOX control.
This property allows to user to reorder items in a ListBox
by dragging it (see demos in folder \samples\Basic\Listbox_2).
- New: 'System object' sample (see in folder \samples\Basic\CLIPBOARD).
- New: 'WAIT WINDOW' sample (see demos in folder \samples\Basic\WAIT_WINDOW).
- Fixed: Mysql samples. Report and fix by Sudip (see demos in folder \samples\Basic\MYSQL).
* Updated: Adaptation FiveWin Class TSBrowse 7.0 in HMG:
- New: ADORDD support.
Contributed by Janusz Pora <januszpora@onet.eu>
* Updated: Harbour Compiler 1.1.0dev (SVN 2008-04-14 10:52):
* Updated: AdoRDD library source code (see in folder \Source\AdoRDD).
Contributed by Janusz Pora <januszpora@onet.eu>
* Updated: MySql library source code (see in folder \Source\HbMySql):
- Renamed all functions to standard mysql equivalents.
This move allows to use hbmysql and hbodbc in the same app.
* Updated: HbODBC library source code (see in folder \Source\HbODBC).
* Updated: HbOLE library source code (see in folder \Source\HbOLE).
Contributed by Grigory Filatov <gfilatov@freemail.ru>
(look at ReadMe.txt in folder \harbour and WhatsNew.txt in folder \harbour\doc)
* Updated: HMGS-IDE v.0.8.3. Project Manager and Two-Way Visual Form Designer.
Contributed by Walter Formigoni <walter.formigoni@uol.com.br>
(look at changelog.txt in folder \Ide)
* Updated: HbSQLite3 library source code (see in folder \Source\HbSQLite3):
* Added support for sqlite_exec() callback.
Now the 3rd parameter is an optional callback that is invoked
once for each row of any query results.
* Now we can pass name of logfile as third parameter of sqlite3_trace(), sqlite3_profile().
+ Added sqlite3_set_authorizer() - Compile-Time Authorization Callbacks.
+ Added sqlite3_busy_handler() - A Callback To Handle SQLITE_BUSY Errors.
+ Added sqlite3_progress_handler() - Query Progress Callbacks.
+ Added sqlite3_commit_hook(), sqlite3_rollback_hook() - Commit And Rollback Notification Callbacks
+ Added sqlite3_backup_*() API for backups purposes.
+ Added sqlite3_initialize(), sqlite3_shutdown(), sqlite3_interrupt(),
sqlite3_status(), sqlite3_db_status(), sqlite3_stmt_status(),
sqlite3_sql(), sqlite3_extended_errcode(), sqlite3_threadsafe(),
sqlite3_memory_used(), sqlite3_memory_highwater().
! Fixed sqlite3_table_column_metadata(

).
- Temporary disabled sqlite3_db_handle().
+ Added samples for demonstration of new possibilities.
Warning: The HbSQLite3 is incompatible with xHarbour compiler after these changes.
Contributed by Petr Chornyj <myorg63@mail.ru>
(see console demos in folder \samples\Advanced\SQLITE)
- updated for using of newest SQLITE3 version 3.6.13
Contributed by Grigory Filatov <gfilatov@freemail.ru>
* New: 'ADORDD' sample with using a TBROWSE control.
Contributed by Janusz Pora <januszpora@onet.eu>
(see in folder \samples\Basic\ADORDD_4)
* New: 'Transactions in DBF' sample. Based upon a Table class of the Harbour contrib library xHb.
Requested by Anibal Villalobos Guillen <anibalgvillalobosg@yahoo.com>.
Contributed by Grigory Filatov <gfilatov@freemail.ru>
(see in folder \samples\Advanced\Transactions)
* Updated: 'Charts ADO' sample for Win9X support.
Requested by Alexey Gustow gustow33@mail.ru>.
Contributed by Grigory Filatov <gfilatov@freemail.ru>
(see in folder \samples\Basic\Charts)
* Updated: 'MiniSql Basic' sample for compatibility with MySql library changes.
Contributed by Grigory Filatov <gfilatov@freemail.ru>
(see in folder \samples\Advanced\MiniSql)
* Updated: 'MySql Database Driver' sample.
Contributed by Grigory Filatov <gfilatov@freemail.ru>
(see demo in folder \samples\Advanced\MySqlDD)
* Updated: 'WMI Service usage' sample.
Contributed by Grigory Filatov <gfilatov@freemail.ru>
(see in folder \samples\Advanced\WMI_Service)

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

--
With Best Regards,
Grigory Filatov
[MiniGUI Team]

Tuesday, April 14, 2009

Can GTWVG work with xHarbour ?

CCH : I have been asked quite a few times as to whether GTWVG will compile with xHarbour.
Initially, I thought why not as Ron Pinkas was the one who mentioned about WVG in a response to me in the xHarbour Builder News Group. At that time, I was using the September 2008 Edition of xHarbour.com distro.

Today, Sudip Bhattacharyya revealed an email discussion with Pritpal regarding this matter.

Q. Is there any way to use xHarbour+wvg?

QUOTE by Pritpal Bedi

WVG as of now is not compilable with xHarbour. It is multi-windows, multi-threaded approach and some very fine new concepts which are only available in Harbour.

I had ported WVG to xHarbour but about 1.5 years before. That version is workable but you have to compile it with your own tools. Just look for xharbour/contrib/gtwvg folder in CVS.

Due to its limitations I am not contributing to xHarbour any more.

UNQUOTE

Sunday, April 12, 2009

How to create a new window with Harbour + WVG ?

Having gained the confidence of simple guifying of FAS4WVG without breaking codes and the sheer joy of not having to rewrite tonnes of codes due to the extensive use of ALERT(), I explored on how to create a new window from within the Main Console Window.

Based on my understanding, you can create and ultimately destroy a new Window by making a function call such as :-

MyNewWindow('Reindexing','MyIcon','N/W')

#include "hbgtinfo.ch"

FUNCTION MyNewWindow(cWindowCaption,cIconFile,cColor )
LOCAL oCrt
oCrt := WvgCrt():New( , , { -4,-4 }, { maxrow()-4,maxCol()-4}, , .t. )
oCrt:lModal := .T.
oCrt:icon := cIconFile
oCrt:create()
oCrt:resizable :=.T.
SETCOLOR(cColor)
CLS
// Needs #include "hbgtinfo.ch"
hb_gtinfo(HB_GTI_WINTITLE,cWindowCaption)

/* Your Clipper Codes goes here */

oCrt:destroy()

RETURN nil

Using Harbour+WVG +xMate - Part IV - CONCLUSION

From Part III of this series of articles, this is what I have achieved thus far.


How about adding features to the Console Window itself ?

This is how you change the caption and application icon :-

//This ensures that window is physically existent when any operation on console are requested.
CLS

// Add icon
hb_gtInfo( HB_GTI_ICONFILE, "ksred.ico" )

// Add Window Caption
hb_gtInfo( HB_GTI_WINTITLE, "FAS4WVG - Clipper... Clipper... Clipper" )


Is there a GUI Alert() that is fully compatible with CA-Clipper Alert() ?

Why not, with Pritpal's excellent programming skills, ALERT("Reindex ALL Files ?, {"No","Yes"}) gives you this Windows Dialog :-

Isn't this what you would have expected ?

Please note that the GUI Alert() available in the April 2009 Edition of xHarbour.com distro simply maps to MessageBox with OK as the only option. So if your code is nChoice:=ALERT("Reindex ALL Files ?, {"No","Yes"}), Pressing OK will never Reindex !

You will have no such issue with Pritpal's Harbour Ready to use Distro.


Actual Reindexing in action ...

The above was achieved using wvg_BoxRaised(), wvg_BoxRecessed() and wvgBoxGroupRaised().

CONCLUSION :

To quote Pritpal from one of of his email response

" GTWVG is meant to update your Clipper code to have Windows look and
feel without any code changes, just addition of few lines. If it were to mimick exact
GUI behavior then there are many other options, but you end up writing practically
everything, which is simply difficult if not impossible.

This is a matter of focus. "

What do we wish to achieve for our keyboard-loving customers ?

Well, we need to break the DOS barriers and avoid the need for the customers to be retrained in their daily usage of their mission-critical applications.

So, if you wish to avoid lots of re-programming your Clipper Codes and only want to provide your keyboard-loving customers with a simple GUI but clearly 32-bits Windows solution, IMHO, Pritpal's Harbour Ready to Use Distro that includes Harbour +WVG +xMate is the way to go...

If your needs are more onerous, may I suggest HMG or HMG Extended ?

Good Luck !

BTW, this is the final part of Using Harbour+WVG +xMate but I will continue to write on my experience with Harbour Ready to Use + GTWVG aka WVG


Saturday, April 11, 2009

Using Harbour+WVG +xMate - Part III

As you may recall from Part II, using Pritpal Bedi's Harbour Read to use Distro, I had successfully built FAS4WVG, a pure Win32 executable which does not run in a Command (DOS) Window.

Now, lets guify the DISPBOX() surrounding Main Menu & Messages by replacing

dispbox( 1, 0, 3, 79, B_DOUBLE )
dispbox( 22, 0, 24, 79, B_DOUBLE )

with :-

Wvg_BoxGroupRaised( 2, 1, 2, 77)
Wvg_BoxGroupRaised( 23, 1, 23, 77)

// Instruct GT to Repaint the Screen with GUI elements
Wvt_InvalidateRect( 0, 0, maxrow(), maxcol() )

The result is as follows :-


I then changed the default color to GREY to accentuate the 3D look and feel and added a
Wvg_BoxGroupRaised( 4, 1, 20, 77) for a centralised work area



You can see the DBEDIT() within a Boxraised(4,1,20,77) as follows :-


Same DBEDIT() but within a WVG_BoxRecessed

Same DBEDIT() but within a WVG_BoxRecessed() & WVG_BoxGroupRaised()



Next on Part IV

Friday, April 10, 2009

Using Harbour+WVG +xMate - Part II

If you recall from my previous article, this is what we got after recompiling with the Harbour Ready to Use Distro by Pritpal Bedi :-


Pretty disappointing, huh ! What you are looking at is a true 32 bit Windows application in a DOS window but how to convince your clients that this is indeed a Win32 executable ? This is where Pritpal Bedi comes to the rescue with his WVG library.

So where do we start to guify our Win32 'DOS looking" executable ?

This is what I have done, JUST add right after MAIN()

HB_GTSYS()

where

Function HB_GTSYS()
REQUEST HB_GT_WVG_DEFAULT
REQUEST HB_GT_WVT
REQUEST HB_GT_WGU
Return NIL

That's it !


Notice that the caption now shows FAS4WVG and not the Dos Prompt + path to FAS4WVG.
Hip... Hip... Hooray, no more DOS window !

Next on Part III

New Release of Harbour Ready to Use

CCH : A message posted by Pritpal Bedi on my Guest Book


Hello Everybody

Please download latest ready-to-use Harbour distro from
www.vouch.info/downloads/HarbourDev_10824_2009-04-09.exe

It fixes few mis-managements in _10523_ distro released in March.

Please note that Open Watcom binaries produces unresolved externals
with demowvg.prg. Rest all is fine.

I wanted to include QT implementation also but has deferred that
decision because still I am unable to find a way to compile demoqt.prg
through xMate PLUS a surprise that is swcheduled to be disclosed probably
next week...

Note; this distro includes PellesC compiler V 5.0 besides MINGW’s.
This has been made possible as Pelles Onius kindly consented to
include it in this distro.

Regards
Pritpal Bedi

PS; Note this is not an official release. It is an effort to ease out
migration to Harbour for newbies.

Thursday, April 9, 2009

Using Harbour+WVG +xMate - Part I

Using Harbour+HMG or HMG Extended is great but I still needed to provide a solution to quite a number of my existing users who prefer to use our apps in text mode but yet Win32 ready.These users just love to use the keyboard and loathe to use the mouse :-)

I did consider using WVW but since Budyanto does not have time to update his great GUI library, I decided to take a serious look at Harbour + WVG.

After playing with the xMate that came with Pritpal Bedi's Ready to use Harbour Distro, I finally managed to compile and build a Harbour+WVG version of FAS4DOS codenamed FAS4WVG. This is what I have done :-

1. Installed Pritpal's Ready to Use Harbour which resulted in a folder being created ie
c:\harbour_dev with the following sub-folders
dev_exes
dev_libs
dev_projects
dev_sources
harbour
mingw
xmate

2. I then copied the previously converted FAS4DOS codes (from 5.2e to xHarbour) into a new folder FAS4WVG under the dev_projects folder. I did this in order to save time as all UNRESOLVED EXTERNALS had already been dealt with as per my previous articles "Migrating from CA-Clipper 5.2e to xHarbour Part I, II & III "

Please note that there is also a default demowvg folder already there for your reference.

3. Moving to the xMate Directory, I launched xMate and created a new Project


4. What is important here is to choose
a) Project Type, default Executable
b) Environment (wvgMINGW, wvgBCC, wvgMSC, wvgWATCOM)
Nb. Only MINGW comes with this Pritpal's Distro
c) You may also choose to Import based on a Clipper Blinker/Exospace link script

5. Click OK and
a) Input Project name, in my case FAS4WVG
b) Input HOME Folder (where your project files reside)
c) Add Project Files


c) Save and both the XMate Editor and Project Manager are launched


6. Under the xMate Project Manager, you can choose to :-
a) Build Project
b) Build and Launch Project
c) Rebuild Project
d) Rebuild and Launch Project
e) Launch Project
f) Compile single source
g) Compile all sources

7. I then clicked (b) and starting getting errors mainly due to ambiguous references relating to getlists which I resolved by adding LOCAL getlist:={}

8. Then, I got the 'FATAL : Unknown Error - Check Output Console'

9. I then clicked the icon that had a ? over it and saw that I had a few errors such as
a) Unresolved external references
b) Duplicate decalarations

By checking to my original Blinker Link Script, I realised that I had inadvertently left out a prg whilst including a couple of redundant prgs.

10. Once resolved , bingo, FAS4WVG was finally built and launched


Next to add GUI features ...

Sunday, April 5, 2009

What is WinDock ?

CCH : Just discovered WinDock which was recommended by Ron Pinkas at comp.lang.clipper

From : http://www.roessler-software.de/e195/e264/index_ger.html

Win32 API for Harbour and xHarbour

WinDock is a clip4win-compatible Win-API for Harbour and xHarbour. WinDock includes various helpful functions. In addition, the WinDock-Toolkit is a large Class-Library including a huge variety of features, such as App-Classes, Browser, TreeView, Tabbed-Dialogs, Nettable, Edit Masks and much more...

Roessler Software started developing software with dbase in 1987. By the time when John Skelton offered his first version of Clip4Win, we ported our Time-Control Application using Clipper 5.2d and Clip4Win to Windows (16-Bit). As we were lacking a lot of functionality, we started to develop a Library called Clip2Win using MSC.

Over the years, we acquired a lot of inside knowledge about Windows, so that in 1994, we started teaching others to develop software using Clip4Win and Clip2Win. When John added a class-library to Clip4Win, we tested it thoroughly, but we had major problems using it. As a result, we developed a class-library called OO4WIN. A Mail-library with classes for smtp, ftp, etc. followed.

In 2003 we conducted trials with C4W32 and Harbour. After solving a couple of problems, our libraries started working fine with Harbour. But since John only supported Harbour and MSC 6.0, we began to develop our own WinAPI for Harbour and we soon achieved very satisfying results.


Further, we decided to offer our newly created WinAPI as open source using the same license-model as Harbour (LGPL), and named it WinDock - as in a Dock for Windows in the Harbour.

Investing more time into WinDock, we were able to make it compatible to xHarbour, and besides MSC 6.0, you may also use MINGW for compilation, now.
WinDock includes most functions of the 32-Bit Microsoft WinAPI and all functions of our former Clip2Win-Library.

Our OO4WIN Class-Library is also offered as open source under the dual-licence-model (such as mySQL).

The OO4WIN Library has been renamed to WinDock-ToolKit (TK) and is also available for Clip4Win (16-Bit and 32-Bit).

However, WinDock itself is not available for 16-Bit environments - please use Clip4Win 4.0 instead.

We hope that many developers will be happy with WinDock, the WinDock-ToolKit and the functionality they provide and will hence spread the word to make our community grow and help our product getting better.


Thank You.
Your Roessler Software Development Team

Siegbert, Dominik, Jan, Stephan, Kai, René, Manuel

Thursday, April 2, 2009

What is xMate ?

CCH: I finally found time to start playing with Pritpal Bedi's Harbour + WVG. His distro came with xMate. In the beginning, I was a bit stumped on how to use xMate and then I clicked on Online Manua and this is what I got :-

xMate is intended to be primarily used with [x]Harbour and Clipper compiler, to create, manage, update, and build the software development projects.

It is aimed at building Windows oriented software, be it GUI or console applications and libraries.

Getting started fast

You can start creating and managing your new and existing projects within seconds, provided that your compilers are installed in default directories with the default directory tree and all necessary files are in places.

Initially you just need to verify if the environments that you have are suited to your project, and that the installations paths as described in the environment reflect the installation on your computer. This and potentially any further maintenance of the environments needs to be done only once. When done, you will never need to return to those more technical aspects of xMate.

The sample environments that xMate is shipped with, should be ready to use unaltered on most systems. Please refer to the Environment Configuration topic for detailed help of the xMate environments.

Once the environments are confirmed. All you need to do is to provide the name and location Of your project (s) and drop all the project files into the project configuration window, click on“Build and Run” button, and your application will come to life in seconds.

It is that simple.

The big advantage of xmate is that its project and environment files are portable, and can be transferred from one PC to another, together with the project files, and continue working correctly.

Setting Environment Variables in Windows

CCH : Recently, I had to manually add path to attempt to compile a xHarbour+GTWVW program sent to me by Sudip and I thought this article would be useful to all of us :-

Extracted from http://www.cs.usask.ca/~wew036/latex/env.html

This page explains how to set environment variables in Windows 95/98/Me/NT/2000/XP.
  • In Windows 95/98/ME, append these lines to the end of your c:\autoexec.bat using notepad, and then reboot your computer:
    
    set HOME=d:\home
    set DISPLAY=localhost:0
    set PATH=.;d:\cygwin\bin;d:\cygwin\usr\bin;d:\cygwin\usr\local\bin;D:\cygwin\usr\X11R6\bin;d:\gs\gs8.00\bin;d:\gs\gs8.00\lib;%PATH%
    
    
  • In Windows NT/2000/XP, follow the following steps:
    1. Open Control Panel
    2. Click the System icon and the window pops up (screenshot)
    3. Go to the Advanced pane (screenshot)
    4. Click the Environment Variables button (screenshot)
    5. There are two seperated windows showing two sets of environment variables. Select the "new" button for the upper window to create a new environment variable (screenshot). Select the "Edit" button for the upper window to edit an existing environment variable. Probably you need to create the "HOME" and "DISPLAY" variable, and edit the "PATH" variable.
    6. The value of "DISPLAY" should be localhost:0
    7. The value of "HOME" should be the directory name where you want to put your .profile file. For example: d:\home.
    8. You should add these values to the beginning of your "PATH" variable:
      .;d:\cygwin\bin;d:\cygwin\usr\bin;d:\cygwin\usr\local\bin;D:\cygwin\usr\X11R6\bin;d:\gs\gs8.00\bin;d:\gs\gs8.00\lib

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 counter.digits.com 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 counter.digits.com, 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.