New FTDN December/Diciembre 2010 (FWH 10.12)

Post Reply
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

New FTDN December/Diciembre 2010 (FWH 10.12)

Post by Antonio Linares »

December 2010
=============

* New: TRNSPARENCY & TRANSLUCENCY OF Windows and Dialogs:

(a) oWnd:nOpacity := <nLevel> ( from 0 to 255 ) makes the Window ( normal or MDI frame ) or dialog transparent / translucent instantly.
nOpacity can be set anytime after creation of the window/dialog and even during runtime.
Level 0 is fully transparent and 255 is fully opaque.
:nOpacity := nil, turns off the transparency feature.
This does not work on child windows.
There is no way to set the nOpacity level to MDICHILD windows separately. nOpacity of MDIFRAME applies to all childwindows too.
(b) oWnd/oDlg:nSeeThroClr := <nColor> instantly makes the area with that color fully transparent (See Through). To turnoff, set :nSeeThroClr := nil.

TREEITEM Class

* Fix: Fixed bugs in Methods Add( cItem ), Delete() and ItemNo() of TreeItem.prg.

* Enhancement: In the method Add( coItem ) of TreeItem.Prg, the parameter can also be an item already created.

* New: New methods in TreeItem.Prg:
(a) AddChild( coItem, [lFirst] ): Adds a child to the treeitem, by default as the last item and optionally as the first item.
(b) Parent( [nLevel] ) returns the first parent of the item, by default. If a positive parameter is specified, returns the parent at the level specified. If a negative parameter is specified, returns the parent before the number of level specified.
Example: Parent(-1) returns parent and Parent(-2) returns grandparent and so on.
(c) EvalParents( bAction )
(c) MoveUp() and MoveDown(). Moves the item up or down in the same tree.
(d) Promote() and Demote(): Promotes or Demotes an item by one level
(e) Sort()

TLINKLIST Class

* Enhancement: Class TLinkList: Method Eval( bAction, bFor, bWhile ) now accepts new paramters bFor and bWhile.

* New: Class LinkList: New method Find( uPrompt ) returns oItem with uPrompt. Character value comparison is case insensitive and ignores leading and trailing blanks. For detailed search, uPrompt can be the search condition as codeblock.
New Data Cargo added.
New method Sort()
* Enhancement: Function uCharToVal( cText ) can now convert date text containing month names also into valid dates.

* New: Functions ExcelObj(), WinWordObj(), SunCalcObj() in the new fwh\source\function\olefuncs.prg provide easy way to create these objects.
Note: XHb users generating their own fwh libraries need to include this new file in their build scripts to build fwh library.

XBROWSE:

* New:
(a) Native support for Win7 bars. Set oBrw:nMarqueeStyle := MARQSTYLE_HIGHLWIN7 to invoke Win7style bars in XBrowse.
No other code is necessary in the application program.
(b) Method ToDBF( cFile, [bProgress(default:internal)], [aCols(default:VisibleCols)], [lPrompt(default:false)] )
Exports visible data of the browse to DBF file.
This method may serve as a quick handy tool to save data from other sources like excel,ado,etc. to DBF or to restructure DBFs.
Note: This method uses column's cHeader (left 10 chars), cDataType, nDataLen and nDataDec to construct the structure of the new DBF.
Where such information, xbrowse tries to guess the values but this may not be quite what is expected. It is therefore desirable that the programmer ensures that all the headers are unique, values for DATAs cDataType, nDataLen and nDataDec are assigned as required before using this method.
If the optional parameter lPrompt is set to .t., the method offers the proposed structure for edit and also prompt to browse the exported DBF.

* Fixes:
(a) Runtime error while creating a column by command ADD TO oBrw WITH SORT clause for a non-RDD browse is fixed.
(b) Bug in bKeyNo codeblock in SetTree() method fixed.
(c) UPDATE clause in XBROWSE command now sets oBrw:lUpdate := .t. correctly.

* Enhancements:
(a) When cells are edited inline, the indent and space for bitmaps are preserved.
(b) Any different array can be reset with SetArray() method during runtime without affecting the other settings.
(c) HEADER clause can be omitted in ADD TO oBrw command for empty headers.
(d) BITMAPS clause in ADD TO oBrw command can be an array also instead of an inline list.
(e) Bitmaps for Tree browse can be assigned after creating tree browse.
(f) From version 10.8, COLUMNS clause while defining XBROWSE can contain codeblocks or valid expressions. This facility was made available for RDD and TDatabase only.
Now this facility is available for RecordSets also.
Example: COLUMNS 'FIRST', 'CITY', 'Round( ( Date() - HireDate ) / 365, 0 )'
Sample Program: \fwh\samples\XbrADO.Prg
Note: Same syntax works uniformly for RDD, TDataBase and ADO.
(g) In 2007 style, header text on Highlighted columns was not clearly visible. Now it is okay.

RPREVIEW.PRG
(a) New: RPreview.Prg now supports export of the preview to Microsoft Word. User can view the word file and save in any format. Users of Word 2007 and 2010 can save the file as PDF, if the free plug-in from Microsoft is installed.
Prev32.dll and Prev32sp.dll are modified and the revised dlls need to be distributed with the application.
(b) New: Option to Save as Doc or PDF provided. Save as PDF works only if Word 2007 or later is installed and SaveAsPDF plugin from Microsoft is installed.

December 2010 ( Build.2 )

XBROWSE:
(a) Fix: Syntax error resulting in runtime error while executing ADD COLUMN TO fixed.
(b) Enhancement: Paste() Method: Pasted text delimited by Tabs can contain different number of columns in different rows.
(c) Enhancement: Edit() method: Now cells with 'nil' values can also be edited, Such cases arise mostly in arrays and recordsets.
If the edited column number exceeds the number of columns in a ragged array, the size of the row is adusted to accommodate the edited column also.
(d) Fix: FnAddBitmap( cBmpFile ). Failing when cBmpFile has trailing spaces. Now fixed.

RPREVIEW.PRG
Added: Suitable error messages when WinWord is not installed or Word document could not be generated
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply