Relations and differences …

Q: What are relations and differences between this 3 services you’ve been provided: Harbour Compiler, Harbour HMG, HMG-IDE. We need to know exactly when and why use them?

Short Answer :

Harbour : Is a multi-platform open source compiler for xBase programming language, as a continuation of Clipper Programming Language. You can use Harbour with or without HMG; as pure console mode or with another GUI facility.

HMG / MiniGUI : is also an open source GUI Library developed by Roberto Lopez, for Harbour Compiler, designed exclusively Windows platform only. You can’t use HMG without Harbour.

HMG-IDE is a free utility developed by Roberto Lopez, builder of HMG. An Integrated Development Environment including a project builder and a form designer; plus a DB Manager. You can use HMG library with or without HMG-IDE.

As you easily see and cited here with this three products we have a comprehensive and complete Windows programming toolkit or Clipper for Windows ➡

Long Answer

HMG Unicode

Mr. Diamond of HMG community Rathinagiri wrote :

HMG 3.1.0 (Test) 2012/11/25
– Major update to HMG
– Unicode (UTF-8) compatibility. (Solely contributed by Dr. Claudio Soto)
– With this upgraded version HMG applications can be made available in all human languages.

This is a huge innovation, especially from non-latin alphabets users.

This sample is famous article of our Maestro in 12 language together

None LangSelect, none Set_CodePage etc ...

( Translator is Google; I’m innocent )

Dr. Claudio Soto said :

HMG-UNICODE is the best
Goodbye, goodbye, goodbye problems with Set_CodePage

WIH_4L

 

Download source files from here.

 

Working with IDE

Since HMG-IDE is an Integrated Development Environment, it’s possible building an entire project from scratch under HMG-IDE.

But this doesn’t mean “without coding”.

So, we can develop all GUI necessities of our project via HMG-IDE; but what, always we will need some little coding.

Then we can begin our project by building a project file. This is the very first and the easiest step:

Simply run IDE.exe and then select “New Project”.

When IDE ask, select (or build a new) a working folder and give a name (say Viva_HMG) to the project. .hbp extension will be assigned by IDE to project file.

Whenever IDE build a new project, automatically build and open a module file with name Main.prg and a form file with name Main.fmg.

Module file open by your text editor and form file open by IDE itself.

The content of your module file will be like this :

#include <hmg.ch>
Function Main
        Load Window Main
        Main.Center
        Main.Activate
Return

Basic rules :

– Every HMG project have one ( and only one ) “MAIN” procedure / function

– For using GUI controls, every HMG project have one ( and only one ) “MAIN” form.

So, names of both module and form files are “Main“.

File names doesn’t mandatory;

– only name of first procedure / function of first module file must be “Main” and

– “Window Type” property of one form must be “MAIN“.

You can see “module” tab of Project Browser window “(Main)” sign adjacent to the Main.prg and at the bottom line of “Properties” tab of Object Inspector “Window Type” property of “Main” form already set “MAIN” by IDE.

Now, we can work on our first form.

First we can give a name to it.

But what happening?

There isn’t “Name” in the properties list of our form !

Yes, this is correct; because:

– Basic rule 3: Every HMG form has their own name. Only exception is: a form to be LOAD, has a unchangeable name: TEMPLATE.

In other hand, you give an “alias” to a loaded form. The way of this is using “AS” close in the LOAD command. FE:

Load Window Main AS frmIDEBS_01

In this case you have change “Center” and “Activate” commands too :

frmIDEBS_01.Center
frmIDEBS_01.Activate

If you don’t use an “alias” in that way, you will use in all references of form by its file name; in this example : “Main”.

Now, its time to give a “Title” to the form.

For this, we will use “TITLE” property of form:

Double click “Title” and give a title in the open Input Box, say “It’s a Wonderful Life”

We can change easily background color of form:

Double click BackColor in the properties list.

Click “Custom“.

In the Color Select Form select your favorite background color or simply enter these tree values. : 64, 220, 210

Press RUN button and look to your application in work.

That’s all !  

Download source files

DBA : Data Base Assistant

DBA is an imitiative work to the © dBASE III’s Assistant.

It may be an easy tool for people who are familiar to this base architecture of the whole x-Base family.

Many thanks to :

Antonio Linares ( Initiator and first developer of © Harbour ) and

“Le Roy” Roberto Lopez ( Initiator, Builder and Developer of © HMG  ).

Without this two big men and their volonteer coworkers, DBA ( and many others of course) couldn’t be exist.

Download ( setup executable ) here.

Mini Agenda

This is a mini application developed primarily to denote some wonderful features of HMG.

Mini Agenda uses:

– A text (csv)  file for data source and Grid as browse of this file

– DEFINE ACTIVEX for “About” page from a .html file

– HFCL library ( Thanks to S. Rathinagiri for GridPrint )

Features :

– File operations: New, Open, ReOpen, Close, Save, Save as, Print

– Record operations:  Append, Delete, Insert

– Three way ( Natural, Ascending, Descending) sorting columns

– Preserve current item after sort

– In_place editing

– Incremental (and “soft” ) Search

– .ini File for keeping record of last used data file

Download : source, executable.

Five years: A Brief History.

In February 2002 I’ve published the first MiniGUI version.

At that moment, only an experiment whose target for me was research about Harbour-C interface.

A lot of people were interested in the Project and from the beginning collaborated with me in many ways.

Some months later I’ve noticed that the experiment could turn in something more serious.

Being one of my basic targets the easy of use (according xBase spirit) a little time later I’ve added the ‘semi-oop’ interface. That turned the combination of Harbour+MiniGUI in a tool that besides a xBase compiler, offered a GUI, as easy to use as the VB one (yet simpler). This made grow even more the MiniGUI popularity and with it, the problems.

Some people, began an aggressive campaign of lies, pointing not only technical aspects of Harbour and MiniGUI, but personal issues, targeted to create false conflicts in the discussion groups. I let to the readers criteria the theories about the motivations of that people.

This growing brings other problems too. The most serious were the discrepancies about technical issues related with the project direction. Some contributors were not coinciding with my vision of that.

I must accept that could had been solutions for these problems, joining efforts in favor an unique target, but sadly, I don’t knew how to find solution in time.

Today there are two alternative MiniGUI versions besides mine. Yet I’ve wished to find a solution for the differences to make this not happened, that means that the seeding done five years ago, had got results, even much more ahead of my own expectations.

MiniGUI had never existed without its users and contributors and is to them (as every year) my endless gratitude.

Specially to those that got to me the initial impulse, as Grigory Filatov, Jacek Kubica, Ciro Vargas Clemov, Ryszard Rylko (who allow to me to include the HbPrinter code in MiniGUI) and Janusz Pora (I’ve had serious discrepancies with him, but I recognize his enormous efforts and enthusiasm).

For the ‘classic’ OOP defenders that had attacked MiniGUI during years, I want to remember them, that VB turned in the most popular development tool in the world, based in a non-classic scheme for GUI handling, oriented to make things easier for the programmer, let him focus in the problem to solve instead to do it the language complexities. If we are in the xBase world is because this is that we want (or must want). MiniGUI must not be ‘corrected’ to be converted to a traditional paradigm. It is simply an alternative, and as such, we have right to grant its existence.

Regarding the future, It could not be better.

Harbour is in Beta 1, extremely solid and efficient. Surely we have the final version soon.

Regarding MiniGUI, is extremely stable and reliable too. Since I successfully adapted it to work with MingW, we have now with a completely free package (Harbour + MiniGUI + MingW).

Finally, I want to thank to all people that collaborated in some way and whose contributions are documented in five years of ‘changelogs’ and (of course) an special thanks to Pepe Ruano, creator and administrator of harbourminigui.com

There is a lot to do, but I can say with satisfaction that my old dream, a Clipper for Windows free and easy to use, has been reached.

Thanks To All.

Roberto Lopez

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Note: This article borrowed by courtesy of author.

           Published at :  March 03, 2007 here.

Milestones


Neither possible to know nor remember everybody who participated this great work.

These are only the biggest milestones, great men who succeed great jobs.

C. Wayne Ratliff

Designed and programmed the first successful DBMS for personal computers, dBASE II; originally named Vulcan. Renamed dBASE II and published in 1981.  It was not only a relational database management system (RDBMS), but also was an interpreted language and would quickly spawn the “xBbase” industry.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Brett Oliver, Jim Warner, Brian Russell, Richard McConnell  …

Main architects and primary developers of Clipper and founders of Nantucket Corporation.  It was 1984 when Clipper was born. Look at here for a tale.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Tom Rettig  ( 1941-1996 )

A major guru in the dBASE, Clipper, whole xBase community. 

Small in stature, but big in heart, a friend in the truest sense. 

More about Tom Rettig.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

Antonio Linares

Initiator and one of main developers of Harbour.

The starter of Harbour.

The great man who started the big engines!

He is here.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Phil Barnett

The biggest Clipper fan! 

Author of most useful Clipper utilities,  Harbour Manager, keeper of pieces and parts for years.

He and his famous and largest Clipper repository is here (archive)

Addendum:

A “last” note about Phil.

R.I.P.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(Le Roy) Roberto Lopez

Founder, builder and developer of HMG, Harbour MiniGUI. 

The great man who disclose blocked doors and roads!

He is here.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Viktor Szakáts,  Przemysław Czerpak, Pritpal Bedi, …

Today Habour development is leading by Viktor Szakáts with huge collaborations and leading many components of core and contribs by Przemysław Czerpak. Some components are developed by Pritpal Bedi. Others members participate the project by sending changes to the Sourceforge SVN repository.  As 2011 Harbour development is keeping vibrant activity

They are here.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~