New FTDN April 2024 (FWH 24.04)

New FTDN April 2024 (FWH 24.04)

Postby Antonio Linares » Wed Apr 24, 2024 7:14 am

March-April 2024
================

* New: Support for local AI LLM (large language models) using llama.cpp that has been included in FWH.
Please review samples\llm.prg. In order to test it you have to download tinyLlama.gguf from here:
https://huggingface.co/fivetech/tinyLla ... Llama.gguf. This technology only works in
64 bits and for now we just support MSVC64, so you have to use buildh64.bat to test it.

* New: Support for local AI image recognition using llava.cpp that has been included in FWH.
Please review samples\llava.prg. In order to test it you have to download these LLM models:
https://huggingface.co/jartine/llava-v1 ... -Q4_K.gguf
https://huggingface.co/jartine/llava-v1 ... j-f16.gguf
This technology only works in 64 bits and for now we just support MSVC64, so you have to use
buildh64.bat to test it.

* New: samples\getclr.prg shows how to set the disable colors and focus colors for both GETs and
MultilineGets using the same code.

* New: samples\listen.prg allows you to talk to your FWH app instead of having to use the keyboard!

* New: samples\metribbon.rg from C├®sar Gomez. A great example for combining a RibbonBar and a
metro panel style. Many thanks C├®sar!

* New: function FW_FolderChanged( cFolderPath ) --> { nDay, nMonth, nYear, nHours, nMinutes, nSeconds }
Please review new example FWH\samples\fldchanged.prg

* Enhancement: Class TExplorerBar Method Update( nPos ) updates the nPos oPanel used from the TExplorerBar
after the panel has been modified. Class TTaskPanel Method ChangeHeight( nHeight ) changes the height
of the panel. Thanks to Silvio Falconi!

* Enhancement: We have restored the call to Method Resize() from Class TWindow Method Activate() but
providing it the right parameters. Now it is working as expected.

* FWMariaConnection:
- New method Record( cTable, [cWhere] ) --> Record Object
using the new FWMariaRecord class (source\classes\mariarec.prg)
derived from tDataRow class.

This enables editing a single existing record or a new record and
saving to a table without having to open RowSet object, thus saving
time.

Usage:
oCustRec := oCn:Record( "customer" ) // creates a blank record
oCustRec:Edit() // edit and save (append) a new record
oCustRec:Blank() // load another blank record
oCustRec:Edit()
//
oStatesRec := oCn:Record( "states", "code='WA'" ) // one existing record
oStatesRec:Edit() // modify and save the existing record

- Methods CreateTable() and ImportFromDBF() used to create DateTime and
TimeStamp fields without support for fraction of seconds. Now support
fraction of seconds milliseconds.

- Improved support for Restoring large tables

* FWMariaRowSet class
- Fix in SetFilter()
a) when filter condition contains "<a> like '%abc'" is treated
same as '%abc%'. Fixed
b) Filter is failing when the like condition contains chars like
"-", "/", etc. Fixed


* TArrayData class ( source\classes\tarrdata.prg )
Bug fixes: relating to use of PValue() in xHarbour

* TEdit control:
New DATA lReadOnly: lReadOnly can be toggled during runtime also.

* function RoundBox() new 11th parameter nPenStyle, default PS_SOLID
Syntax:
RoundBox( hDC, nLeft, nTop, nRight, nBottom, ;
nRound1, nRound2, nPenColor, nPenSize, ;
nFillColor, nPenStyle )

* BtnBmp: Alpha Color support
Support for alpha color backgrounds.
- bClrGrad can now have any combination of alpha and solid colors
and thereby making it possible to have translucent backgrounds
- SetColor( nTextClr, nClrPane, oBrush ): nClrPane can now be
either alpha color or solid color

* BtnBmp: FLAT Style:
Flat style was introduce to mainly support solid colors.
While it is possible to use Gradient background also,
other styles are better suited for gradients.

