New FTDN October/Octubre 2023 (FWH 23.10)

New FTDN October/Octubre 2023 (FWH 23.10)

Postby Antonio Linares » Thu Nov 02, 2023 9:53 am

August, September, October 2023
===============================

* function WebPageContents() in imgtxtio.prg:
In case of non-existent URLs this function is returning NIL, where as
return value is expected to be always a character value.
Now fixed to return "" in such cases instead of nil
This fixes runtime error in FW_ReadImage()

* TImageList Class: (source\classes\timaglst.prg)
- New Method AddImage( cImage )
To add any image, not only bitmaps and icons.

* TListView class: (source\classes\tlistvie.prg)
New Method SetStyle( nStyle )
Refer prg source for the list of styles.

* ListView: Samples: (1) revised litvie1.prg amd new sample
(2) listvie2.prg for Unicode implementation

* Unicode implementation for ToolBars and Rebars
revised sample: samples\toolbar1.prg

* Enhanced: function FW_SayTextHilite(). The last paramter
aWords, was required to be upper case. Now the words can
be of any case.

* Fix: creation and opening of metafiles (emf) were not recognising
unicode characters in the metafile path and resulting in failure
in cases of Unicode user names. Fixed by making metafile functions
unicode compatible in \source\winapi\metafi32.c. See
https://forums.fivetechsupport.com/view ... d8#p263231

* ADO (adofuncs.prg):
- Added support for ACE.OLDBB version 16.
- New function FW_AceVer()
Return the version of ACE.OLEDB installed ( 12 or 16 ) and
0 (Zero) if not installed.

* Added Dutch language to multi-lang support for Excel (see olefuncs.prg)

* Image functions: (imgtxtio.prg)
- Enhancements: FW_ReadImage() and FW_DrawImae(). If the parameter
bmp is nil, the functions read image from clipboard, if any and proceed.
- New: function FW_StitchImages( image1, [image2], [cSide], [cBlobType] )
--> NewImage
If [image2] is nil, Clipboard Image (if any) is used
[cSide] "R"/"B": Stitch to the right or botttom. If ommitted
the function decides the best side.
[cBlobType] If specified the result image is a blob of the type specified
If ommitted, hBitmap is returned.

* TGet: When picture clause @M is used, enter key was not exiting the
Get. Fixed.
https://forums.fivetechsupport.com/view ... e0bb0dfd09

* BtnBmp.prg: Improved painting of disabled buttons.
https://forums.fivetechsupport.com/view ... 0cdf26182f

* XBROWSE:
- Using column objects datas as plural, before creation of any columns
gives runtime. This is resulting in runtime error when SetRDD()
(from ver.2307) is called prior to creating any columns. Fixed.
- New Method ToXlsx( cFileXlsx, aCols )
- Some changes in SetRdd() made in 2307 were not compatible with
older style of building xbrowse and were causing runtime errors.
fixed.
https://forums.fivetechsupport.com/view ... c27c3d4598
https://forums.fivetechsupport.com/view ... 1&p=263266
&hilit=cargos&sid=c205af2b5c421b3f5c4b7fc27c3d4598#p263266

* New: samples\xbrwpages.prg shows how to combine a xbrowse with a TPages control that holds
TScrollPanel objects. Very interesting, don't miss it!

* Enhancement: FW_MemoEdit( cJsonFile/text ) now displays in formatted
json text.

* Enhancement: functions EnumWindows() and EnumChildWindows() support recursive calls.

* New: Class TTVItem METHOD Select(), it is equivalenf of doing oItem:oTree:Select( oItem ),
so now you can simply do oItem:Select()

* Enhancement: DEFINE WINDOW ... SIZE nWidth, nHeight is supported.

* New: samples\winexpl.prg shows how to use EnumChildWindows()

* Enhancement: XBrowse: now json file name can be specified as datasource

* XBrowser cfileJson / cFileXml

* New: samples\chart.prg shows a google graph from a webview control.

* New: samples\copilot.prg shows how to call Windows Copilot from our FWH apps.

