August, September, October 2023
===============================
* function WebPageContents() in imgtxtio.prg:
In case of non-existent URLs this function is returning NIL, where as
return value is expected to be always a character value.
Now fixed to return "" in such cases instead of nil
This fixes runtime error in FW_ReadImage()
* TImageList Class: (source\classes\timaglst.prg)
- New Method AddImage( cImage )
To add any image, not only bitmaps and icons.
* TListView class: (source\classes\tlistvie.prg)
New Method SetStyle( nStyle )
Refer prg source for the list of styles.
* ListView: Samples: (1) revised litvie1.prg amd new sample
(2) listvie2.prg for Unicode implementation
* Unicode implementation for ToolBars and Rebars
revised sample: samples\toolbar1.prg
* Enhanced: function FW_SayTextHilite(). The last paramter
aWords, was required to be upper case. Now the words can
be of any case.
* Fix: creation and opening of metafiles (emf) were not recognising
unicode characters in the metafile path and resulting in failure
in cases of Unicode user names. Fixed by making metafile functions
unicode compatible in \source\winapi\metafi32.c. See
https://forums.fivetechsupport.com/view ... d8#p263231
* ADO (adofuncs.prg):
- Added support for ACE.OLDBB version 16.
- New function FW_AceVer()
Return the version of ACE.OLEDB installed ( 12 or 16 ) and
0 (Zero) if not installed.
* Added Dutch language to multi-lang support for Excel (see olefuncs.prg)
* Image functions: (imgtxtio.prg)
- Enhancements: FW_ReadImage() and FW_DrawImae(). If the parameter
bmp is nil, the functions read image from clipboard, if any and proceed.
- New: function FW_StitchImages( image1, [image2], [cSide], [cBlobType] )
--> NewImage
If [image2] is nil, Clipboard Image (if any) is used
[cSide] "R"/"B": Stitch to the right or botttom. If ommitted
the function decides the best side.
[cBlobType] If specified the result image is a blob of the type specified
If ommitted, hBitmap is returned.
* TGet: When picture clause @M is used, enter key was not exiting the
Get. Fixed.
https://forums.fivetechsupport.com/view ... e0bb0dfd09
* BtnBmp.prg: Improved painting of disabled buttons.
https://forums.fivetechsupport.com/view ... 0cdf26182f
* XBROWSE:
- Using column objects datas as plural, before creation of any columns
gives runtime. This is resulting in runtime error when SetRDD()
(from ver.2307) is called prior to creating any columns. Fixed.
- New Method ToXlsx( cFileXlsx, aCols )
- Some changes in SetRdd() made in 2307 were not compatible with
older style of building xbrowse and were causing runtime errors.
fixed.
https://forums.fivetechsupport.com/view ... c27c3d4598
https://forums.fivetechsupport.com/view ... 1&p=263266
&hilit=cargos&sid=c205af2b5c421b3f5c4b7fc27c3d4598#p263266
* New: samples\xbrwpages.prg shows how to combine a xbrowse with a TPages control that holds
TScrollPanel objects. Very interesting, don't miss it!
* Enhancement: FW_MemoEdit( cJsonFile/text ) now displays in formatted
json text.
* Enhancement: functions EnumWindows() and EnumChildWindows() support recursive calls.
* New: Class TTVItem METHOD Select(), it is equivalenf of doing oItem:oTree:Select( oItem ),
so now you can simply do oItem:Select()
* Enhancement: DEFINE WINDOW ... SIZE nWidth, nHeight is supported.
* New: samples\winexpl.prg shows how to use EnumChildWindows()
* Enhancement: XBrowse: now json file name can be specified as datasource
* XBrowser cfileJson / cFileXml
* New: samples\chart.prg shows a google graph from a webview control.
* New: samples\copilot.prg shows how to call Windows Copilot from our FWH apps.
* New: functions WinUpper() and WinLower() wrappers to win32 API
CharUpper() and CharLower() works with both ANSI and UTF8 encodings.
Useful for WU language accented characters like Umlauts.
While TRANSFORM( cUtf8, "@!" ) does not work, FW_TRANSFORM( cUtf8, "@!" ) works.
* Fixed: samples\testtray.prg is properly working with FWH 64 bits.
* Fix: function cValToChar( object ) returning nil when
object:cClassName is nil. fixed.
* New: samples\diskexpl.prg shows how to build a tree with a drive folders using recursion
* Improved: FW_CopyToClipBoard(): Uses gdi++ to copy images to clipboard, enabling
the contents to be pasted in word,excel,whatsapp, etc.
Usage: FW_CopyToClipboard( hBitmap/imagebuffer ) or
FWCopyToClipBoard( imagefilename, 2 )
* New: samples\dllexpl.prg shows how to get the exported functions of any DLL.
* function cFilePath( cFile ). Upper() is removed as it is convinient
to users of some languages.
https://forums.fivetechsupport.com/view ... b0d17e21d6
* FWMariaConnection:
Reconnection logic improved when the app loses connection to the server.
New data bOnLostServer: If this codeblock is specified, it is called when the
application loses connection with the server.
* New: function FolderExists( cFolder ) --> lExists
* NON UNICODE APPLICATIONS ALSO CAN NOW USE UNICODE SAY/GET
CONTROLS TO DISPLAY AND EDIT UTF8 TEST.
- @ r,c SAY ..... UNICODE
Note: Even if the clause UNICODE is not specified, if
the initial prompt is utf8, it is displayed as utf8
- @ r,c GET ... CHRGROUP CHR_WIDE
If the clause "CHRGROUP CHR_WIDE" is specified, the Get
can edit any text encoded in utf8. The result of the Get
is utf8 text.
Even if this clause is not specified, if the initial
edit variable is utf8, this clause is assumed
- Same way, in a Unicode application, i.e., where
FW_SetUnicode( .t. ) is set to .T., Ansi Edit can be
forced by using the clause:
@ r,c GET .... CHRGROUP CHR_ANSI
* CREATING XLSX FILES WITHOUT USING EXCEL APPLICATION.
Recently two great libraries to create xlsx files without
using Excel have been released for free use by Harbour
community.
1. DrXlsx library by Dr Charles Kwon.
see: https://forums.fivetechsupport.com/view ... a1022d46e5
Library download link: http://www.charleskwon.com/?page_id=956
2. xlxlib by Mr. John McNamara and Mr. Arturo Tamayo Daza
see: https://forums.fivetechsupport.com/view ... a1022d46e5
Library download link: https://github.com/FiveTechSoft/FWH_too ... b_ver2.zip
- Any one or both these libraries can be downloaded and linked with
FWH application. FWH further provides wrapper classes for these libraries
to make it more convenient to use these libraries.
Please see: \fwh\source\function\drxl.prg and \fwh\source\function\fwxlsxlb.prg
To force these classes, use
REQUEST DRXLSX
REQUEST XLXLIB
as the case may be.
- Interested users can download these libs to \fwh\libs folder,
BUILD??.BAT files provide the link scripts,
To use these libs, remove "rem " before the relevant link script