New FTDN July/Julio 2020 (FWH 20.07)

New FTDN July/Julio 2020 (FWH 20.07)

Postby Antonio Linares » Sat Aug 01, 2020 5:40 pm

July 2020
=========

* New Samples:
xbrbar.prg: shows inbuilt buttonbar in xbrowse.

* XBROWSE:

- When a column header is clicked, the header is painted in the topbar area
fixed.
viewtopic.php?f=3&t=39178&p=233785#p233785

- oCol:cHeader can be assigned with a codeblock also.

- When oBrw:oRightCol:lFullHeight is .t., clicking anywhere on the righ col
was moving the row pointer. Fixed.

- sqlrdd: When an application program closes the dbf before the xbrowse is
destroyed, unexpected errors might result. An example is here:
viewtopic.php?f=6&t=39196
A small workaround is adopted to avoid runtime error in such cases.

- New method SetOrderNatural(): Sets sort order of the database to natural order
and refreshes the browse.

- New methods: ShowRecSelRecNo() and ShowRecSelKeyNo(): Displays RecNo/KeyNo on
the recordselector and total records in the footer, if footer is enabled.

- New DATA: bOnSort: If specified, evaluated when a column is sorted with browse
and column objects as parameters. When oBrw:SetOrderNatural is executed, this
codeblock is evaluated with browse object only.

* Function SelectClipRgn() in imgtxtio.prg enhanced. If 3rd parameter 'mode' is
specified, works like ExtSelectClipRgn()

* Function CreateRectRgn( nLeft, nTop, nBottom, nRight ) --> hRgn
can now use array also eg CreateRectRgn( { nTop, nLeft, nBottom, nRight } )
source\winapi\regions.c

* RPreview.prg: Nonmodal preview in MDI environment is shown in a new MDICHILD
window, which is maximzed. When the preview is closed, the existing windows are
left maximized. This is fixed. Now the other windows are restored to their
previous state.
viewtopic.php?f=6&t=38957&p=233860#p233860

* New function JpgDim( cFileOrcBuffer ) --> { nWidth, nHeight }
Returns the dimensions without loading the image.
source\function\imgtxtio.prg

* New ADO functions: (source\function\adofuncs.prg)
FW_AdoCurrentDB( oCn ) --> Current selected database/catalog
FW_AdoSelectDB( oCn, cNewDB ) --> lSuccess

* Enhanced ADO function FW_AdoTables( oCn, [cDB] ) --> aTables
Now a database/catalog name other than the current database can be
specified in the second parameter to get tables in the other databae.

* Fix: Ado function FW_AdoCatalogs(). Fixed runtime error in the case of
ADO connections that do not support catalogs/databases, eg. Dbase, Access

* Datarow class: Default edit dialog now displays button to show/hide password
in case of password gets.

* New sample: xbxlsel.prg: how to export selected rows to excel.

* HaruPDF:
FWH1909 made it possible to generate native pdf documents using harupdf.
What all is required is to use commands
PRINT TO oPrn FILE "name.pdf"
REPORT oRep PREVIEW TO FILE ("name.pdf" )
and continue programming like normal print/report program. This generates
output to pdf instead to preview/printer.

But to save preview to harupdf, some extra programming was required. This
made it difficult in case of already existing reports.

From FWH 2007, no extra programming is required. If TPrinter():lUseHaruPDF is
set to .t., any preview of any existing print/report saves pdf in native
format using harupdf.
Please see changes in samples\pdfharu1.prg, pdfharu2.prg, print01.prg and print02.prg

Notes:
a) Link harupdf using "REQUEST FWHARU" in any module of the project
b) Any output using TPrinter's hDC/hDCOut is not saved to pdf.
c) HaruPDF does not support Unicode text. Programs using Unicode text should
not set TPrinter():lUseHaruPdf to .t.

* EasyReport and HaruPdf:
When TPrinter():lUseHaruPDF is set to .t., preview of easyreport also saves
pdf using harupdf.

* Fix: TArrayData class (tarrdata.prg)
- Memofields are not working. Fixed.
viewtopic.php?f=3&p=234116#p234116
- Constructor fromQry() not working unless the sql starts with SELECT.
Fixed.
* TPrinter and FWHPdf classes: cText in method SayText can be a codeblock.
See samples\pdfharu1.prg

* TMsgItem: Now prompt can be a codeblock also.

* FWMariaRowSet:
- Method Rowset is not accepting SQL statements starting with
parenthesis. Fixed.
- Method SetOrder( corder, u, lDescend ): lDescend is defaulting to previous
setting. Fixed. Now defaults to .f.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42097
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: New FTDN July/Julio 2020 (FWH 20.07)

Postby Antonio Linares » Sun Aug 02, 2020 12:15 pm

Julio 2020
==========

* Nuevo ejemplo:

Nuevo ejemplo \fwh\samples\xbrbar.prg que muestra como incrustar una barra de botones en un Xbrowse.

* XBROWSE:

- Cuando se pulsa sobre el encabezado de una columna, el encabezado se pinta en el área de la barra fija
superior.
viewtopic.php?f=3&t=39178&p=233785#p233785

- oCol:cHeader también se puede asignar con un bloque de código.

- Cuando oBrw:oRightCol:lFullHeight es .T., al pulsar en cualquier lugar de la columna derecha se mueve
el puntero de fila. Solucionado.

- SQLRDD: Cuando un programa de aplicación cierra el dbf antes de que se destruya el xbrowse, pueden
producirse errores inesperados. Puedes ver un ejemplo de esto aquí:

viewtopic.php?f=6&t=39196

Se adopta una pequeña solución para evitar errores de tiempo de ejecución en tales casos.

- Nuevo método SetOrderNatural(): Establece el orden de clasificación de la base de datos en orden natural
y actualiza el "browse".

- Nuevos métodos ShowRecSelRecNo() y ShowRecSelKeyNo(): Muestra RecNo/KeyNo en el selector de registros
y el total de registros en el pie de página, si el pie de página está habilitado.

- Nuevo DATA: bOnSort: Si se especifica, se evalúa cuando una columna se ordena con objetos "browse" y columna
como parámetros. Cuando se ejecuta oBrw:SetOrderNatural, este bloque de código se evalúa solo con el objeto "browse".

* Función SelectClipRgn() en imgtxtio.prg mejorado. Si se especifica el tercer parámetro 'mode', funciona como
ExtSelectClipRgn().

* Función CreateRectRgn( nLeft, nTop, nBottom, nRight ) --> hRgn
Puede usar también una matriz, por ejemplo CreateRectRgn( { nTop, nLeft, nBottom, nRight } )
Puede verlo en el fuente \FWH\source\winapi\regions.c

* RPreview.prg: La vista previa no modal en el entorno MDI se muestra en una nueva ventana MDICHILD, que se maximiza.
Cuando se cierra la vista previa, las ventanas existentes se dejan maximizadas. Solucionado. Ahora, las otras
ventanas se restauran a su estado anterior.

viewtopic.php?f=6&t=38957&p=233860#p233860

* Nueva función JpgDim( cFileOrcBuffer ) --> { nWidth, nHeight }
Devuelve las dimensiones sin cargar la imagen.
\FWH\source\function\imgtxtio.prg

* Nuevas funciones ADO: (\FWH\source\function\adofuncs.prg)
FW_AdoCurrentDB( oCn ) --> BBDD/Catálogo actual selecionado
FW_AdoSelectDB( oCn, cNewDB ) --> lSuccess

* Mejorada la función ADO FW_AdoTables( oCn, [cDB] ) --> aTables
Ahora se puede especificar un nombre de BBDD/Catálogo que no sea la base de datos actual en el segundo parámetro
para obtener tablas de la otra base de datos.

* Solucionado: La función ADO FW_AdoCatalogs(). Se ha solucionado el error de tiempo de ejecución en el caso de
conexiones ADO que no admiten Catálogos/BBDD, por ejemplo: Dbase, Access.

* Clase DataRow: El diálogo de edición por defecto, ahora muestra el botón para mostrar/ocultar la contraseña
en caso de que se obtenga la contraseña.

* Nuevo ejemplo: \FWH\samples\xbxlsel.prg: Muestra como exportar filas seleccionadas a Excel.

* HaruPDF:

Desde FWH1909 podemos generar documentos pdf nativos usando HaruPDF.
Lo único que se requiere es usar comandos:

PRINT TO oPrn FILE "name.pdf"
REPORT oRep PREVIEW TO FILE ("name.pdf" )

y continue programando como un programa normal de impresión/informe. Esto genera salida a pdf en lugar de
vista previa/ impresora.

Pero para guardar la vista previa en HaruPDF, se requería una programación adicional. Esto dificulta en caso
de informes ya existentes.

Desde FWH 2007, no se requiere programación adicional. Si TPrinter():lUseHaruPDF se establece en .T., cualquier
vista previa de cualquier impresión/informe existente guarda el pdf en formato nativo usando HaruPDF.
Consulte los cambios en \FWH\samples\pdfharu1.prg, pdfharu2.prg, print01.prg y print02.prg

Notas:
a) Enlace harupdf usando "REQUEST FWHARU" en cualquier módulo del proyecto
b) Cualquier salida que use hDC/hDCOut de TPrinter no se guarda en pdf.
c) HaruPDF no admite texto unicode. Los programas que usan texto unicode no deben configurar TPrinter():lUseHaruPdf en .T.

* EasyReport y HaruPDF:
Cuando TPrinter():lUseHaruPDF está configurado en .T., la vista previa de EasyReport también guarda el pdf usando HaruPDF.

* Solucionado. Clase TArrayData (tarrdata.prg)
- Los campos memo no estaban funcionando. Solucionado.

viewtopic.php?f=3&p=234116#p234116

- El constructor fromQry() no funciona a menos que el sql comience con SELECT. Solucionado.

* Clases TPrinter y FWHPdf: cText en el método SayText() puede ser un bloque de código.
Mira el ejemplo \FWH\samples\pdfharu1.prg

* TMsgItem: Ahora el "prompt" también puede ser un bloque de código.

* FWMariaRowSet:
- Método Rowset no acepta sentencias SQL que comiencen entre paréntesis. Solucionado.
- Método SetOrder( corder, u, lDescend ): lDescend está predeterminado a la configuración anterior. Solucionado. Ahora por defecto es .F.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42097
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to WhatsNew / Novedades

Who is online

Users browsing this forum: No registered users and 7 guests