* New: functions WinUpper() and WinLower() wrappers to win32 API
CharUpper() and CharLower() works with both ANSI and UTF8 encodings.
Useful for WU language accented characters like Umlauts.
While TRANSFORM( cUtf8, "@!" ) does not work, FW_TRANSFORM( cUtf8, "@!" ) works.


* Fixed: samples\testtray.prg is properly working with FWH 64 bits.

* Fix: function cValToChar( object ) returning nil when
object:cClassName is nil. fixed.

* New: samples\diskexpl.prg shows how to build a tree with a drive folders using recursion

* Improved: FW_CopyToClipBoard(): Uses gdi++ to copy images to clipboard, enabling
the contents to be pasted in word,excel,whatsapp, etc.
Usage: FW_CopyToClipboard( hBitmap/imagebuffer ) or
FWCopyToClipBoard( imagefilename, 2 )

* New: samples\dllexpl.prg shows how to get the exported functions of any DLL.

* function cFilePath( cFile ). Upper() is removed as it is convinient
to users of some languages.
https://forums.fivetechsupport.com/view ... b0d17e21d6

* FWMariaConnection:
Reconnection logic improved when the app loses connection to the server.
New data bOnLostServer: If this codeblock is specified, it is called when the
application loses connection with the server.

* New: function FolderExists( cFolder ) --> lExists

* NON UNICODE APPLICATIONS ALSO CAN NOW USE UNICODE SAY/GET
CONTROLS TO DISPLAY AND EDIT UTF8 TEST.

- @ r,c SAY ..... UNICODE
Note: Even if the clause UNICODE is not specified, if
the initial prompt is utf8, it is displayed as utf8

- @ r,c GET ... CHRGROUP CHR_WIDE
If the clause "CHRGROUP CHR_WIDE" is specified, the Get
can edit any text encoded in utf8. The result of the Get
is utf8 text.
Even if this clause is not specified, if the initial
edit variable is utf8, this clause is assumed

- Same way, in a Unicode application, i.e., where
FW_SetUnicode( .t. ) is set to .T., Ansi Edit can be
forced by using the clause:
@ r,c GET .... CHRGROUP CHR_ANSI

* CREATING XLSX FILES WITHOUT USING EXCEL APPLICATION.

Recently two great libraries to create xlsx files without
using Excel have been released for free use by Harbour
community.

1. DrXlsx library by Dr Charles Kwon.
see: https://forums.fivetechsupport.com/view ... a1022d46e5
Library download link: http://www.charleskwon.com/?page_id=956
2. xlxlib by Mr. John McNamara and Mr. Arturo Tamayo Daza
see: https://forums.fivetechsupport.com/view ... a1022d46e5
Library download link: https://github.com/FiveTechSoft/FWH_too ... b_ver2.zip

- Any one or both these libraries can be downloaded and linked with
FWH application. FWH further provides wrapper classes for these libraries
to make it more convenient to use these libraries.
Please see: \fwh\source\function\drxl.prg and \fwh\source\function\fwxlsxlb.prg
To force these classes, use
REQUEST DRXLSX
REQUEST XLXLIB
as the case may be.
- Interested users can download these libs to \fwh\libs folder,
BUILD??.BAT files provide the link scripts,
To use these libs, remove "rem " before the relevant link script
regards, saludos

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

Re: New FTDN October/Octubre 2023 (FWH 23.10)

Postby Antonio Linares » Sun Dec 03, 2023 4:46 pm

Agosto, Septiembre, Octubre 2023
================================

* Fubción WebPageContents() en imgtxtio.prg:
En caso de URLs inexistentes devuelve NIL, mientras que se
espera que el valor de retorno sea siempre un valor de carácter.
Ahora se ha corregido para que devuelva "" en lugar de NIL.
Esto corrige el error de ejecución en FW_ReadImage()

* Clase TImageList: (source\classes\timaglst.prg)
- Nuevo método AddImage( cImage )
Para añadir cualquier imagenm no sólo mapas de bits e iconos.

* Clase TListView: (source\classes\tlistvie.prg)
- Nuevo método SetStyle( nStyle )
Por favor, revisa el código fuente prg para conocer la lista de estilos.

* ListView samples:
(1) listvie1.prg revisado
(2) listvie2.prg implementación unicode

* Implimentación unicode para ToolBars y Rebars, ejemplo revisado samples\toolbar1.prg

* Mejora: Función FW_SayTextHilite(). El último parámetro aWord, debía estar
en mayúsculas. Ahora es indistinto.

* Corrección: La creación y apertura de metaficheros (emf) no reconocía
caracteres unicode en la ruta del metafichero y provocaban fallos
en los casos de nombres de usuario con representación unicode.
Corregido haciendo las funciones compatibles con unicode en \source\winapi\metafi32.c
Información sobre esto en el hilo del foro:
https://forums.fivetechsupport.com/view ... d8#p263231

* ADO (adofuncs.prg):
- Añadido soporte para la versión 16 de ACE.OLDBB
- Nueva función FW_AceVer()
Devuelve la versión instalada de ACE.OLEDB (12 o 16) y cero si no está instalada.

* Añadido el idioma neerlandés al soporte multilingüe de Excel (véase olefuncs.prg)

* Funciones de imágenes: (imgtxtio.prg)
- Mejoras: FW_ReadImage() y FW_DrawImage(). Si el parámetro bmp es mulo, leen la imagen desde
el portapapeles, si existe.
- Nueva función: FW_StitchImages( image1, [image2], [cSide], [cBlobType] ) --> NewImage
Si [image2] es nulo, se usa si existe la imagen del portapapeles.
[cSide] "R"/"B": Une hacia la derecha o hacia abajo. Si es omitidola función decide el mejor lado.
[cBlobType] Si se especifica, la imagen resultante es un blob del tipo especificado.
Si se omite, se devuelve hBitmap.

* TGet: Cuando se usa la cláusula @M, la tecla enter no salía de la función Get. Corregido.
https://forums.fivetechsupport.com/view ... e0bb0dfd09

* BtnBmp.prg: Mejorado el pintado de los botones deshabilitados.
https://forums.fivetechsupport.com/view ... 0cdf26182f

* XBROWSE:
- Al usar datas de objetos de columna en plural, antes de la creación de cualquier columna,
proporcionados tiempo de ejecución, produce un error de tiempo de ejecución cuando se llama a SetRDD()
(desde la versión 2307) antes de crear cualquier columna. Solucionado.
- Nuevo método: ToXlsx( cFileXlsx, aCols )
Algunos cambios hechos en la versión 2307 en SetRDD() no son compatibles con el estilo anterior de
creación de xbrowse y provocaban errores en tiempo de ejecución. Solucionado.
https://forums.fivetechsupport.com/view ... c27c3d4598
https://forums.fivetechsupport.com/view ... 98#p263266

* Nuevo: Ejemplo samples\xbrwpages.prg, muestra cómo combinar un xbrowse con un control TPages
que contiene objetos TScrollPanel. Muy interesante. No te lo pierdas!

* Mejora: En la función FW_MemoEdit( cJsonFile/text ), ahora se muestra en formato texto json.

* Mejora: En las funciones EnumWindows() y EnumChildWindows(), ahora soportan llamadas recursivas.

* Nuevo: Método Select() en la clase TTVItem, es equivalente a hacer oItem:oTree:Select( oItem ),
así que ahora puedes simplemente hacer oItem:Select()

* Mejora: DEFINE WINDOW ... SIZE nWidth, nHeight son soportados.

* Nuevo: Ejemplo samples\winexpl.prg, muestra cómo usar EnumChildWindows().

* Mejora: En XBrowse, ahora se puede especificar un fichero json cómo fuente de datos.

* XBrowser cfileJson / cFileXml

* Nuevo: Ejemplo amples\chart.prg, muestra una gráfica Google desde un control WebView.

* Nuevo: Ejemplo samples\copilot.prg, muestra cómo llamar a Windows Copilot desde nuestras aplicaciones FWH.

* Nuevo: Funciones WinUpper() y WinLower() contenedores para la API win32 CharUpper() y
CharLower() funcionan con codificaciones ANSI y UTF8.
Útil para caracteres con acento en el idioma WU, cómo diéresis.
Mientras TRANSFORM( cUtf8, "@!" ) no funciona, FW_TRANSFORM( cUtf8, "@!" ) funciona.