- Now, flat style buttons also have alpha color support, like
other styles.

- While focusrect is drawn for othe styles using Windows API
function DrawFocusRect( hDC, rect ) (user has no choice of
colors), for flat style buttons FocusRect is drawn using
FWH function RoundBox() using TextColor to provide better
contrast.
- From this version, new DATAs are added to enable the programmer
to customize the appearance of the focus rect using different
colors and penstyles.
- New DATA nClrFocusRect. Programmer can use any solid color for
drawing the focusrect.
If the value -1 is assigned, Windows API function DrawFocusRect()
is used like other styles of btnbmp.
- New DATA nPenFocusRect: DEFAULT PS_SOLID. Programmer can assign
other styles like PS_DASH,PS_DOT,PS_DASHDOT, etc of his choice.
- New DATA nDeepFocusRect: DEFAULT 5 pixels. How deep the focusrect
is to be drawn inside the button.

* XBrowse:
- When ::lDrawBorder is .t., border was not being drawn on right and
bottom if VScroll and HScroll are visible. Fixed now.
Now, the border is drawn one pixel outside the browse control.
- New: If ::lDrawBorderIn is set to .t., the border is drawn inside
the browse control and also inside the VScroll and HScroll.
- nClrBorder: This can be a solid color or oPen (pen object) or
hPen (pen handle). If a Pen is used, the resource should be
released by the programmer after ending the browse.
- Fix: When own buttonbar is used, header-click fails to sort on
the column. Fixed
viewtopic.php?f=3&p=269418&sid=c37ba41f76455848d6fa4810ba2938bd#p269418


* AdoFuncs: (source\function\adofuncs.prg)
- New: function FW_OnAdoError( lShowError, lcLogError, bOnErr )
Some ado functions display encountered errors. This can
be prevented using this function, so that he can
handle the error on his own.
Params:
1.lShowError [.T./.F.] default .t.
2.lcLogError [.T./.F./cLogFile] default .f. If .t., the errors
are logged to <exename>.log. If cLogFile is specified errors
are logged to the specified file.
3. bOnErr: If specified, this codeblock is evaluated with
params |oCn, oErr, e, GetPrcLn( 1 )|
- New: function FW_GetAdoError( oCn ) --> oAdoErr
Returns Ado Error and then clears the error.
- Enhanced: function FW_ShowAdoError( oCn, [lSilent = .f.], [er] )
The function displays (if not silent) and/or logs error
and/or evaluates bOnError set earlier and clears the error
Returns oAdoError
- Enhanced: function Fw_OpenAdoConnection( ;
cConnStr, [lShowError], [@oErr], [nTimeOut] )

* fwxlsxlb.prg: fixed format while exporting datetime values with
fraction of seconds. Also increased column size to fit the
contents.

* FWMariaRowSet:
- Method ToExcel(): (1) Enclosed :FreezePanes in TRY/CATCH block
to avoid runtime errors in some installtions.
(2) Date and DateTime values are exported as character data
when the Year is < 1900 to avoid loss of data and errors on export.
regards, saludos

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

Re: New FTDN April 2024 (FWH 24.04)

Postby Antonio Linares » Wed May 01, 2024 7:04 pm

Marzo-Abril 2024
================

* Nuevo: Soporte para Inteligencia Artificial local de LLM (modelos grandes de lenguaje) usando
llama.cpp que ha sido incluido en FWH.
Por favor, revisa samples\llm.prg. Para probarlo tienes que descargar tinyLlama.gguf desde aquí:
https://huggingface.co/fivetech/tinyLla ... Llama.gguf. Esta tecnología sólo funciona
en 64 bits y por ahora sólo soportamos MSVC64, así que tienes que usar buildh64.bat para probarlo.

