Friday, August 10, 2012

Tutorial QT & Harbour Rev. [964] by Giovanni Di Maria

HARBOUR GUIDES

TUTORIALS ABOUT HARBOUR PROGRAMMING

TUTORIALS SULL'ELETTRONICA

TUTORIALS SULLA PROGRAMMAZIONE DEI MICROCONTROLLORI PIC

TUTORIALS SU CANCELLERIA ED EDITORIA

Dbf Files on PHP by Roberto Lopez


Roberto Lopez roberbox@gmail.com
Aug 5 (5 days ago)

to harbour-users
Hi All,

I'm posting this here, because could be of interest for Harbour users.

I'm working in HMGSCRIPT. It is a JavaScript GUI library, created with the goal to allow the programmer use the same logic of desktop applications for web applications.

It handles MySql and dbf files via synchronous xmlhttprequest.

The support for dbf files via PHP scripts is intended for the following situation: Imagine that you have a Harbour based app running in a LAN and shared by various users, and you want to access the same files with a web client. The only thing that you need is to install an AMP server in the machine where the files are located and make the machine available via Internet, then HMGSCRIPT apps and LAN apps could share the same data.

IMPORTANT: I'VE NOT TESTED THE CLASS IN SUCH ENVIRONMENT YET, PLEASE CONSIDER THAT SOME ADJUSTMENTS COULD BE REQUIRED (SPECIALLY REGARDING SHARING AND LOCKING). THERE IS NO SECURITY IMPLEMENTED (YOU MUST DO IT FOR ANY REAL WORLD USE). USE FOR TEST ONLY AND REPORT ANY PROBLEM FOUND ON THIS THREAD. IDEAS AND CODE TO ENHANCE THE CLASS ARE WELCOME.

Since the dbf files support was dropped from PHP standard distributions, I've decided to code from the scratch a new class to do that.

Please, use carefully (specially to write operations) since the code is fully new and must be considered ALPHA.

Operations that set or get the field content handles all  original  dbf data types (character, numeric, logical and date) as strings (See the sample code for more info).


Regards,

Roberto.

Thursday, August 9, 2012

Harbour MiniGUI 2.1.4 Extended Edition is published

Hi All,

The Harbour MiniGUI Extended Edition 2.1.4 setup is published at the
following
URL:

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

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

http://hmgextended.com/files/CONTRIB/hmg214-mingw.zip

There is the following changelog for this build:

2012/08/07: HMG Extended Edition 2.1.4 Published.
* Fixed: GDI leaks problem at using of a Modal windows.
It exists in the official version too.
Based upon a contribution of Rossine
* Fixed: The C-function strtrim() causes the program crash with MinGW
compiler.
Problem was reported by Rossine .
Contributed by Grigory Filatov
* Fixed: Added missed refresh at resizing of Label and Button controls.
Contributed by Grigory Filatov
(see demo in folder \samples\Basic\AUTOADJUST)
* Changed: Language detection in the core function InitMessages()
for compatibility with a recent Harbour language's changes.
Contributed by Grigory Filatov
* Updated: Recent changes of Tab's 'On Cnange' event are guarded by the
command
SET PROGRAMMATICCHANGE OFF for backward compatibility with old code.
Contributed by Grigory Filatov
* Updated: HBPrinter library v.2.35 (see source in folder
\source\HbPrinter):
- Fixed: C-function rr_DeviceCapabilities() generates GPF when
a printer is selected under Win7.
Based upon a code borrowed from OOHG.
Contributed by Grigory Filatov
* Updated: Adaptation FiveWin Class TSBrowse 9.0 in HMG:
- Fixed: Added missed refresh after hit bottom in the method
GoNext().
- Fixed: Wrong position of inplace edit window at using of editable
TBrowse control in the 'Add Tab Control' function.
Problem was reported by Marcelo Torres .
Contributed by Grigory Filatov
* Updated: Harbour Compiler 3.2.0dev (SVN 2012-07-31 15:10).
Contributed by Grigory Filatov
(look at ReadMe.txt in folder \harbour)
* New: 'MOUSEDRAG event' sample.
Contributed by Andrey Sermyagin
(see in folder \samples\Basic\ON_MOUSEDRAG)
* New: 'MsSql Database Driver' sample. Contributed by Alen Uzelac