* Corrección: El ejemplo samples\testtray.prg funciona correctamenete con FWH 64 bits.

* Corrección: La función cValToChar( object ), devuelve nulo cuando object:cClassName es nulo. Solucionado.

* Nuevo: Ejemplo samples\diskexpl.prg, muestra cómo construir un árbol con las carpetas de una unidad utilizando la recursividad.

* Mejorado: La función FW_CopyToClipBoard(), usa GDI++ para copiar imágenes al portapapeles, lo que permite pegar
los comtenidos en Word, Excel, Whatsapp, etc.
Uso: FW_CopyToClipboard( hBitmap/imagebuffer ) o FWCopyToClipBoard( imagefilename, 2 )

* Nuevo: Ejemplo samples\dllexpl.prg, muestra cómo obtener las funciones exportadas de cualquier DLL.

* Modificado: Función cFilePath( cFile ). Se elimina la función Upper() porque es práctico para los usuarios de algunos idiomas.
https://forums.fivetechsupport.com/view ... b0d17e21d6

* FWMariaConnection:
Se ha mejorado la lógica de reconexión cuando la aplicación pierde la conexión con el servidor.
Nuevo data bOnLostServer: Si se especifica este codeblock, es llamado cuando la aplicación pierde la conexión con el servidor.

* Nuevo: Nueva función FolderExists( cFolder ) --> lExists

* LAS APLICACIONES NO UNICODE AHORA TAMBIÉN PUEDEN USAR LOS CONTROLES UNICODE SAY/GET PARA MOSTRAR Y EDITAR LA PRUEBA UTF8.
- @ r,c SAY ..... UNICODE
Nota: Incluso si no se especifica la cláusula UNICODE, si el mensaje inicial es utf8, se muestra como utf8.

- @ r,c GET ... CHRGROUP CHR_WIDE
Si se especifica la cláusula "CHRGROUP CHR_WIDE", el Get puede editar cualquier texto codificado en utf8.
El resultado del Get es un texto utf8.
Aunque no se especifique esta cláusula, si la variable de edición inicial es utf8, se asume esta cláusula.

- De la misma manera, en ua aplicación unicode, es decir, donde FW_SetUnicode( .T. ) es puesto a .T., ANSI Edit puede ser
forzado por el uso de la cláusula: @ r,c GET .... CHRGROUP CHR_ANSI

* CREAR DE FICHEROS XLSX SIN USAR LA APLICACION EXCEL.
Recientemente dos grandes librerias para crear archivos xlsx sin Excel han sido liberadas para su uso gratuito
por la comunidad de Harbour.

1. Libreria DrXlsx por Dr Charles Kwon.
Más información en: https://forums.fivetechsupport.com/view ... a1022d46e5
Enlace de descarga: http://www.charleskwon.com/?page_id=956
Manual: http://www.charleskwon.com/?page_id=956

2. xlxlib por Mr. John McNamara y Mr. Arturo Tamayo Daza
Más información en: https://forums.fivetechsupport.com/view ... a1022d46e5
Enlace de descarga: https://github.com/FiveTechSoft/FWH_too ... b_ver2.zip
John McNamara libxlsxwriter: https://github.com/jmcnamara/libxlsxwriter

- Cualquiera de estas bibliotecas o ambas se pueden descargar y vincular con la aplicación FWH. FWH además proporciona
clases contenedoras para estas bibliotecas para que sea más fácil usarlas.
Por favor revisa: \fwh\source\function\drxl.prg y \fwh\source\function\fwxlsxlb.prg
Para forzar estas clases, utilice
REQUEST DRXLSX
REQUEST XLXLIB
según sea el caso.
- Los usuarios interesados pueden descargar estas librerías en la carpeta \fwh\libs,
Los archivos BUILD??.BAT proporcionan los scripts de enlace,
Para utilizar estas librerías, elimine "rem " antes del script de enlace correspondiente.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
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 16 guests