FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index WhatsNew / Novedades New FTDN April/Abril 2023 (FWH 23.04)
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
New FTDN April/Abril 2023 (FWH 23.04)
Posted: Tue May 02, 2023 07:08 AM
January to April 2023
======================

* FWMariaConnection:
- Method QueryResult( cSql ) enhanced to
QueryResult( cSql, [aParams] )

* New Function JsonView( cJsonText/File, [cTitle] )

* function FW_CopyToClipBoard( uValue, [nFormat] ) --> lSucess
now supports UTF8 text also.

* Fix: function GetProfString() was causing a GPF in Windows 7 if compiled using Visual C 2022.
https://forums.fivetechsupport.com/viewtopic.php?p=258683#p258683
Many thanks to Giovany for the finding and to Enrico for testing it.

* New: new 'slide to unlock' example using a ButtonBar and a button, samples\slide.prg

* Fix: samples\buildg.bat and buildg64.bat were missing -lws2_32 -liphlpapi. Included and
now working fine.

* New: samples\chatgpt.prg allows you to use chatGPT from FWH apps. You need to get an OpenAI key
and copy inside chatgpt.prg. Many thanks to Carlos Gallego!

* New: samples\phind.prg allows you to use the www.phind.com AI unofficial API from your FWH apps.
Users don't need to register, neither you, neither you need to get a key like OpenAI. Totally free.
Many thanks to Carlos Gallego, Charly, Cristobal, Giorgio, etc. These are great news! Soon we
plan to provide more AI power from FWH in the autoGPT way of work. Edited: phind.com API is
discontinued for now.

* New: samples\autogpt.prg is an extension of great chatgpt.prg example from Carlos Gallego.
This example shows how to keep a context when using OpenAI and also implements a Class TOpenAI
that you can use from your FWH apps.

* New: Class TWindow METHODs RegisterDragDrop() and RevokeDragDrop(). They allow you to drop
images and text from the Web browser and other apps. Please review samples\imgdrop.prg for a
working example.

* New: samples\barchange.prg, developed by Cristobal Navarro, shows how to replace the buttons of
a ButtonBar.

* Enhanced: function FW_AReverse( aArray, [nStart], [nCount] )
--> aReversed.
Using the newly added optional parameters nStart and nCount,
it is possible to restrict the range of reversal. The original
array is not disturbed.

* Enhanced: FW_ASort( aArray, [nStart], [nCount], [bBlock/naCols] )
for multi-column sort.
4th Parameter:
-nil/codeblock: functionality is exactly same as ASort(...)
-nColNo: Sortede on nColNo asc if +ve and desc if -ve.
-aCols: Array of column numbers or codeblocks. Multi-column
sort is performed on the column numbers in the array. Asc if
the number is +ve and desc if -ve.
If any element of the array is codeblock, the comarison is made
{ |x,y| Eval( b,x ) < Eval( b, y ) }
All string comparisons are case insensitive and values of
different datatypes are sorted on the type.

* New: function FW_GetClipboardData( [[@]Format] ) --> uData
Similar to FW_CopyToClipboard(...), this function can be
used to get data from clipboard without opening and closing
clipboard within the application. This single line function
saves much coding.
If nFormat is specified, data of that format is obtained.
If the param is ommited or nil, data of availabe format is
obtained. If @nFormat is passed by ref and nFormat is nil,
the format is returned in this parameter.

* New: FW_ImageToBlob( [npImage], [cType], [nJpgQuality], ;
[lAlpha], [nClrBack], [nWidth], [nHeight] ) ;
--> cBlob
- 1.npImage: Optional. hBitmap or GDI+ image pointer
If nil, defaults to hBitmap from Clipboard, if available.
- 2.cType: Optional. Can be bmp,jpg/jpeg,png,tif/tiff,gif.
Defaults to bmp.
- Other parms are self explantary. Note: nClrBack is not
used in this version.
This function is intended to covert hBitmap/pImage, mostly
obtained from clipboard, for assigning to MEMO/BLOB fields.

* TGET:
- While editing Date and DateTime variables, following keys
have this functionality:
"=" Assigns Current Date
" " Assigns Blank date
"+" Increments the get by one day/month/year/hour,etc
depending on the position of the cursor
"-" Decrements the date as above.
This feature can be disabled or enabled by assigning
classdata TGet():nDateKey := 0 or 2

* XBROWSE:

- Autosort of array browse was sorting on a single column only.
Now it is possible to specify multi-column sort by assigning
an array of column numbers to oCol:cSortOrder.

- SeekNext: In case of Incremental seek normal and wildseek,
it is now possible to go to next row with the same seek value
by pressing F3 key.
Now implemented for arrays, DBF, TDatabase, all ADO databases
and FW MariaDB rowsets only.

- Sorting on Computed columns: It is now possible to sort on
computed columns also for all datasources. For this,
Set oCol:lSortVisible := .t.
Supports incremetal seek, wildseek and seeknext.
Note: Incremental filters are not supported yet.

- function HashTree( hHash ) --> oTree enhanced. Now can
handle nested arrays of hashes also.

- New METHOD ToArray( [aCols] ) --> aData

- oCol:aDataFonts, aClrText, used for multiline text can
now be codeblocks also.

* new function MergeDocs( cDest, aMergeDocs, [lShow] ) --> cDest
cDest: Merged Doc name. Can be docx or pdf
aMergeDocs: Can be doc,docx,rtf,pdf,text,bmp,jpg,png
Known Issues: works in portrait mode only

* New: print commands:
OPEN PRINT_QUEUE [<prevw: PREVIEW>] [[TO] FILE <cFile>]
//
CLOSE PRINT_QUEUE [<prevw: PREVIEW>] [[TO] FILE <cFile>]

Outputs of all PRINT and REPORT commands in between OPEN
and CLOSE commands are treated as a single document and
displayed in a single Preview and saved as a single document.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: New FTDN April/Abril 2023 (FWH 23.04)
Posted: Thu May 04, 2023 06:37 AM
De Enero a Abril de 2023
========================

* FWMariaConnection:

- M茅todo QueryResult( cSql ) mejorado a QueryResult( cSql, [aParams] )

* Nueva funci贸n JsonView( cJsonText/File, [cTitle] )

* La funci贸n FW_CopyToClipBoard( uValue, [nFormat] ) --> lSucess
Ahora tambi茅n soporta texto UTF8.

* Correcci贸n: la funci贸n GetProfString() causaba un GPF en Windows 7 si se compilaba con Visual C 2022.
https://forums.fivetechsupport.com/viewtopic.php?p=258683#p258683
Muchas gracias a Giovany por el hallazgo y a Enrico por probarlo.

* Nuevo: Ejemplo de 'deslizar para desbloquear' usando una ButtonBar y un bot贸n.
El ejemplo lo puedes encontrar en samples\slide.prg

* Correcci贸n: Los ficheros por lotes samples\buildg.bat y buildg64.bat carec铆an de los par谩metros -lws2_32 -liphlpapi.
Incluidos y ahora funcionan bien.

* Nuevo: Nuevo ejemplo samples\chatgpt.prg, permite usar chatGPT desde aplicaciones FWH. Es necesario obtener una clave
OpenAI y copiarla dentro de chatgpt.prg. 隆Muchas gracias a Carlos Gallego!

* Nuevo: Nuevo ejemplo samples\phind.prg, permite usar la API no oficial de https://www.phind.com/ AI desde tus aplicaciones FWH.
Los usuarios no necesitan registrarse, ni tu, ni necesitas conseguir una clave como OpenAI. Totalmente gratis.
Muchas gracias a Carlos Gallego, Charly, Cristobal, Giorgio, etc. 隆Son grandes noticias! Pronto
planeamos proporcionar m谩s potencia de IA desde FWH en el modo de trabajo autoGPT. Editado: phind.com API est谩
descontinuada por ahora.

* Nuevo: Nuevo ejemplo samples\autogpt.prg es una extensi贸n del gran ejemplo chatgpt.prg de Carlos Gallego.
Este ejemplo muestra c贸mo mantener un contexto cuando se utiliza OpenAI y tambi茅n implementa una clase TOpenAI
que puedes usar desde tus aplicaciones FWH.

* Nuevo: Nuevos m茅todos de la clase TWindow RegisterDragDrop() y RevokeDragDrop(). Permiten soltar im谩genes y texto
desde el navegador web y otras aplicaciones. Por favor revise samples\imgdrop.prg para un ejemplo pr谩ctico.

* Nuevo: Nuevo ejemplo samples\barchange.prg, desarrollado por Crist贸bal Navarro, muestra c贸mo reemplazar los botones de una ButtonBar.

* Mejorado: Se ha mejorado la funci贸n FW_AReverse( aArray, [nStart], [nCount] ) --> aReversed.
Usando los nuevos par谩metros opcionales nStart y nCount, es posible restringir el rango de inversi贸n. El array original no se altera.

* Mejorado: Se ha mejorado la funci贸n FW_ASort( aArray, [nStart], [nCount], [bBlock/naCols] ) para la ordenaci贸n multicolumna.
4潞 Par谩metro:
-nil/codeblock: la funcionalidad es exactamente la misma que ASort(...)
-nColNo: Ordena en nColNo ascendente si +ve y descendente si -ve.
-aCols: Matriz de n煤meros de columna o codeblocks. Ordenaci贸n multicolumna se realiza sobre los n煤meros de columna de la matriz. Ascendente si
el n煤mero es +ve y desc si es -ve.
Si alg煤n elemento del array es codeblock, se realiza la comparaci贸n { |x,y| Eval( b,x ) < Eval( b, y ) }
Todas las comparaciones de cadenas son insensibles a may煤sculas y min煤sculas y los valores de diferentes tipos de datos se ordenan seg煤n el tipo.

* Nuevo: Nueva funci贸n FW_GetClipboardData( [[@]Format] ) --> uData
Similar a FW_CopyToClipboard(...), esta funci贸n puede ser para obtener datos del portapapeles sin abrir y cerrar el portapapeles dentro de la aplicaci贸n.
Esta funci贸n de una sola l铆nea ahorra mucho c贸digo.
Si se especifica nFormat, se obtienen los datos de ese formato.
Si el par谩metro se omite o es nulo, se obtienen los datos del formato disponible.
Si @nFormat se pasa por ref y nFormat es nulo, el formato se devuelve en este par谩metro.

