New FTDN November/Noviembre (FWH 21.11)

New FTDN November/Noviembre (FWH 21.11)

Postby Antonio Linares » Tue Nov 30, 2021 7:19 am

July 2021 to November 2021
=====================================

* Enhancement: WindowsXP.Manifest64 has been updated to make it Windows 11 compatible.

* New: function FrameTiff( cTiffFileName ) converts multipage TIFF file into multiple JPGs.
Many thanks to Manuel Alvarez: viewtopic.php?p=243471#p243471
and Hakan Onemli: viewtopic.php?p=243513#p243513

* New: Class TTVItem Method Bold( lOnOff ) to set bold an item of a TTreeView.

* Class TArrayData (tarrdata.prg)
- Can assign a value to a field in all rows by
oData:cFieldNameS := <val>

* Fix: FWH\DLL\rc2dll64.bat has been updated to properly work with Microsoft Visual Studio Community

* New: Class TTreeView METHODs Len() and Count(). Class TTVItem METHODs Len() and Count().
Please review samples\pim.prg for an example to use these new methods.

* New: FWMARIADB:
New DATA lThrowError INIT .f.
If set to .T., any failed DML (INSERT,UPDATE,REPLACE,DELETE) operation
will raise a runtime error.
This applies to execution of any DML statements with method Execute()
or using methods Insert(...), Upsert(...) and Update(...)
This us provided to faclititate grouping of several DML statements/
methods inside TRY/CATCH block for Transactions.
Example Usage:
// --------
local lError := .f.
oCn:BeginTransaction()
oCn:lThrowError := .t.
TRY
oCn:Insert(....)
oCn:Update(...)
oCn:Execute( "INSERT ... " )
...
CATCH
lError := .t.
END
oCn:lThrowError := .f.
if lError
oCn:RollBack()
else
oCn:CommitTransaction()
endif
// --------
Re:http://www.fivetechsupport.com/forums/viewtopic.php?f=6&t=40836&sid=188a4f759724e9ee84fc14ac42ab4dd5

* Enhancement: Some minor changes in samples\buildh64.bat. Now we use x86_x64 instead of previous x86_amd64

* Enhancement: function FW_ProperCase( cStr ): Words with prefix
"Mc" are recognized for appropriate capitalization.

* New functions FW_TRIM,FW_RTRIM,FW_LTRIM,FW_ALLTRIM(cStr,[cTrimChars])
These functions trim not only spaces, but all control characters,
which include white-spaces like TABs, CRLF(EOL), EOF, EOpage, etc.
If an optional list of characters is provided in the second
parameter, these characters also are trimmed.

Eg:
cStr := CRLF + CHR(9) + "<<<*** GOOD ***>>>" + CRLF + CHR( 26 )
FW_AllTrim( cStr, "<>*" ) --> "GOOD"

* FWMARIADB:

- Method RowSet() was not accepting SQL queries starting with "WITH ".
Fixed.

- Method PivotArray( cTable, ... ) works well where cTable is a table,
view or a simple Sql query but failing with complex queries eg.,
contaiting UNION clause. Now cTable can be a complex query also.

* function MemoryBufferType() now recognizes DOC.PDF also.

* When CenterMsgs( .t. ) is set, now Alert and MsgGet() dialogs are also
centered in the default window/dialog.

* TDataRow(): Enhanced enabling/disabling behavior of save button
in default dialogs.

* samples\build.bat: added hbpcre.lib to link script to provide
support for regex.

* XBROWSE:
- Method Report(): Added new 7th param aCols. If specified,
only these columns are printed in the report.

* Fix: ButtonBar method Del( nPos ): The deleted button still
appears. Fixed.
http://forums.fivetechsupport.com/viewt ... 9088e15266

* Enhancement: function LogStack( [cLogFile] ). New optional
parameter cLogFile can be used to specify the log file.
By default, the function writes the log to "stack.txt"

* New: function SetFolderIcon( cFolder, cFileIco, [cInfoTip] )
--> lSuccess
Sets Icon to a folder, with optional InfoTip
http://forums.fivetechsupport.com/viewt ... 2078c6a776
Parameters:
1. cFolder: Name of the folder. Trailing '\' is optional.
Path can be full or relative.
If the folder does not exist, the folder is created.
2. cFileIco: Icon file or library of icons with full or
relative path. Accepted file types are ico,exe,dll,icl.
By default the first icon contained in the exe,dll,icl is
used. To use other icon, zero based index number of the
icon can be specified in parenthesis like this:
Eg:"c:\mypath\myapp.exe(2)". In this case, 3rd icon is
displayed/
3. [cInfoTip]; Optional. Displayed on mouse hover

* TMSGBAR
- New DATA nTimer: configure timer
- Added ( 64 bits ) when your app is build as 64 bits application

* New function SetSysColors( aItems, aRgbColors ) --> lSuccess
http://forums.fivetechsupport.com/viewt ... 9b28c0db17
Also read Windows documentation on GetSysColor(n) and
SetSysColors()
https://docs.microsoft.com/en-us/window ... etsyscolor
https://docs.microsoft.com/en-us/window ... tsyscolors

* New function FW_URLENCODE( cText ) --> urlencoded string
\source\function\str2hex.c

* New readonly DATA LastValidValue in TControl class: This data is
updated by all controls, when valid is executed.

* TControl (applies to all controls): Unhandled Ctrl-S key is forwarded
to the container window.

* datarow.prg: Pressing Ctrl-S in any control, saves data.

* memoedit.prg:
- Fix: Due to the changes made in version FWH2012,
the functions FW_MemoEdit( cText, .. ), RichEdit(...), RichEdit5(...)
were not displaying/editing RTF text. Fixed.

- Enhancement: In FW_MemoEdit(cText,...), RichEdit(),
RichEdit5() functions it is possible to specify a
filename instead of text.

- Enhancement: New methods class TRichEdit and TRichEdit5:
METHOD GetLangOptions()
METHOD SetLangOptions( lOnOff, nFlagSet )
regards, saludos

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

Re: New FTDN November/Noviembre (FWH 21.11)

Postby sysctrl2 » Tue Nov 30, 2021 9:18 pm

Gracias Antonio !
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 1022
Joined: Mon Feb 05, 2007 7:15 pm

Re: New FTDN November/Noviembre (FWH 21.11)

Postby Antonio Linares » Tue Nov 30, 2021 10:38 pm

Julio, Agosto, Septiembre 2021
==============================

* Mejora:Se ha actualizado WindowsXP.Manifest64 para hacerlo compatible con Windows 11.

* Nuevo: Nueva función FrameTiff( cTiffFileName ), convierte un fichero TIFF multipágina en
múltiples ficheros JPGs.
Muchas gracias a Manuel Alvarez: viewtopic.php?p=243471#p243471
Muchas gracias a Hakan Onemli: viewtopic.php?p=243513#p243513

* Nuevo: Nuevo método Bold( lOnOff ) en la clase TTVItem, para poner en negrita un item de un TTreeView.

* Clase TArrayData (tarrdata.prg)
- Puede asignar un valor a un campo en todas las filas mediante oData:cFieldNameS := <val>

* Corrección: FWH\DLL\rc2dll64.bat ha sido actualizado para poder usarlo con Microsoft Visual Studio Community.

* Nuevo: Nuevo métodos Len() y Count() en las clases TTreeView y TTVItem.
Por favor, revisa samples\pim.prg para un ejemplo de uso de estos nuevos métodos.

* Nuevo: FWMARIADB:
Nueva DATA lThrowError INIT .f.
Si es puesto a .T., cualquier opración DML (INSERT,UPDATE,REPLACE,DELETE) generará un error en tiempo de ejecución.
Esto se aplica a la ejecución de cualquier declaración DML con el método Execute () o utilizando los métodos
Insert (...), Upsert (...) y Update (...)
Esto lo proporcionamos para facilitar la agrupación de varias declaraciones / métodos DML dentro del bloque
TRY / CATCH para transacciones.
Ejemplo de uso:
// --------
local lError := .f.
oCn:BeginTransaction()
oCn:lThrowError := .t.
TRY
oCn:Insert(....)
oCn:Update(...)
oCn:Execute( "INSERT ... " )
...
CATCH
lError := .t.
END
oCn:lThrowError := .f.
if lError
oCn:RollBack()
else
oCn:CommitTransaction()
endif
// --------
http://www.fivetechsupport.com/forums/v ... ac42ab4dd5

* Mejora: Algunos pequeños cambios en samples\buildh64.bat. Ahora usamos x86_x64 en lugar de la versión
previa x86_amd64.

* Mejora: Función FW_ProperCase( cStr )
Las palabras con el prefijo "Mc" se reconocen por su uso apropiado en mayúsculas.

