FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index WhatsNew / Novedades New FTDN March/Marzo 2019 (FWH 19.03)
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
New FTDN March/Marzo 2019 (FWH 19.03)
Posted: Mon Apr 08, 2019 11:20 AM
February 2019
=============

* Enhancement: samples\fivedbu.prg now automatically saves and restores the state of the browses (columns widths, visible, etc)

* Enhancement: samples\fivedbu.prg updates the index selected tag in the MsgBar when a browse column header is clicked.

* Enhancement: function cGetNewAlias( cAlias ) now supports "-" in the cAlias name. Thanks to Lailton!

* New: function cGetNewAliasName( cAlias ) returns a new valid alias name. Thanks to Lailton!

* Enhancement: static function CreateDlgError() now reports the system error description when a dialog box can not be
created.

* Enhancement: function GetErrMsg( [<nLastError>] ) --> cSystemErrorDescription now supports an optional parameter with
the error code generated by GetLastError(). If no parameter is suplied then GetLastError() is used.

* New: DATA nBarHeight --> allow modify height of folders CLASS TTabs

* Enhancement: Added support for the new MySql ODBC Connector version 8.0
in function FW_OpenAdoConnection(...)

* New: NATIVE SUPPORT FOR DISPLAY AND PRINTING OF BARCODES,
without 3rd party libs or additional fonts.

FWH's own functions support Barcode types CODE39,CODE128 and EAN13.

Provides support for CODE11,CODE38,CODE93,CIDE128,EAN8,EAN13,UPCA,UPCE,ITF,
MSI,CODABAR,PDF417,DATAMATRIX and QR-CODE by linking hbzebra.lib available
from xHarbour and Harbour.

- Display:

- function FW_SayBarCode( oWnd/hDC, cText, aRect, cType, nClrText, nClrBack, ;
lVertical, Transparent, nPinSize, nFlags, lPrinter )
- Method SayBarCode( cText, aRect, cType, nClrText, nClrBack, ;
lVertical, Transparent, nPinSize, nFlags )
of TWindow class all derived classes (dialogs and controls)

see: fwh\samples\qrcode.prg

- Control: TSayBarCode: (tsaybcod.prg)

oBarCode := TSayBarCode():New( nRow, nCol, bText, cType, oWnd, nWidth, ;
nHeight, lPixel, nClrText, nClrBack, ;
lVertical, lTransparent, nPinSize, nFlags, lUpdate, lDesign )

- Command support for control:

#xcommand @ <nRow>, <nCol> SAYBARCODE [<oBcd>] TEXT <cText> ;
[ TYPE <cType> ] ;
[ <dlg: OF,WINDOW,DIALOG > <oWnd> ] ;
[ <lPixel: PIXEL, PIXELS > ] ;
[ <color: COLOR,COLORS > <nClrText> [,<nClrBack> ] ] ;
[ SIZE <nWidth>, <nHeight> ] ;
[ <lVert: VERTICAL> ] ;
[ PINSIZE <nPin> ];
[ FLAGS <nFlags> ] ;
[ <lUpdate: UPDATE> ] ;
[ <lDesign: DESIGN> ] ;

#xcommand REDEFINE SAYBARCODE [ <oBcd> ] TEXT <cText> ;
[TYPE <cType>] ;
[ ID <nId> ] ;
[ <of: OF, WINDOW, DIALOG> <oWnd> ] ;
[ PINSIZE <nPin> ];
[ FLAGS <nFlags> ] ;
[ <lVert: VERTICAL> ] ;
[ <update: UPDATE> ] ;
Note: Clauses VERTICAL and TRANSPARENT are not supported and ignored in the
current version.

viewtopic.php?f=3&t=36976
see fwh\sampls\barcod01.prg

- XBrowse:
Set oCol:BarCodeType := cType ("QR-CODE","EAN13",etc) to display the data as
barcode.
viewtopic.php?f=3&t=36975

- Barcode bitmaps:
It is possible to make a bitmap of desired size.

hBitmap := FW_BarCodeBmp( cText, cType, nWidth, nHeight, [nFlags] )

- Printing:

Printer object method:
METHOD PrintBarcode( cText, nRow, nCol, nWidth, nHeight, cUnits, cType, ;
nClrText, nClrBack, lVertical, lTransparent, nPinSize )
--> nActualWidth

It is recommended to use command syntax to use this method:

#xcommand @ <nRow>, <nCol> PRINT TO <prn> TEXT <cText> ;
AS BARCODE [TYPE <cType>] ;
[SIZE <nWidth> [,<nHeight>] ] ;
[<unit: PIXEL,MM,CM,INCHES>] ;
[COLOR <nTxt> [,<nBck> ] ] ;
[<lVert: VERTICAL>] ;
[<lTran: TRANSPARENT>] ;
[ PINSIZE <nPinSize>] ;
[ BARSIZE <nSize> ] ;
Note: Barsize is an output and indicates the actual width occupied by the
barcode in the same units specified.

viewtopic.php?f=3&t=35797&p=220313&hilit=barcode#p220313

- For using barcodes from hbzebra.lib, the application should include the
statement
REQUEST FWZEBRA.
anywhere in the application, prferably in the main module.
Then the library hbzebra.lib should be provided in the link script.
If not linked the internal functions are used to draw the barcode and when
the specified code is not supported defauls to code128.

* XBrowse:

- Fix: Autosort: Clicking second time on a sorted column is not switching
between ascending and descending order in case of DBF and TDatabase. Fixed
now.

- Enhancement: New data BarCodeType: When assigned with a type, eg CODE128,
QRCODE, etc. will display the value of the column as barcode.
If the data aImgRect is specified, the barcode image is fit inside the rect.

* TGdiPlus:
- Fix: viewtopic.php?f=3&t=36993#p220693
- Enhancement: New Method AngleGradientBrush CLASS Brush
Allow angle defined by user of brush

* EasyReport enhancement:
- New clause "FILE <cPdfFileName>" added to command EASYREPORT.
If specified, the report is saved to the pdf file. If PREVIEW .t. is also
specified, the generated pdf file is also opened by default application.
If instead of a filename, "FILE 'PDF'" is specified the user is allowed to
select a pdf file name to save.

- Easyreport sample file \fwh\samples\erep01.prg
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: New FTDN March/Marzo 2019 (FWH 19.03)
Posted: Mon Apr 08, 2019 08:49 PM
Marzo 2019
==========

* Mejora: Se ha mejorado el ejemplo samples\fivedbu.prg, ahora autom谩ticamente graba el estado del "browse" (ancho de columnas,
visible o no, etc ...).

* Mejora: Se ha mejorado el ejemplo samples\fivedbu.prg, actualiza la etiqueta del 铆ndice seleccionado en la barra de mensajes
cuando es pulsado el encabezamiento de la columna del "browse".

* Mejora: La funci贸n cGetNewAlias( cAlias ) ahora soporta el car谩cter "-" en el nombre cAlias. Gracias a Lailton !

* Nuevo: La funci贸n cGetNewAliasName( cAlias ) devuelve un nombre de alias nuevo v谩lido. Gracias a Lailton !

* Mejora: La funci贸n est谩tica CreateDlgError() ahora informa de la descripci贸n del error del sistema cuando una caja de di谩logo no
puede ser creada.

* Mejora: La funci贸n GetErrMsg( [<nLastError>] ) --> cSystemErrorDescription ahora soporta un par谩metro opcional con el error
generado por la funci贸n GetLastError(). Si no se suministra el par谩metro, se utiliza el devuelto por GetLastError().

* Nuevo: DATA nBarHeight --> Permite modificar la altura de de las carpetas en la clase TTabs.

* Mejora: Se ha a帽adido soporte al nuevo conector ODBC versi贸n 8.0 de MySql en la funci贸n FW_OpenAdoConnection(...).

* Nuevo: Soporte nativo para mostrar e imprimir c贸digos de barras sin usar librer铆as de terceros ni fuentes de letras adicionales.

Las funciones propias de FWH soportan los tipos de c贸digos de barras ( CODE39,CODE128 and EAN13 ).

Proporciona soporte para CODE11,CODE38,CODE93,CIDE128,EAN8,EAN13,UPCA,UPCE,ITF,MSI,CODABAR,PDF417,DATAMATRIX y QR-CODE enlazando la
librer铆a hbzebra.lib disponible para xHarbour y Harbour.

- Mostrar:

- Funci贸n FW_SayBarCode( oWnd/hDC, cText, aRect, cType, nClrText, nClrBack, ;
lVertical, Transparent, nPinSize, nFlags, lPrinter )

- M茅todo SayBarCode( cText, aRect, cType, nClrText, nClrBack, ;
lVertical, Transparent, nPinSize, nFlags )

de la clase TWindow y todas las clases derivadas (di谩logos y controles).

Ver el ejemplo samples\qrcode.prg

- Control: TSayBarCode: (tsaybcod.prg)

oBarCode := TSayBarCode():New( nRow, nCol, bText, cType, oWnd, nWidth, ;
nHeight, lPixel, nClrText, nClrBack, ;
lVertical, lTransparent, nPinSize, nFlags, lUpdate, lDesign )

- Comando para el control:

#xcommand @ <nRow>, <nCol> SAYBARCODE [<oBcd>] TEXT <cText> ;
[ TYPE <cType> ] ;
[ <dlg: OF,WINDOW,DIALOG > <oWnd> ] ;
[ <lPixel: PIXEL, PIXELS > ] ;
[ <color: COLOR,COLORS > <nClrText> [,<nClrBack> ] ] ;
[ SIZE <nWidth>, <nHeight> ] ;
[ <lVert: VERTICAL> ] ;
[ PINSIZE <nPin> ];
[ FLAGS <nFlags> ] ;
[ <lUpdate: UPDATE> ] ;
[ <lDesign: DESIGN> ] ;

#xcommand REDEFINE SAYBARCODE [ <oBcd> ] TEXT <cText> ;
[TYPE <cType>] ;
[ ID <nId> ] ;
[ <of: OF, WINDOW, DIALOG> <oWnd> ] ;
[ PINSIZE <nPin> ];
[ FLAGS <nFlags> ] ;
[ <lVert: VERTICAL> ] ;
[ <update: UPDATE> ] ;

Nota: Las cla煤sulas VERTICAL y TRANSPARENT no est谩n soportadas y son ignoradas en la versi贸n actual.

viewtopic.php?f=3&t=36976

Ver el ejemplo \samples\barcod01.prg

- XBrowse:

Poner oCol:BarCodeType := cType ("QR-CODE","EAN13",etc) para mostrar el dato como c贸digo de barras.

viewtopic.php?f=3&t=36975

- Mapa de bits de c贸digo de barras:

Es posible hacer un mapa de bits del tama帽o deseado.

hBitmap := FW_BarCodeBmp( cText, cType, nWidth, nHeight, [nFlags] )

- Impresi贸n:

M茅todo de objeto de impresora:

METHOD PrintBarcode( cText, nRow, nCol, nWidth, nHeight, cUnits, cType, ;
nClrText, nClrBack, lVertical, lTransparent, nPinSize ) --> nActualWidth

Es recomendable usar la sint谩xis de comando para usar este m茅todo:

#xcommand @ <nRow>, <nCol> PRINT TO <prn> TEXT <cText> ;
AS BARCODE [TYPE <cType>] ;
[SIZE <nWidth> [,<nHeight>] ] ;
[<unit: PIXEL,MM,CM,INCHES>] ;
[COLOR <nTxt> [,<nBck> ] ] ;
[<lVert: VERTICAL>] ;
[<lTran: TRANSPARENT>] ;
[ PINSIZE <nPinSize>] ;
[ BARSIZE <nSize> ] ;

Nota: "Barsize" es una salida e indica el ancho real ocupado por el c贸digo de barras en las mismas unidades especificadas.

viewtopic.php?f=3&t=35797&p=220313&hilit=barcode#p220313

- Para usar los c贸digos de barras con la librer铆a hbzebra.lib, la aplicaci贸n debe incluir la declaraci贸n REQUEST FWZEBRA en
cualquier lugar en la aplicaci贸n, preferentemente en el m贸dulo principal.
Entonces habr谩 que proporcionar la librer铆a hbzebra.lib en el gui贸n de enlazado.
Si no est谩n vinculadas, las funciones internas se utilizan para dibujar el c贸digo de barras y cuando el c贸digo especificado
no es compatible, por defecto code128.

* XBrowse:

- Correcci贸n: Autosort: Al hacer clic por segunda vez en una columna ordenada no se cambia entre orden ascendente y descendente
en el caso de DBF y TDatabase. Arreglado ahora.

- Mejora:

- Enhancement: Nuevo tipo de c贸digo de barra de datos: cuando se asigna un tipo, por ejemplo, CODE128, QRCODE, etc. mostrar谩 el valor
de la columna como c贸digo de barras.
Si se especifica aImgRect, la imagen del c贸digo de barras se ajusta dentro de la estructura rect.

* TGdiPlus:

- Correci贸n: viewtopic.php?f=3&t=36993#p220693

- Mejora: Nuevo m茅todo AngleGradientBrush en la clase Brush. Permite un 谩ngulo definido por el usuario del "pincel/brush"

* EasyReport enhancement:

- Nueva cla煤sula "FILE <cPdfFileName>" a帽adida al comando EASYREPORT.

- New clause "FILE <cPdfFileName>" added to command EASYREPORT.
Si se especifica, el informe se guarda en el archivo pdf. Si tabi茅n se especifica que es vista previa .T., el archivo pdf
generado tambi茅n se abre por aplicaci贸n predeterminada. Si en lugar de un nombre de archivo, se especifica "ARCHIVO 'PDF' ',
el usuario puede seleccionar un nombre de archivo pdf para guardar.

- Fichero de ejemplo de Easyreport samples\erep01.prg
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 7317
Joined: Thu Oct 18, 2012 07:17 PM
Re: New FTDN March/Marzo 2019 (FWH 19.03)
Posted: Thu Apr 11, 2019 01:42 PM

Perhapas there is also the SCROLLMSG class

Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)

I use : FiveWin for Harbour March-April 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com

Continue the discussion