Clipper Utilities

We have tons of shareware utility program and samples written in language and / or for Clipper language.

And tons of them was compiled and published in the legendary internet site by sainted legendary community guru Phil Barnet (RIP). After Phil, this site cloned by Harbour gurus, many thanks to them.

Of course most of that materials are obsolete. But some of them are ageless.

As an example: Click! is a Clipper language source code reformatter. This is much more than a simple reindenter, but actually reestablishes spacing between elements in the lines of code and creates function cross reference charts. Fully documented and configurable.

Viva Clipper 😀

 

HMG 3.4.3 Released

HMG 3.4.3
Post by Rathinagiri » 08 May 2016 15:41

I am profoundly happy and proud to announce our new version 3.4.3. This version is possible with the untiring efforts of our Dr. Claudio Soto. There are so many new features introduced in this version (especially in GridInPlaceEdit).

You can download this latest version from here (64 MB)

For 64 Bit developers, you have to download and install Harbour64 and MingW64 from here (15 MB) and here (71 MB) respecitvely.

Click here for read this post in place.

Change Log from the last version:

  • – Updated MinGW C compiler (32 and 64-bit) to version 5.3.0 (release december 2015)
    – Updated Harbour 64-bit compiler to version nightly 2016-04-20
    – Updated Harbour compiler to version nightly 2016-05-07
    – New HMG_IsWin64(), returns TRUE if OS is of 64-bit (contrib by BPD2000)
    – New HFCL functions for RichEditBox (contrib by Kevin Carmody):
    – RichEditBox_LoadFileEx, RichEditBox_SaveFileEx
    – RichEditBox_HasNonAsciiChars, RichEditBox_HasNonAnsiChars
    – GetRichEditFileType, HMG_UTF16ByteSwap
    – HMG_IsUTF8Ex, HMG_IsNonASCII, HMG_UTF8IsNonANSI
    – see \SAMPLES\HFCL\WordScribe
    – New Numeric TextBox support comma ( , ) as decimal separator (contrib by Marek)
    – New Draw GRAPH in Bitmap (contrib by S. Rathinagiri):
    – GRAPH BITMAP PIE|BARS|LINES|POINTS …
    – see documentation and demo \SAMPLES\Controls\Graph\GRAPH_Bitmap
    – Note: It is highly recommended to use Graph Bitmap instead of Graph Command because the      painting is much more efficient and does not produce flicker
    – New internal C function: HMG_Trace()
    – New function GetBinaryType ( cApplicationName ) –> nBinaryType (constants are defined in    i_controlmisc.ch)
    – SCS_32BIT_BINARY // A 32-bit Windows-based application
    – SCS_64BIT_BINARY // A 64-bit Windows-based application.
    – SCS_DOS_BINARY // An MS-DOS – based application
    – SCS_OS216_BINARY // A 16-bit OS/2-based application
    – SCS_PIF_BINARY // A PIF file that executes an MS-DOS – based application
    – SCS_POSIX_BINARY // A POSIX – based application
    – SCS_WOW_BINARY // A 16-bit Windows-based application
    – Bos Taurus: new version 1.0.6
    – New functions(see doc):
    – BT_DrawTextEx (hDC, Row, Col, Width, Height, cText, cFontName, nFontSize, aFontColor,        aBackColor, nTypeText, nAlingText, nOrientation)
    – BT_DrawTextSize (hDC, cText, cFontName, nFontSize, nTypeText) –> { nTextWidth,                  nTextHeight, A+B+C of first character, A, B, C }
    – BT_DrawPolygon (hDC, aPointY, aPointX, aColorRGBLine, nWidthLine)
    – BT_DrawPolyBezier (hDC, aPointY, aPointX, aColorRGBLine, nWidthLine)
    – BT_DrawArc (hDC, Row1, Col1, Row2, Col2, RowStartArc, ColStartArc, RowEndArc,                      ColEndArc, aColorRGBLine, nWidthLine)
    – BT_DrawChord (hDC, Row1, Col1, Row2, Col2, RowStartArc, ColStartArc, RowEndArc,               ColEndArc, aColorRGBLine, nWidthLine, aColorRGBFill)
    – BT_DrawPie (hDC, Row1, Col1, Row2, Col2, RowStartArc, ColStartArc, RowEndArc,                     ColEndArc, aColorRGBLine, nWidthLine, aColorRGBFill)
    – New: now in Label control is possible to assign any data type or a list of data, e.g.
    – @ … LABEL … VALUE xDataType
    – Form.Label.Value := xDataType
    – Form.Label.Value := { xDataType, xDataType, … }
    – New property HBITMAP in IMAGE control (set/get hBitmap into Image control)
    – New in GRID control:
    – now when loads a Grid control and column control is NIL converts automatically any data type   in text, this avoids that column appears empty.
    – On InplaceEditEvent <OnInplaceEditEventProcedure>
    – Properties Available For OnInplaceEditEvent Procedure:
    – This.IsInplaceEditEventInit: Return .T. or .F.
    – This.IsInplaceEditEventRun: Return .T. or .F.
    – This.IsInplaceEditEventFinish: Return .T. or .F.
    – This.InplaceEditGridName: eg. “Grid_1”
    – This.InplaceEditParentName: eg. “Form_1”
    – This.InplaceEditControlHandle: Handle of InplaceEdit ColumnControl, eg. Handle of TEXTBOX, DATEPICKER, TIMEPICKER, COMBOBOX, SPINNER, CHECKBOX, etc.
    – This.InplaceEditControlIndex: Return nControlIndex
    – Now ON CLICK and ON KEY event of Gid control is available too in InplaceEdit state,
    for check if the event is fired in the Grid control or inside of InplaceEdit control you use the property This.IsInplaceEditEventRun
    – see SAMPLES\Controls\Grid\GridInplaceEditEvent
    – Documented in –> Advanced –> Memory, Processes and Threads
    – New RELEASE MEMORY, release unused memory (leak memory), test for example:
    – ON KEY F5 ACTION ( RELEASE MEMORY )
    – DEFINE TIMER … ACTION ( RELEASE MEMORY )
    – New HMG_GetObjectCount( [ nProcessId ] )
    – returns an array of 3 items with information about the number of system objects used for a process { nGDIObjects, nUserObjects, nKernelObjects }
    – Documented many undocumented functions
    – New: CREATE EVENT CODEBLOCK bCodeBlock [ HWND hWnd ] [ MSG nMsg ] [ STOREINDEX nIndex ]
    – New: HMG_PressKey( nVK1, nVK2, … ) –> return array { nVK1, nVK2, … }
    – Simulates the pressure of a key or a combination of keys (where nVK is a virtual key code)
    – New in HMG Debugger (see doc):
    – New hotkeys
    – Now you can switch between the ToolBar and the Main Menu at your convenience
    – Fixed minor bugs
    – added in dbgGUI.prg DoEvents() into large FOR-NEXT cycles
    – added a waiting message while the program loads
    – For a defensive programming (minimization of input errors)
    – New Class HMG_TString:
    – This class selects automatically the correct ANSI or Unicode string function depending of current code page,
    the use of this class create a more portable your code.
    – for default HMG a create instance of this class, you call with a pseudovariable oString (e.g. oString.Upper( cText ) )
    – create a new instance of class -> oStr := HMG_TStringNew(), use e.g. oStr.Upper( cText )
    – see documentation( DOC –> CLASSES –> HMG_TString )
    – New: CHECK TYPE [ SOFT ] <var1> AS <type1> [ , <var2> AS <type2> [, <varN> AS <typeN> ] ]
    <var> = var name
    <type> = var type ( ARRAY, BLOCK, CHARACTER, DATE, HASH, LOGICAL, NIL, NUMERIC, MEMO, POINTER, SYMBOL, TIMESTAMP, OBJECT, USUAL )
    – see documentation( DOC –> Advanced –> CHECK TYPE )
    – New IDE ver 1.1
    – now the IDE not convert to lowercase the name of the PRG files
    – eliminated the maximum limit of 10000 milliseconds in the Timer control imposed for the IDE
    – Zero value in MAXLENGTH property of the controls RichEdit, TextBox and EditBox is equal a NIL value
    – now double click on the Run or Debug buttons not abort the IDE
    – Fixed bug in SetGridQueryData() in Win XP (reported by Eduardo Luis)
    – Fixed bug in TrackPopupMenu() (reported by Esgici and Mustafa)
    – Fixed bug in Transparent Label (reported by Emzampi)
    – Fixed bug in Transparent property of BT_DrawText() function (reported by Andres Gonzales)
    – Fixed bug in DynamicBackColor and DynamicForeColor of the Grid control when used with database (reported by Luis Vasquez)
    – Fixed bug in Set/Get Image in column one of Grid control (introduced in HMG.3.4.1) (reported by Zoltan Miszler)
    – Fixed bug in OnCheckBoxClicked of Grid control (reported by Rathinagiri)
    – Fixed bug in Picture property of ToolBar Button (reported by Pablo César)
    – Fixed bug in updating the Value property when an item is deleted in the Grid control (reported by TopsMarc)
    – Fixed bug in updating record pointer in database in the Grid control (reported by TopsMarc)
    – Fixed bug in Hotkey Alt+S and Alt+U of the Grid control (reported by PiotrM)
    – Fixed bug in ToolTip CustomDraw (reported by Eduardo Luis and Kevin Carmody)

East or West HMG is the Best.
South or North HMG is worth.

…the possibilities are endless.

Downloads

 

Harbour Differences

Differences between Harbour and other compatible compilers ( xHarbour, Clipper, xBase++, CLIP, FlagShip )

 

Compile time support for merging multiple .prg modules
New language statements
FOR EACH
WITH OBJECT / END[WITH]
SWITCH / [ CASE / [EXIT] / … ] OTHERWISE / END[SWITCH]
BEGIN SEQUENCE [ WITH <ERRBLOCK> ] … END SEQUENCE
Extended codeblocks
Hash arrays
References to variables stored in arrays
Passing array and hash items by reference
Passing object variables by reference
Detached locals and references
Declaration and initialization of variables
Functions with variable number of parameters
Hb_ArrayToParams() function
Macros with declared symbols
Macro messages
Multivalue macros
Using [] operator for string items
Negative indexes in [] operator used to access items from tail
Using one character length string as numeric value
New bit operators
IN, HAS, LIKE operators
Pre/post incrementation/decrementation and <op>= operators
Global / global external (global_extern)
DATETIME/TIMESTAMP values
Literal date and TIMESTAMP values
Extended literal string in compiler and macrocompiler
Symbol items and function references
OOP scopes
OOP and multiinheritance
OOP and private/hidden datas
OOP and class object/class messages
Typed object variables
Object destructors
Scalar classes
Runtime class modification
Array and string preallocation
DIVERT statement
Namespaces
Multi window GTs and runtime GT switching
Multi thread support
Thread local work areas and concurrent work area access
Harbour tasks and MT support in DOS
Background task
Codeblock serialization / deserialization
Native RDDs
Regular expressions
INET sockets
I18N (internationalization) support
ZLIB (compression/decompression)
Serial port support
Macro compiler
Compiler library
PP library
Lexer
Contrib libraries
Portability
C level compatibility
HBRUN / XBSCRIPT
HBMK2
Performance and resource usage

This list borrowed from Harbour github documentation; please look at there for details.