(see in folder \samples\Advanced\MSSQL)
* New: 'SuperChef Pizzaria System' sample.
Contributed by Marcelo Neves
(see in folder \samples\Applications\Super)

It is a regularly scheduled monthly maintenance release.
This release is considered stable and ready for production use.
Upgrading from other releases is recommended.

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

Saturday, July 14, 2012

Harbour MiniGUI Extended Edition 2.1.3 Released on 10th July 2012

Hi All,

The Harbour MiniGUI Extended Edition 2.1.3 setup is published at the following URL:

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

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

http://hmgextended.com/files/CONTRIB/hmg213-mingw.zip

It is a regularly scheduled monthly maintenance release.

There is the following changelog for this build:

2012/07/10: HMG Extended Edition 2.1.3 Published.
* New: Added header files hmg.ch and i_hmgcompat.ch for compatibility with .FMG
files which were created via the official Ide of Roberto Lopez.
It is now possible to compile a basic examples for the official Ide
without any modifications.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Enhanced: The codeblock of tab's 'On Cnange' event accepts a current page number
as parameter. It allows to create an unified validation of input values
on tab page at this event.
Syntax:
define tab ... on change { |nPage| ValidFunc( nPage ) },
where ValidFunc(nPage) will return a logical value after the validation
of input values on a current tab page nPage.
Based upon a contribution of Rossine <qiinfo@ig.com.br>
(see demo2.prg in folder \samples\Basic\GetBoxValid)
* Updated: Batch file hbmk2.bat for compatibility with a last hbmk2 utility changes.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see hbmk2.bat in folder \Batch)
* Updated: HBPrinter library v.2.34 (see source in folder \source\HbPrinter):
- Fixed: Correction in the C-function rr_GetDefaultPrinter()
for compatibility with Win Vista/Seven.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Updated: PropGrid library v.2.0 (see source in folder \source\PropGrid):
- New: Function GetChangendItem(cForm,CPgName)
Syntax:
GET CHANGED PROPERTYITEM [ OF | PARENT> ] TO
- New: Function SaveMemVarible(cForm,CPgName)
Syntax:
SAVE MEMVALUE PROPERTY [ OF | PARENT> ]
- New: PropertyGrid Language translation support.
Contributed by Janusz Pora <januszpora@onet.eu>
(see demo3.prg in folder \samples\Advanced\PropGrid)
* Updated: Adaptation FiveWin Class TSBrowse 9.0 in HMG:
- Fixed: Added missed refresh after cursor moving in the method PostEdit().
- Fixed: Wrong BtnTextBox window handle after last changes.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Updated: Harbour Compiler 3.2.0dev (SVN 2012-07-04 15:14):
* Updated: most important differences between Harbour and xHarbour
(see xhb-diff.txt in folder \harbour\doc);
* Updated: HbZipArc library source code (see in folder \Source\HbZipArc).
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(look at ReadMe.txt in folder \harbour)
* New: 'Playing by Drawing' sample. Contributed by Bicahi Esgici <esgici@gmail.com>
(see in folder \samples\Basic\DRAW)
* New: 'Zoom' sample: screen zoomer and color picker.
Contributed by Rossine <qiinfo@ig.com.br>
(see in folder \samples\Advanced\ZOOM)
* Updated: 'Get Directory Recurse' sample:
- Modified: Harbour implementation is based on xHb contrib library instead
of a local code.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see in folder \samples\Basic\

DirectoryRecurse)
* Updated: 'Menu for running of the external console programs' sample.
Contributed by Verchenko Andrey <verchenkoag@gmail.com>
(see in folder \samples\Advanced\RunTasks)
* Updated: 'Managing reservations rooms' sample.
Contributed by Pierpaolo Martinello alice.it>
(see in folder \samples\Applications\Reservation)

This release is considered stable and ready for production use.

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

Wednesday, June 13, 2012

Harbour MiniGUI Extended Edition 2.1.2 Released on June 12, 2012

Hi All,

The Harbour MiniGUI Extended Edition 2.1.2 setup is published at the following URL:

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

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

http://hmgextended.com/files/CONTRIB/hmg212-mingw.zip

There is the following changelog for this build:

2012/06/12: HMG Extended Edition 2.1.2 Published.
* Fixed: The Navigation Extended does not work in a Modal windows at MDI environment
(introduced in the build 2.1.1).
Bug was reported by Anibal Villalobos Guillen <anibalgvillalobosg@yahoo.com>
.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Fixed: Typo in the internal C-function TextDraw() which was a reason of the memory
leak in the DRAW TEXT command.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Enhanced: Menu Item supports an optional BREAKMENU [ SEPARATOR ] clause now.
Menu Item with BreakMenu clause begin a new column.
Based upon a contribution of Vladimir Chumachenko <ChVolodymyr@yandex.ru> and
Rossine <qiinfo@ig.com.br>
(see demo in folder \samples\Advanced\BreakMenu)
* Enhanced: The POPUP menu supports an optional FONT clause now.
Contributed by Rossine <qiinfo@ig.com.br>.
* Changed: modified source code for internal functions _GetSection().
Contributed by Rossine <qiinfo@ig.com.br>.
* Updated: MiniPrint library (see source in folder \Source\MiniPrint):
- Fixed: Client Height is miscalculated in _HMG_PRINTER_SHOWPAGE function.
Based upon a code borrowed from OOHG.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Updated: Adaptation FiveWin Class TSBrowse 9.0 in HMG:
- Fixed: TBrowse blocks 'On LostFocus' event of other controls after inplace
editing. Bug was reported by Paolo Russignan <paolorus@yahoo.it>.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
- Fixed: Problem with TBrowse footer's assigning if the Selector is enabled.
Problem was reported by Simon Norbert <simon.n@t-online.hu>.
Contributed by Janusz Pora <januszpora@onet.eu>
* Updated: Harbour Compiler 3.2.0dev (SVN 2012-06-10 17:19):
* Updated: HbZipArc library source code (see in folder \Source\HbZipArc):
- fixed for unicode support.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(look at ReadMe.txt in folder \harbour)
* New: 'Partial seek in TsBrowse' sample: just write 'Jo Sm' to find 'John Smith'.
Contributed by Krzysztof Stankiewicz <ks@nsm.pl>
(see in folder \samples\Advanced\Tsb_seek)
* New: 'Managing reservations rooms' sample.
Contributed by Pierpaolo Martinello alice.it>
(see in folder \samples\Applications\Reservation)
* Updated: 'Browse in MDI Childs' sample: added browse refreshing at 'On Click' event.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see in folder \samples\basic\mdi_2)
* Updated: 'BackUp Utility' sample:
- adding recursive backUp of folder and some kind of maintenance for archives.
Contributed by Evangelos Tsakalidis <tsakal@otenet.gr>
(see in folder \samples\Basic\BackUp)
* Updated: 'System services' sample: speed improvement with using of class stringBuffer.
Contributed by Evangelos Tsakalidis <tsakal@otenet.gr>
(see in folder \samples\Advanced\WMI_Service_2)

This release is considered stable and ready for production use.

This issue is dedicated to the 2012 UEFA European Football Championship (*Euro 2012*)!

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

Sunday, May 20, 2012

Harbour MiniGUI Extended Edition 2.1.1 released on 16th May 2012

Hi All,

The Harbour MiniGUI Extended Edition 2.1.1 setup is published at the following URL:

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

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

http://hmgextended.com/files/CONTRIB/hmg211-mingw.zip

There is the following changelog for this build:

2012/05/16: HMG Extended Edition 2.1.1 Published.
* Fixed: Hotkeys management in the MDI Child windows:
- Fixed: Inplace editing error in Browse control;
- Added: Moving between controls via Tab and Shift-Tab hotkeys.
Based upon a contribution of Russian user SergKis
(see demo in folder \samples\Basic\MDI_3)
* Fixed: 'FocusedControl' property of form don't work in the MDI Child windows.
Based upon a contribution of Russian user SergKis
* Changed: The internal C-function loadolepicture() was splitted on four parts
for simplification and possible memory leaks correction.
Contributed by Petr Chornyj .
* Changed: The internal font management functions were rewritten for simplification
and optimization. The function SetFontNameSize() is obsolete now and
defined for compatibility with old code only.
Contributed by Petr Chornyj .
* Enhanced: Added autodetecting and setting of the user codepage at program's startup
for compatibility with a last Harbour unicode changes.
Contributed by Grigory Filatov
* Enhanced: The DRAW GRAPH command respects the font attributes which are defined
via SET FONT TO command for all form's controls.
Requested by Simon Norbert .
Contributed by Grigory Filatov
(see demo in folder \samples\Basic\MAINDEMO_(SYNTAX_I))
* Updated: HBPrinter library v.2.32 (see source in folder \source\HbPrinter):
- Fixed: Correction in the C-function rr_GetDefaultPrinter()
for compatibility with MinGW32.
- Fixed: Possible memory leak in the C-function rr_GetPrinters().
Contributed by Grigory Filatov
* Updated: Harbour Compiler 3.2.0dev (SVN 2012-05-12 00:55):
* Modified: UNICODE build mode is only one build mode on Windows.
Contributed by Grigory Filatov
(look at ReadMe.txt in folder \harbour)
* New: 'Add a new item in inplaced combobox of GRID control' sample.
Contributed by Grigory Filatov
(see demo3.prg in folder \samples\Basic\Grid_Test)
* New: 'DYNAMIC type usage at INPLACE EDIT in GRID control' sample.
Contributed by Adam Lubszczyk
(see demo2.prg in folder \samples\Basic\Grid_Usertype)
* Updated: 'Simple Editor' sample: added setting font's attributes at startup.
Contributed by Grigory Filatov
(see in folder \samples\Basic\EDITOR)

This release is considered stable and ready for production use.

--
Best Regards,
Grigory Filatov
[MiniGUI Team]

Wednesday, April 25, 2012

Harbour MiniGUI Extended Edition 2.1.0 Released on 25th April 2012

Hi All,

The Harbour MiniGUI Extended Edition 2.1.0 setup is published at the following URL:

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

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

http://hmgextended.com/files/CONTRIB/hmg210-mingw.zip

There is the following changelog for this build:

2012/04/25: HMG Extended Edition 2.1.0 Published.
* Fixed: Wrong resizing of the GetBox control without built-in buttons into Tab container.
Problem was reported by Sergey Danilevich <danilevich57@mail.ru>.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Fixed: Changed correction of Browse's Up/Down keys management in the MDI Child windows.
Based upon a contribution of Russian user SergKis
(see demo in folder \samples\Basic\MDI_2)
* Changed: The Spinner control shows a min/max value on 'LostFocus' event
if user introduced the 'out of range' value from keyboard.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see demo in folder \samples\Basic\SPINNER)
* Changed: The internal functions _SetControlCol(), _SetControlRow(), _SetControlHeight()
and _SetControlWidth() are defined as pseudo-functions now.
They are a wrappers for the internal function _SetControlSizePos().
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Changed: The internal functions _GetNotifyIconName() and _GetNotifyIconTooltip() are defined
as pseudo-functions again.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Changed: Replacing the cycle For-Next with For Each-Next for improvement of the speed
in the internal function _SetActivationFocus().
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Enhanced: Added a seven optional color's constants to the header include\i_color.ch.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Updated: Adaptation FiveWin Class TSBrowse 9.0 in HMG:
- Fixed: minor correction in the method ExpSeek (introduced in the build 2.0.7).
Contributed by Oleg Krutoff <krutoff@mail.ru>
* Updated: Harbour Compiler 3.1.0dev (SVN 2012-04-20 08:14):
* Modified: Windows WINANSI build mode forcibly turned on.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(look at ReadMe.txt in folder \harbour)
* New: 'Disable/Enable a selected Tab Page with Cargo property usage' sample.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see demo2.prg in folder \samples\Basic\Cargo)
* New: 'Harbour Script Usage' sample.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see in folder \samples\Advanced\RunScript)
* New: 'Menu for running of the external console programs' sample.
Contributed by Verchenko Andrey <verchenkoag@gmail.com>
(see in folder \samples\Advanced\RunTasks)
* Updated: 'File Manager v.0.51' sample:
- Fixed: setting of date/time attributes for file;
- New: Added BACKSPACE key action.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see in folder \samples\Advanced\FileMan)
* Updated: 'Monitor Tester' sample.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see in folder \samples\Applications\
MonitorTester)

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

--
Best Regards,
Grigory Filatov
[MiniGUI Team]

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.