* Nuevo: Soporte para el reconocimiento local de imágenes usando Inteligencia Artificial usando
llava.cpp que ha sido incluido en FWH.
Por favor, revisa samples\llava.prg. Para probarlo tienes que descargar estos modelos LLM:
https://huggingface.co/jartine/llava-v1 ... -Q4_K.gguf
https://huggingface.co/jartine/llava-v1 ... j-f16.gguf
Esta tecnología sólo funciona en 64 bits y por ahora sólo soportamos MSVC64, así que tienes que usar
buildh64.bat para probarlo.

* Nuevo: samples\getclr.prg. Muestra cómo establecer los colores de desactivación y de enfoque tanto
para GETs como para MultilineGets (GETs multilínea) utilizando el mismo código.

* Nuevo: samples\listen.prg. Te permite hablar (disctar) a tu aplicación FWH en lugar de tener que
usar el teclado.

* Nuevo: samples\metribbon.prg por César Gómerz. Un gran ejemplo de combinación de una RibbonBar y un
estilo de panel de metro. Muchas gracias César !!!

* Nuevo: Nueva función FW_FolderChanged( cFolderPath ) --> { nDay, nMonth, nYear, nHours, nMinutes, nSeconds }
Por favor, revisa nuevo ejemplo en FWH\samples\fldchanged.prg

* Mejora: En el método Update( Pos ) de la clase TExplorerBar, actualiza el nPos del objeto oPanel utilizado
desde TExplorerBar después de que el panel haya sido modificado. Clase TTaskPanel el método ChangeHeight( nHeight )
cambia la altura del panel. Gracias a Silvio Falconi !!!

* Mejora: Hemos restaurado la llamada al método Resize() desde el método Activate() de la clase TWindow
pero con los parámetros correctos. Ahora funciona como se esperaba.

* FWMariaConnection:
- Nuevo: Nuevo método Record( cTable, [cWhere] ) --> Record Object
utilizando la nueva clase FWMariaRecord (source\classes\mariarec.prg) derivada de la clase TDataRow.

Esto permite editar un único registro existente o un nuevo registro y guardar en una tabla sin tener
que abrir el objeto RowSet, lo que ahorra tiempo.

Uso:
oCustRec := oCn:Record( "customer" ) // crea un registo en blanco
oCustRec:Edit() // edita y guarda (añade) un nuevo registro
oCustRec:Blank() // carga otro registro en blanco
oCustRec:Edit()
//
oStatesRec := oCn:Record( "states", "code='WA'" ) // un registro existente
oStatesRec:Edit() // modifica y guarda el registro existente

- Métodos CreateTable() e ImportFromDBF() utilizados para crear campos DateTime y TimeStamp sin soporte
para fracciones de segundos. Ahora admite fracciones de segundos, milisegundos.

- Soporte mejorado para restaurar tablas grandes

* Clase FWMariaRowSet
- Corrección en SetFilter()
a) Cuando la condición del filtro contiene "<a> like '%abc'" se trata como '%abc%'. Solucionado.
b) El filtro falla cuando la condición "like" contiene caracteres como "-", "/", etc. Solucionado.

* Clase TArrayData ( source\classes\tarrdata.prg )
Corrección de errores: relacionados con el uso de PValue() en xHarbour.

* Control TEdit:
Nueva DATA lReadOnly: lReadOnly también se puede activar en tiempo de ejecución.

* Función RoundBox() nuevo undecimo parámetro nPenStyle, por defecto PS_SOLID.
Sintaxis:

RoundBox( hDC, nLeft, nTop, nRight, nBottom, ;
nRound1, nRound2, nPenColor, nPenSize, ;
nFillColor, nPenStyle )

* BtnBmp: Soporte de color Alfa.
Soporte para fondos de color alfa.
- bClrGrad ahora puede tener cualquier combinación de colores alfa y sólidos
por lo que es posible tener fondos translúcidos.
- SetColor( nTextClr, nClrPane, oBrush ): nClrPane ahora puede ser de color
alfa o de color sólido.

