FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index WhatsNew / Novedades New FTDN March 2016 (FWH 16.03)
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
New FTDN March 2016 (FWH 16.03)
Posted: Wed Mar 30, 2016 08:14 AM

March 2016

  • New: FWH 64 is fully compatible with Borland BCC 7.0 and 7.1 64 bits

  • Fix: ButtonBmp (buttonb.prg ): Backward compatibility issue fixed

viewtopic.php?f=6t=32036p=187463#p187463

  • Fix: gdiplus.cpp: HB_FUNC( GDIPLUSCREATECOLOR )
    Color clr = Color( hb_parnl( 1 ), hb_parnl( 2 ), hb_parnl( 3 ), hb_parnl( 4 ) );

  • Improvement: gdiplus.cpp: HB_FUNC( GDIPLUSIMAGEPIXTOGRAYCOLOR )
    Now Alpha incorporate

  • Fix: Resize() method of GdiBmp class was wrongly calculating width,
    when paramter width is nil. Fixed.

  • New: gdiplus.cpp: HB_FUNC( GDIPLUSPENSETLINEJOIN )

  • New: gdiplus.cpp: HB_FUNC( GDIPLUSDRAWTEXT )

  • New: gdiplus.cpp: HB_FUNC( GDIPLUSDRAWTEXTFONT )

  • New: gdiplus.cpp: HB_FUNC( GDIPLUSFONTCREATEFROMHDC )

  • New: gdiplus.cpp: HB_FUNC( GDIPLUSPATHADDELLIPSE )

  • New: gdiplus.cpp: HB_FUNC( GDIPLUSTEXTTOBMP )

  • New: gdiplus.cpp: HB_FUNC( GDIPLUSBMPFROMTXTCENTER )

  • Improvement: gdiplus.cpp: HB_FUNC( GDIPLUSIMAGESAVE )
    Fix name of file

  • Improvements: Class Graphics
    METHOD DrawText
    now allowed to pass as a parameter the name of the font or object

  • New: Class Graphics
    METHOD DrawTextLFont
    Use LOGFONT of font object actual

  • New: Class Pen
    METHOD SetLineJoin

  • New: Class Path
    DATA lNoHighQuality
    METHOD AddString( cText, cFont, nStyle, eMSize, nTop, nLeft, nRight, nBottom )
    METHOD FillPath( oGraphics, oBrush, oWnd )
    METHOD DrawPath( oGraphics, oPen, oWnd )

  • Unicode:

  • GDIP_ImageFromFile() now accepts Unicode filename also

  • Fix: There was a bug in Class TDde. Now it is ok:

viewtopic.php?p=188030#p188030

  • Fix: DLL FUNCTION ... for FWH 64 bits was not properly supporting the
    parameters supplied by reference. Now it is ok:

viewtopic.php?p=188063#p188063

  • New color conversion functions:
  • RGBTOHSL( nRGB ) --> { hue, saturation, luminence }
    or RGBTOHSL( { r, g, b } )
    or RGBTOHSL( R, G, B )
  • HSLTORGB( { h, s, l } ) --> { R, G, B, nRGB }

  • New: Class TToast implements Windows desktop notifications,
    with header, footer, bitmap, settings menu, button close, and possibility of
    add controls of notification.
    Also, It can be used to create a standard tooltip control with the same
    properties as notifications.

viewtopic.php?f=3t=32059hilit=toast#p187571

Please review samples\toastest.prg for a working example.

  • XBROWSE:
    (a) Fix: Veritcal resizing of row height with mouse at runtime
    stopped working from ver.15.12. Fixed
    (b) Enhancement: SetCheck() was required to be called only before the
    Adjust() method of xbrowse was executed. Now SetCheck() can be called
    at anytime, including runtime.
  • SetCheck() also centers header.

Note: When XBrowse is created in a Window, Adjust() is called during
execution of CreateFromCode(). In case of dialogs, Adjust() method is
executed during Init of the Dialog.

(c) Enhancement: AutoFit() can be called at anytime now:
AutoFit( [aColsToFit], [lVisibleOrNumRows], [lDataOnly], [nMaxWidth] )
aColsToFit: Optional array of columns to fit.
Defaults to all columns, if called after Adjust() method
Defaults to only those columns to which nWidth is not expressly
assigned (and EDIT_LISTBOX), if called before Adjust() method.
lVisibleOrnumRows: When .T. is specified during runtime, only visible
rows are adjusted. If a number is specifed, only the first specified
of rows are adjusted.
Default is all rows. This may be slow for large disk based datas sources.
lDataOnly: Default .f. If .t. width is adjusted to fit data only and header
and footer widths are not considered.
nMaxWidth: If specified the width of any column is limited to this maximum.

(d) New data lDrawBorder (default .f.)
If set to .t., draws a single line border around the browse. Useful when
not having recordselector, headers, or scrollbars.

  • New Class TArrayData:
    Can be used with multi-dimentional arrays the same way as TDatabase and
    TRecset.
    Usage:
    oData := TArrayData():New( aArrayData, aStructure )
    aStructure is similar to dbf structure.
    Method SetArray( aData ) can be used to set / reset array data.

  • Fields can be accessed and assigned simlar to TDatabase like
    oData:Salary := 2500

  • All navigational methods similar to DBF and also RecordSet can be used
    (eg. gotop(), gobottom(), movefirst(), movelast(), etc )

  • While it is desriable to initialize with multi-dim array conforming to
    the data structure provided, single dimentional and ragged arrays are
    converted as multidimentional arrays of the required number of columns
    initially by the class.

  • Datatypes not matching with the types in the aStrcture are converted
    suitably while accessing and assignment.

  • Expressions like "QUANTITY * PRICE" can be used. Eg:
    ? oData:FieldGet( "QUANTITY * PRICE" )

  • Sorting: Method SetOrder( fieldname, nil, lDescend )

    • SetOrder is possible only with single fieldname.
    • :SetOrder( 0 ) restores natural order. The same order at the time of
      creation of the object
    • oData:Sort := "SALARY DESC" also is possbile like a RecordSet.
  • Filtering: Method SetFilter( <expression> )
    eg: oData:SetFilter( "QUANTITY > 2000 .AND. YEAR(INVDATE) == 2016" )
    oData:SetFilter( "" ) clears filter.
    oData:Filter := "STATE == 'NY'" also is possible

&&&&

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion