New FTDN March/Marzo 2019 (FWH 19.03)

New FTDN March/Marzo 2019 (FWH 19.03)

Postby Antonio Linares » 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
User avatar
Antonio Linares
Site Admin
 
Posts: 42107
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: New FTDN March/Marzo 2019 (FWH 19.03)

Postby Antonio Linares » Mon Apr 08, 2019 8: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
User avatar
Antonio Linares
Site Admin
 
Posts: 42107
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: New FTDN March/Marzo 2019 (FWH 19.03)

Postby Silvio.Falconi » Thu Apr 11, 2019 1: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 November 2023 - January 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
User avatar
Silvio.Falconi
 
Posts: 7063
Joined: Thu Oct 18, 2012 7:17 pm


Return to WhatsNew / Novedades

Who is online

Users browsing this forum: No registered users and 8 guests