May 2013
========
* Fix: RibbonBar were flickering when selecting a top item. Now it is fine:
http://forums.fivetechsupport.com/viewt ... 55#p146155
* New: examples/access.prg shows hot to review all the tables from a database
using ADO.
* Fix: XBrowse: XBROWSE command is failing to recognise recordset object properly
in some rare cases when built with xharbour. fixed now.
* Enhancement: Added a dummy function Execute() for xHarbour. This function
simply shows an alert with the message that it is only available with Harbour.
* Enhancement: Class TBtnBnp now supports PNG files too:
http://forums.fivetechsupport.com/viewt ... 68#p143968
* New: Class TComboBox Method GetKeyChar() used from ComboBoxes with DropDownList
style. Recently implemented and tested with Rick help:
http://forums.fivetechsupport.com/viewt ... 34#p143534
* Enhancement: Removed three warnings reported by Lucas:
http://forums.fivetechsupport.com/viewt ... 33#p144233
* hbcomat.ch is included inside fivewin.ch
* Enhancement: Class TComboBox only creates a GET for those styles that require it.
* Enhancement: XBROWSER command now accepts VALID clause. Please review
samples/olebrow.prg
* New: samples/olebrow.prg shows how to review all the OLE classes available on
a computer and lets you inspect each class methods, etc.
* New: samples/outlook.prg shows how to manage Outlook from your apps.
* Enhancement: Added Class TMsgItem Method Refresh(), it was missing.
* Enhancement: Class TDialog, cVarName was not being provided to Method New().
Now it is ok.
* New: samples/speak.prg check how easily you can make your app talk!
* Fix: Fixed some pending bugs introduced with recent Class TComboBox changes.
* Enhancement: TXBrowse. New DATA lFreezeLikeExcel ( default .f. )
When some columns are frozen on the left, navigation to to the right,
may hide some columns next to the frozen columns while bringing far right
columns into the visible window.
While moving cursor to left with left arrow, cursor moves into the frozen
columns keeping the far right columns still visible. Only when left arrow key
is pressed while on the first frozen column, the hidden columns are made
visible by moving other columns to right. This behaviour is provided intentionally
to enable to view and juxtoppose far right columns by the side of frozen columns.
However this behavior is different from Excel.
If oBrw:lFreezeLikeExcel data is set to .t., navigating to left with left arrow key
reveals the all hidden colummns one by one before moving into the frozen columns.
This option can be used to have excel like behavior.
http://forums.fivetechsupport.com/viewt ... 36#p145136
* Fix: TXBrowse: TDolphin: Wrong construction of sql stement for incremental filters
when an order is descending. Fixed.
* Fix: Class THActiveX Method ReadTypes() is properly loading the events names.
* Enhancement: Class THActiveX has been greatly enhanced making it compatible
with FWH Class TActiveX. Class THActiveX is based on Harbour's Activex ATL
support.
* New: Class TPrinter new Methods CmBox( nRow, nCol, nBottom, nRight, oPen ) and
METHOD CmLine( nRow, nCol, nBottom, nRight, oPen ). Thanks to Manuel! (mastintin)
New Method Pix2Cmtr( nRow, nCol ) also.
* Fix: XBrowse: ADO Incremental filters are not working when the value of the filter
field in the current row is NULL. Now fixed.
Also after the user types invalid search, the behaviour is erratic. Fixed now.
* Enhancement: Class TRibbon DATA nOldOption keeps the previous selected option
when the current selected (top items bar) option changes. Thanks to Pedro!
http://forums.fivetechsupport.com/viewt ... 11#p145611
* Enhancement: Function FW_DbfToArray(...). If an array is provided as the 7th
parameter, data from the dbf is appended to the array.
* New: Methods RowGet( [<cFieldList>], [<lBlank>] --> 2 dim array of field names and values
RowPut( aData, <lNew> ) Writes data into fields from the data array
in TDatabase class
* New: New Class TDataRow ( datarow.prg )
Reads data from Alias, oRecset, oDbf
Can be used for edit/append/save
* Enhancement: XBrowse: DATA lAutoSort toggles autosort feature.
* New Data: XBrowse: oBrw:lReadOnly and oCol:lReadOnly
When set to .t., edit and modification of values is inhibitied, irrespective
of oCol:nEditType setting
In case of RDD and ADO, XBrowse recognises if the DBF / RecordSet is opened in
readonly mode and sets the readonly mode. XBrowse also tries to ascertain if
individual fields can be modified and accordingly sets oCol:lReadOnly.
Programmer can at any time toggle the DATA but it may not be desirable to allow
edit of readonly datasource.
* Fix: samples/FiveDBU.prg ADO Add record fix, now it is ok:
http://forums.fivetechsupport.com/viewt ... 42#p145842
* Enhancement: Class TPrinter new Methods CmtrGetTextWidth( cText, oFont ),
CmtrTextToCenter( cText, oFont ), METHOD TextInBoxCentered( nTop, cText, cmExRow,
cmExCol, oFont, oPen, nColor ) and METHOD TextInBox( nTop, nLeft, cText, cmExRow,
cmExCol, oFont, oPen, nColor ). Thanks to Manuel Alvarez:
http://forums.fivetechsupport.com/viewt ... 75#p145375
* Enahanced suport for ADO in \fwh\source\function\olefuncs.prg
New: FW_ShowAdoError( oCn ) --> shows last ado error
New: FW_CreateMDB( cFile[.mdb|.accdb] ) --> lCreated
Creates new MS Access Database file.
For creation of accdb file, Microsort ACE.12.0 need to be installed.
By default creates mdb if no extension is specified.
New: FW_FieldUpdateable( oRs, <nFld|cFldName|oField ) --> .t. / .f. / nil
Useful for deciding if a field is readonly.
New: FW_DateToADO( dDate ) --> '#YYYY-MM-DD#'
Converts a date as literal for use in ADO and also MsAccess SQL
Enhanced: FW_OpenAdoConnection( cConnStr, [ lShowError ] )
In case of MSAccess, it is enough if the name of mdb/accdb file is
specified instead of full connection string.
In case of DBF, it is enough if full filepath is specified instead
of full connection string.
If optional second parameter is set to .t., ado error is displyed in
case of error in opening the connection.
* Suport for SQL in \fwh\source\function\olefuncs.prg
New: FW_DateToSQL( dDate/tDateTime ) --> cDate/DateTime literal
returned datetime literal to be used in SQL Statements.
New: FW_ValToSQL(...) Parameter can be single value, array of values of list
returns Sql literal to be used in SQL statements.
Examples"
FW_ValToSql( "Mc'Donald" ) --> "'Mc''Donald'"
FW_ValToSql( tDateTime ) --> "YYYY-MM-DDTHH:MM:SS"
(Oracle: "TIMESTAMP YYYY-MM-DD HH:MM:SS"
FW_ValToSql( nAge, Salary, First, Married, HireDate ) -->
"( 32, 23400.26, 'David', 0, '1980-10-12' )"
This returned list literal can be used in INSERT statements and
as params list for stored procedures.
New: FW_QuotedColSQL( cColName ) --> "[cColName]" or "'cColName'" depending
on the RDBMS. ( MSACCESS and MSSQL use [] and MySql uses ' )
* New: Include file fwsqlcmd.ch in \fwh\include folder contains translates
which make writing INSERT and UPDATE sql statements easy
cSql := SQL INSERT INTO TEST ( AGE, FIRST, HIREDATE ) ;
VALUES ( CUST->AGE, CUST->FIRST, CUST->HIREDATE )
cSql --> "INSERT INTO TEST (AGE,FIRST,HIREDATE) VALUES ( 34, 'David', '1980-10-12' )"
oCn:Execute( cSql )
cSql := SQL UPDATE TEST SET AGE = nAge, HIREDATE = dDate WHERE ID = 2
cSql := "UPDATE TEST SET AGE = 40, HIREDATE = '2000-12-12' WHERE ID = 2"
With help of these translates, which use FW_ValToSQL() function, we can
write SQL statements using Harbour vairables / data without coverting and
concatenating in our code.
* New: Class TDataRow ( \fwh\source\classes\datarow.prg )
This calss reads values of a record/row of dbf/recset/xbrowse and enables
access of the data as object data.
constructor:
oRec := TDataRow():New( <cAlias|oRs|oBrw|aPromptVal>, [cFieldList], [lBlank] )
Examples:
USE CUSTOMER
oRec := TDataRow():New( "customer", "First,Age,Salary" )
? oRec:first
? oRec:Age := 40
? oRec:Modified()
oRec:Save()
etc.
The class has a default Edit() method for quick use.
Programmer can build his own add/edit dialog or Assign oRec:bEdit with his
own implementation.
More details of usage will be posted in the forums
* New: Class TRibbonBar new Method AEvalWhen() controls all controls on its child
dialogs. Thanks to Enrico!
New FTDN May/Mayo 2013 (FWH 13.05)
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact: