New FTDN February/Febrero 2017 (FWH 17.02)

New FTDN February/Febrero 2017 (FWH 17.02)

Postby Antonio Linares » Fri Feb 24, 2017 12:37 pm

February 2017

- Method oBrw:Delete() was not evaluating bChange. Now fixed.

- Automatic Recalculation of aggregates improved to cover bSumCondition also.

- When the value of a sorted field is modified, it is not enough to
refresh the row. It is necessary to refresh the entire browse to reposition
the row in the sorted order. In case of inline-edit of sorted column,
xbrowse was automatically deciding whether to refresh row or entire browse.
In all other cases, the programmer has to decide this increasing the
complexity of code. Now RefreshCurrent() method decides whether the value
of a sorted column is changed or not and accordingly decides to refresh
browse or row. So now it is enough to call RefreshCurrent() after editing.

- Now, locking and unlocking actions of browse do not disturb any file or
record locks ( flock() / dbrlock(nrec) ) already placed by the programmer.
Also, now internal locking by xbrowse includes evaluation of bOnChange also.

- Fix: Seekbar box is being painted in the fist column of a Group
when order is set to last column of a Group. Fixed.

- New DATA lLockFreeze INIT .f.:
Setting to .T. prevents navigation by arrow keys into the frozen cells

- New DATA lScreenUpdating INIT .t.
If this data is set to .f. during runtime, screen updating of browse is
suspended. When a browse is being displayed any other dialog that has focus
is moved over the browse, the browse keeps getting constantly refreshed.
While that is not a problem in many cases, in case of very slow data access,
browse refresh may be too slow. In such cases setting lScreenUpdating to .f.
when out of focus and setting to .t. when got focus could help.

- Enhanced Progressbar:
Syntax (unchanged ): oCol:SetProgBar( nProgTotal, nWidth, bClrProg )
So far bClrProg is expected to return array of two colors.
Now the array contain any two of
- colors, alpha colors, color gradients, brush handles/objects
- two bitmaps. In case of bitmaps, the array elements should be
indexes into the oCol:aBitmaps array.
oCol:AddBitmap( { image1, image2 } )
bClrProg := { || { 1, 2 } }

- Method Report() now configures progressbar columns also

* Class Report: Enhancement:
Can now define a column to print progressbar also.
COLORS <clr1>,<clr2>
<clr1>,<clr2> can be either colors, alphacolors, gradients, brushes
or both can be bitmap handles

- oCn:InsertSQL(...). If the length of the fields and values differ,
the sql statement prepared is adjusted to the length of fields,
avoiding mysql server error while executing.

- New: oCn:UpdateSQL( cTable, aFields, aValues, cWhere ) --> cSql
aFields: Single field name, list of fields, array of field names
or array of fieldname and value pairs
aValues: Single value or array of values
cWhere: where condition

- Change prompt in POPUP MENUS. Fixed

* New CLASS TAdoCommand ( adofuncs.prg )
DATAS (all readonly)
oCn (ADODB.Connection Object)
oCmd (ADODB.Command Object)
New( oCn, cCommandText, nCommandType, aParamters ) --> Self
Execute( [aParams] ) --> funtion return value/affected records/recordset

* New function ADORollupTree( oRs, [@aHead], [nGroups] ) -- oTree
Prepares Tree from a recorset that is a result of GROUP BY..WITH ROLLUP.
Optionally returns an array of Headers to be shown in xbrowse.
oTree:Cargo contains an array of grand aggregates.

* New function ADORollupTreeBrowse( oRs, [bSetup], [aColors], [aFonts], [aPictures] )
Prepares a tree from a Rs with result of GROUP BY .. WITH ROLLUP and
browses the tree.

The above two functions work with any ADO recordset when the RDBMS supports
ROLLUP. These functions also work with FWHMYSQL Rowsets

* TSwitch.prg: New data lReadOnly init .f. added

* DataRow.prg: When the default edit dialog is activated, focus is set
to the first Get even when it is Readonly. Now focus is set to the
first get that is not readonly. If all the controls are readonly focus
is set to the close button.

* Fix: FW_NumToWords() is wrongly additing extra "and" in some cases. fixed/

* FW_IsTouchScreen() improved.

* New: functions GetBmpWidth( bmp ) and GetBmpHeight( bmp ).
Parameter can be either GDI bitmap handle or GDI+ image pointer.

* New: function DrawProgressBar( hDC, aRect, nValue, nTotal, aColors, lBorder )
aColors can be an array of 2 colors, alpha colors, brushes, gradients or
an array of 2 bitmaps (handles or pointers)

* Enhancement: FWH debugger now loads PRGs much faster. Thanks to Gustavo!
regards, saludos

Antonio Linares
User avatar
Antonio Linares
Site Admin
Posts: 34834
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: New FTDN February/Febrero 2017 (FWH 17.02)

Postby Silvio.Falconi » Sun Mar 19, 2017 2:48 pm

* Class Report: Enhancement:
Can now define a column to print progressbar also.
COLORS <clr1>,<clr2>
<clr1>,<clr2> can be either colors, alphacolors, gradients, brushes
or both can be bitmap handles

Antonio can provide a small test for it ?
I use : FiveWin for (x)Harbour v. 17.02 - Harbour 3.2.0 (March 2016) - xHarbour Builder (Nov. 2016) - Bcc7 - xMate ver. 1.15.3 - PellesC
User avatar
Posts: 2261
Joined: Thu Oct 18, 2012 7:17 pm
Location: Teramo - Abruzzo - Italy

Re: New FTDN February/Febrero 2017 (FWH 17.02)

Postby nageswaragunupudi » Mon Mar 20, 2017 7:19 am

We are making a separate post explaining this

G. N. Rao.
Hyderabad, India
User avatar
Posts: 5166
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Return to WhatsNew / Novedades

Who is online

Users browsing this forum: No registered users and 4 guests