* BtnBmp: Estilo FLAT:
El estilo plano se introdujo principalmente para colores sólidos.
Aunque también es posible utilizar el fondo degradado, otros estilos
son más adecuados para los degradados.

- Ahora, los botones de estilo plano también tienen soporte de color alfa,
como otros estilos.

- Mientras que para otros estilos el enfoque recto se dibuja utilizando la
función DrawFocusRect( hDC, rect ) del API de Windows (el usuario no tiene
elección de colores), para los botones de estilo plano FocusRect se dibuja
utilizando la función RoundBox() de FWH, utilizando TextColor para proporcionar
un mejor contraste.

- A partir de esta versión, se agregan nuevos DATAs para permitir al programador
personalizar la apariencia del enfoque recto usando diferentes colores y
estilos de pluma.

- Nueva DATA nClrFocusRect. El programador puede utilizar cualquier color sólido
para dibujar el enfoque recto.
Si se asigna el valor -1, la función DrawFocusRect() del API de Windows se utiliza
como otros estilos de BtnBmp.

- Nueva DATA nPenFocusRect: Por defecto PS_SOLID. El programador puede asignar otros
estilos como PS_DASH, PS_DOT, PS_DASHDOT, etc de su elección.

- Nueva DATA nDeepFocusRect: Por defecto 5 píxeles . La profundidad del enfoque recto
se dibujará dentro del botón.

* XBrowse:
- Cuando ::lDrawBorder es .T., el borde no se dibujaba en la parte derecha e inferior
si VScroll y HScroll son visibles. Solucionado ahora.
Ahora, el borde se dibuja un píxel fuera del control de navegación (Browse).

- Nuevo: Si ::lDrawBorderIn es igual a .T., el borde se dibuja dentro del control de
navegación (Browse) y también dentro de los controles VScroll y HScroll.

- nClrBorder: Puede ser un color sólido u oPen (objeto lápiz) o hPen (manejador de lápiz).
Si se utiliza un lápiz, el recurso debe ser liberado por el programador tras finalizar
la navegación (Browse).

- Corrección: Cuando se utiliza una barra de botones propia, al hacer clic en el encabezado
no se ordena la columna. Solucionado.
https://forums.fivetechsupport.com/view ... bd#p269418

* AdoFuncs: (source\function\adofuncs.prg)
- Nueva: Función FW_OnAdoError( lShowError, lcLogError, bOnErr )
Algunas funciones de ADO muestran errores encontrados. Esto se puede evitar usando esta
función, para que pueda manejar el error por su cuenta.

Parámetros:
1. lShowError [.T./.F.], por defecto .T.
2. lcLogError [.T./.F./cLogFile], por defecto .F.
Si es .T., los errores se registran en <exename>.log. Si se especifica cLogFile los
errores se registran en el archivo especificado.
3. bOnErr: Si se especifica, este bloque de código se evalúa con los parámetros |oCn, oErr, e, GetPrcLn( 1 )|

- Nueva: Función FW_GetAdoError( oCn ) --> oAdoErr
Devuelve el error ADO y luego borra el error.

- Mejora: Función FW_ShowAdoError( oCn, [lSilent = .f.], [er] )
La función muestra (si no es silenciada) y/o registra el error y/o evalúa bOnError establecido
anteriormente y borra el error. Devuelve oAdoError

- Mejora: Función Fw_OpenAdoConnection( ;
cConnStr, [lShowError], [@oErr], [nTimeOut] )

* fwxlsxlb.prg: Corregido el formato al exportar valores datetime con fracciones de segundo.
También se ha aumentado el tamaño de las columnas para ajustar el contenido.

* FWMariaRowSet:
- Método ToExcel():
(1) Adjuntado: Paneles congelados en el bloque TRY/CATCH para evitar errores de tiempo de ejecución
en algunas instalaciones..
(2) Los valores de Fecha y Hora se exportan como datos de caracteres cuando el Año es < 1900 para evitar
la pérdida de datos y errores en la exportación.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
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 1 guest