* Nuevas funciones FW_TRIM,FW_RTRIM,FW_LTRIM,FW_ALLTRIM(cStr,[cTrimChars])
Estas funciones recortan no solo los espacios, sino todos los caracteres de control, que incluyen espacios
en blanco como TAB, CRLF (EOL), EOF, EOpage, etc.
Si se proporciona una lista opcional de caracteres en el segundo parámetro, estos caracteres también se
recortan.
Ejemplo:
cStr := CRLF + CHR(9) + "<<<*** GOOD ***>>>" + CRLF + CHR( 26 )
FW_AllTrim( cStr, "<>*" ) --> "GOOD"


* FWMARIADB:

- Método RowSet() no aceptaba consultas SQL que comenzasen con "WITH".
Solucionado.

- Método PivotArray( cTable, ... ) funciona bien donde cTable es una tabla, vista o una consulta SQL simple
pero falla con consultas complejas, por ejemplo, conteniendo la cláusula UNION. Ahora cTable también puede ser
una consulta compleja.

* La función MemoryBufferType() ahora reconoce también ficheros DOC,PDF.

* Cuando se establece CenterMsgs( .T. ), ahora lod diálogos de las funciones Alert() y MsgGet() también se
centran por defecto.

* TDataRow(): Comportamiento de activación/desactivación mejorado del botón "Guardar" en los cuadros de diálogo
predeterminados.

* samples\build.bat: Se ha añadido la librería hbpcre.lib al script de enlazado para proporcionar soporte a las
expresiones regulares.

* XBROWSE:

- Método Report(): Se ha añadido un nuevo parámetro (séptimo) aCols. Si es especificado sólo estas columnas son
impresas en el informe.

* Corrección: En el método Del( nPos ) de la clase ButtonBar. El botón borrado todavía aparecía. Solucionado.
http://forums.fivetechsupport.com/viewt ... 9088e15266

* Mejora: En la función LogStack( [cLogFile] ). Nuevo parámetro opcional "cLogFile" puede ser usado para especificar
el fichero de log.
Por defecto, la función escribe el log en el fichero "stack.log".

* Nuevo: Nueva función SetFolderIcon( cFolder, cFileIco, [cInfoTip] ) --> lSuccess
Establece un icono a una carpeta, con el parámetro cInfoTip "Tooltip" como opcional.
http://forums.fivetechsupport.com/viewt ... 2078c6a776
Parámetros:
1. cFolder: Nombre de la carpeta. El "\" final es opcional. La ruta puede ser absoluta o relativa.
Si la carpeta no existe, esta se creará.
2. cFileIco: Archivo de iconos o biblioteca de iconos con ruta completa o relativa. Los tipos
de archivos aceptados son ico, exe, dll, icl.
De forma predeterminada, se utiliza el primer icono contenido en el exe, dll, icl. Para usar otro icono, el número
de índice (comienza con 0) se puede especificar entre paréntesis de la siguiente manera:
Ejemplo: "c:\mypath\myapp.exe(2)". En este caso, el tercer icono es mostrado.
3. [cInfoTip]: Opcional. Se muestra al pasar el puntero del ratón por encima.

* TMSGBAR

- Nueva DATA nTimer: Configurar el desconfigurador.
- Añadido ( 64 bits ) cuando tu aplicación se construye como una aplicación de 64 bits.

* Nueva función SetSysColors( aItems, aRgbColors ) --> lSuccess

http://forums.fivetechsupport.com/viewt ... 9b28c0db17

Es recomendable leer la documentación de Windows sobre las funciones GetSysColor(n) y SetSysColors().

https://docs.microsoft.com/en-us/window ... etsyscolor
https://docs.microsoft.com/en-us/window ... tsyscolors

* Nueva función FW_URLENCODE( cText ) --> cadena codificada
Fuente en: \source\function\str2hex.c

* Nueva DATA de sólo lectura LastValidValue en la clase TControl.
Esta DATA es actualizada por todos los controles, cuando la claúsula VALID es ejecutada.

* TControl (se aplica a todos los controles): la tecla Ctrl-S no controlada se reenvía a la ventana contenedora.

* datarow.prg: Pulsando Ctrl-S en cualquier controlador, guarda los datos.

* memoedit.prg:

- Corrección: Debido a los cambios realizados en la versión FWH20.12, las funciones FW_MemoEdit( cText, .. ),
RichEdit(...), RichEdit5(...) no mostraban/editaban texto RTF. Solucionado.

- Mejora: En las funciones FW_MemoEdit(cText,...), RichEdit(), RichEdit5() es posible especificar un nombre de fichero
en lugar de texto.

- Mejora: Nuevos métodos en las clases TRichEdit y TRichEdit5:

METHOD GetLangOptions()
METHOD SetLangOptions( lOnOff, nFlagSet )
regards, saludos

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