* Nuevo: Nueva funci贸n FW_ImageToBlob( [npImage], [cType], [nJpgQuality], ;
[lAlpha], [nClrBack], [nWidth], [nHeight] ) ;
--> cBlob
- 1. npImage: Opcional. hBitmap o puntero de imagen GDI+.
Si es nulo, por defecto hBitmap desde el portapapeles, si est谩 disponible.
- 2. cType: Opcional. Puede ser bmp,jpg/jpeg,png,tif/tiff,gif.
Por defecto es bmp.
- Los dem谩s par谩metros son autoexplicativos. Nota: nClrBack no se utiliza en esta versi贸n.
Esta funci贸n est谩 destinada a cubrir hBitmap/pImage, en su mayor铆a obtenidas del portapapeles, para asignarlas a campos MEMO/BLOB.

* TGET:
- Durante la edici贸n de variables Date y DateTime, las siguientes teclas tienen esta funcionalidad:
"=" Asigna la Fecha Actual
" " Asigna la fecha en blanco
"+" Incrementa el get en un d铆a/mes/a帽o/hora,etc dependiendo de la posici贸n del cursor
"-" Disminuye la fecha como en el caso anterior.
Esta funci贸n puede desactivarse o activarse asignando a la classdata TGet():nClaveFecha := 0 o 2

* XBROWSE:

- La ordenaci贸n autom谩tica de la matriz se basaba en una sola columna. Ahora es posible especificar la ordenaci贸n en varias columnas asignando
una matriz de n煤meros de columna a oCol:cSortOrder.

- SeekNext: En caso de b煤squeda incremental normal y b煤squeda ampliada, ahora es posible ir a la siguiente fila con el mismo valor de b煤squeda
pulsando la tecla F3.
Ahora implementado para matrices, DBF, TDatabase, todas las bases de datos ADO y conjunto de filas de FW MariaDB solamente.

- Ordenaci贸n de columnas calculadas: Ahora es posible ordenar columnas calculadas tambi茅n para todas las fuentes de datos. Para ello,
establezca oCol:lSortVisible := .T.
Soporta b煤squeda incremental, b煤squeda ampliada y b煤squeda siguiente.
Nota: Los filtros incrementales a煤n no est谩n soportados.

- Se ha mejorado la funci贸n HashTree( hHash ) --> oTree. Ahora puede manejar matrices anidadas de hashes tambi茅n.

- Nuevo m茅todo ToArray( [aCols] ) --> aData

- oCol:aDataFonts, aClrText, usados para texto multil铆nea ahora pueden ser tambi茅n bloques de c贸digo.

* Nueva funci贸n MergeDocs( cDest, aMergeDocs, [lShow] ) --> cDest
cDest: Nombre del documento fusionado. Puede ser docx o pdf
aMergeDocs: Puede ser doc,docx,rtf,pdf,text,bmp,jpg,png
Problemas conocidos: s贸lo funciona en modo vertical

* Nuevo: Comandos de impresi贸n:
OPEN PRINT_QUEUE [<prevw: PREVIEW>] [[TO] FILE <cFile>]
//
CLOSE PRINT_QUEUE [<prevw: PREVIEW>] [[TO] FILE <cFile>]

Las salidas de todos los comandos PRINT y REPORT entre los comandos OPEN y CLOSE se tratan como un 煤nico documento y se muestran en una 煤nica
vista previa y se guardan como un 煤nico documento.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Re: New FTDN April/Abril 2023 (FWH 23.04)
Posted: Sun Aug 20, 2023 01:16 PM
Donde puedo ver un ejemplo de esto:
* Mejorado: Se ha mejorado la funci贸n FW_ASort( aArray, [nStart], [nCount], [bBlock/naCols] ) para la ordenaci贸n multicolumna.
4潞 Par谩metro:
-nil/codeblock: la funcionalidad es exactamente la misma que ASort(...)
-nColNo: Ordena en nColNo ascendente si +ve y descendente si -ve.
-aCols: Matriz de n煤meros de columna o codeblocks. Ordenaci贸n multicolumna se realiza sobre los n煤meros de columna de la matriz. Ascendente si
el n煤mero es +ve y desc si es -ve.
Si alg煤n elemento del array es codeblock, se realiza la comparaci贸n { |x,y| Eval( b,x ) < Eval( b, y ) }
Todas las comparaciones de cadenas son insensibles a may煤sculas y min煤sculas y los valores de diferentes tipos de datos se ordenan seg煤n el tipo.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: New FTDN April/Abril 2023 (FWH 23.04)
Posted: Sun Aug 20, 2023 03:47 PM

Estimado Gustavo,

Te estamos preparando un ejemplo

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Re: New FTDN April/Abril 2023 (FWH 23.04)
Posted: Sun Aug 20, 2023 06:20 PM

Grazie!

FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/

Continue the discussion