FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index WhatsNew / Novedades New FTDN February 2020 (FWH 20.02)
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
New FTDN February 2020 (FWH 20.02)
Posted: Wed Feb 26, 2020 10:24 AM

February 2020

  • GET
  • ReadOnly: Even when a Get is readonly, the user can navigate to the
    Get by mouseclick. This facility is provided to enable the user to
    scroll horizontally to view the text overflowing the size of Get.
    In some cases where the datasource is readonly, runtime error occurs
    while exiting the Get.

viewtopic.php?f=3t=38289
Fixed.

  • @Z picture format: With this picture format, empty numeric values should
    be displayed as blanks when the get is not in focus. This is the standard
    behaviour of Clipper and (x)Harbour. But FWH displays 0 in all gets with and
    without focus. Now fixed. Gets not having focus display blanks.

viewtopic.php?f=3t=38282

  • It is possible to edit only the time-part of a DateTime value by providing
    the picture clause as "HH:MM:SS"

viewtopic.php?f=3t=38455p=229767#p229767

  • Picture clause "@!" for Password Get from resource is not converting
    text to uppercase, since FWH1912. Fixed. (Works only for non Unicode apps)

  • Sameway, if the Get in RC file has the flag ES_UPPERCASE, it is considered
    as picture clause "@!"

  • In password gets, setting of SET INSERT is respected for insert/overwrite.

  • In password gets, Values of :VarGet(), :cText are as expected when queried
    in bChange block

  • Password Gets: The points raised in

viewtopic.php?f=3t=38415
Fixed.

  • New: FW_ValidCreditCard( cardNo, @cIssuer, @cInfo ) --> lValidNum
    cIssuer --> Visa, MasterCard, etc.
    cInfo --> More details reg. bank, debit/credit, country, etc

  • CenterMsgs()

  • After calling this function all msg dialogs are centered in
    in the active window instead of desktop window.
    But an unwated side-effect was that all normal dialogs were
    also centered in the active window. This is fixed now.
    This function now affects only Windows Api Msg
    dialogs, i.e.,
    MsgInfo(), MsgStop(), MsgAlert(), MsgYesNo(), MsgYesNoCancel(),
    MsgRetryCancel(), MsgAbout() and also FWH functions MsgRun(),
    MsgWait().

  • After calling CenerMsgs(), calling MsgRun() was crashing. Fixed.

viewtopic.php?f=3p=228435#p228435

  • Enhanced Syntax
    CenterMsgs() or CenterMsgs( .t. ) --> lPrevSet // Start Centered Msgs
    CenterMsgs( .f. ) --> lPrevSet // Stop centered Msgs
    CenterMsgs( NIL or non-logical value ) --> lCurrentSetting

  • Language of prompts on Buttons:
    SetMsgLangId( [nLangID] ) --> nPrevLangID
    nLangID can be set to one of the constants available in

https://docs.microsoft.com/en-us/window ... nd-strings

  • Enhancement MsgRun( cCaption, cTitle, bAction, oWndParent, aColor )
  • New: 5th optional parameter aColor. Array of 2 colors, Text and back colors
  • If oWndParent is speicified, the msg da=ialog is centered inside the
    oWndParent. If ommitted, objeys the settings if CenterMsgs()

Enhancement MsgWait( cCaption, cTitle, nSeconds, oWndParent, aColor )
- New params: oWndParent, aColor
Same as MsgRun.

  • Enhancement: function cFileUNC( cFile/cPath ) --> cUncName.
    This function introdiced in FWH1805 returns UNC path only when connected.
    Now enhanced to return the UNC path in case of persistent
    connections even if not currently connected.

  • New function FW_NetRmtName( cDrive ) --> cMappedUncName
    Enhanced version of (x)Harbour's function NETRMTNAME()
    Returns mapped UNC path of persistent connections not currently
    connected also.

  • XBrowse:

  • Enhanced logic for evaluation of expressions used while browing
    ADO and MySql.
    When columns are defined as "NAME","QTY","QTYRATE", etc., expressions
    like "QTY
    RATE" are internally translated as:
    oRs:Fields( "QTY" ):Value * oRs:Fields( "RATE" ):Value, etc.
    Logic for this translation is improved.

  • New CLASSDATA lRestoreFilters INIT .f.
    By default any filters set by incremental filters are retained when
    xbrowse exits.
    If this classdata is set to .T., while exiting xbrowse, the original
    filters when starting the xbrowse are restored.
    Note: This modifies the behavior introduced in FWH1906.

  • ADO TIME field type (type:adTime): (x)Harbour ADO reads and writes
    adTime fields (corresponding to TIME fieldtype) as DateTime values.
    However, XBrowse while reading and writing data as DateTime variables
    from/to the recordset, displays and editable as Harbour time strings
    in the format "HH:MM:SS".

viewtopic.php?f=3t=38455p=229767#p229767

  • datarow.prg: TDataRow class
  • Save() method made comaptible with SQLRDD.
  • ADO TIME field type (type:adTime): (x)Harbour ADO reads and writes
    adTime fields (corresponding to TIME fieldtype) as DateTime values.
    However, XBrowse while reading and writing data as DateTime variables
    from/to the recordset, displays and editable as Harbour time strings
    in the format "HH:MM:SS".
  • If the programmer writes his own get, he needs to provide picture clause
    as "HH:MM:SS"
    eg @ r,c GET oRec:timefield PICTURE "HH:MM:SS" <other clauses>

viewtopic.php?f=3t=38455p=229767#p229767

  • Printer.prg
  • Fix: Method SayText(): Ampersand (&) contained in text is coverted as
    underscrore of the next character while printing. Fixed.
    Please see for details and fix to be applied in previous builds

viewtopic.php?f=3t=38485

  • Control.prg
  • Fix: Behavior of accelerator keys:
    Pressing Alt-F4 should close the active window. Instead Alt-F4 is interpreted
    as Alt-S and if a btnbmp's prompt contains "&S", that button click is activated
    Alt-1 to 9 using keys on numeric pad are interpreted as ALT-A to ALT-I instead.
    Fixed now.

  • DATA bSysKeyDown. If this codeblock is specified for any control, this is
    evaluated as Eval( ::bSysKeyDown, nVirtualKeyCode, nFlags, Self ) when the user
    presses any Alt-Key combination. At present, the return value is ignored.
    Now, if the return value is 0, it is treated that the key is handled and is
    not further processed.

&&&&&&&&&&&

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: New FTDN February 2020 (FWH 20.02)
Posted: Fri Feb 28, 2020 07:55 AM

Febrero 2020

  • GET

  • ReadOnly: Incluso cuando un Get es de s贸lo lectura, el usuario puede
    navegar hasta el "get" con el rat贸n. Esta funci贸n se proporciona para
    permitir al usuario desplazarse horizontalmente para ver el texto que
    desborda el tama帽o del "get".
    En algunos casos donde el origen de datos es de s贸lo lectura, se produce
    un error de tiempo de ejecuci贸n mientras sale del "get".
    viewtopic.php?f=3&t=38289
    Corregido.

  • Formato picture @Z: Con este formato, los valores num茅ricos vac铆os deben
    mostrarse como espacios en blanco cuando el "get" no tiene el foco. Este es
    el comportamiento est谩ndar de Clipper y (x)Harbour. Pero FWH muestra 0 en
    todas las entradas con y sin el foco. Ahora est谩 corregido. Los "gets" sin
    el foco muestran espacios en blanco.
    viewtopic.php?f=3&t=38282

  • Es posible editar s贸lo la parte de tiempo de un valor DateTime proporcionando
    la cl谩usula de picture como "HH:MM:SS".
    viewtopic.php?f=3&t=38455&p=229767#p229767

  • La cl谩usula "@!" para las contrase帽as en los "gets", desde recursos no est谩
    convirtiendo el texto a may煤sculas, desde la versi贸n FWH 19.12
    Corregido.(S贸lo funciona para aplicaciones no Unicode).

  • Del mismo modo, si el "get" en el fichero RC tiene el indicador ES_UPPERCASE,
    se considera como una cl谩usula "@!".

  • En los "gets" de contrase帽as, la configuraci贸n de SET INSERT se respeta para
    insertar / sobrescribir.

  • En los "gets" de contrase帽as, los valores de :VarGet(), :cText son los esperados
    cuando son consutados en el bloque de c贸digo bChange.

  • Los "gets" de contrase帽as: Los puntos planteados en el hilo viewtopic.php?f=3&t=38415
    Corregido.

  • Nuevo: Nueva funci贸n FW_ValidCreditCard( cardNo, @cIssuer, @cInfo ) --> lValidNum
    cIssuer --> Visa, MasterCard, etc.
    cInf --> M谩s detalles banco, d茅bito/cr茅dito, pa铆s, etc.

  • CenterMsgs()

  • Despu茅s de llamar a esta funci贸n, todos los cuadros de di谩logo de las funciones Msg()
    se centran en la ventana activa, en lugar de la ventana del escritorio.
    Pero un efecto no deseado hac铆a que los cuadros de d铆alogo normales se centrasen en la
    ventana activa. Se ha corregido.
    Esta funci贸n ahora s贸lo afecta a las funciones Msg
    () del API de Windows como por
    ejemplo: MsgInfo(), MsgStop(), MsgAlert(), MsgYesNo(), MsgYesNoCancel(), MsgRetryCancel(),
    MsgAbout() y tambi茅n a las funciones MsgRun()y MsgWait() de FWH.

  • Despu茅s de llamar a la funci贸n CenterMsgs(), llamando a MsgRun(), congelaba el programa.
    Corregido.
    viewtopic.php?f=3&p=228435#p228435

  • Sint谩xis mejorada
    CenterMsgs() or CenterMsgs( .t. ) --> lPrevSet // Comienza a centrar los Msg()
    CenterMsgs( .f. ) --> lPrevSet // Deja de centrar los Msg
    ()
    CenterMsgs( NIL o valor no l贸gico ) --> lCurrentSetting // Nos muestra la configuraci贸n actual

  • Idioma de los avisos en los botones:
    SetMsgLangId( [nLangID] ) --> nPrevLangID
    nLangID puede ser una de las constantes disponibles en

https://docs.microsoft.com/en-us/window ... nd-strings

  • Mejora en la funci贸n MsgRun( cCaption, cTitle, bAction, oWndParent, aColor )
  • Nuevo: Quinto par谩metro opcional aColor. Matriz de dos colores, color de texto y fondo.
  • Si se especifica oWndParent, el cuadro de di谩logo msg se centra en la ventana padre
    (oWndParent). Si se omite, obedece a la configuraci贸n de CenterMsgs().
  • Si el cuarto par谩metro es una ventana, entonces se centrar谩 en dicha ventana ( ya sea activa
    o no). Si este par谩metro es NIL, entonces utilizar谩 la configuraci贸n de CenterMsgs().
    Si CenterMsgs() es .T. se centrar谩 en la ventana activa, si no lo har谩 en la ventana del escritorio.

  • Mejora en la funci贸n MsgWait( cCaption, cTitle, nSeconds, oWndParent, aColor )

  • Nuevos par谩metros: oWndParent, aColor
    Igual que MsgRun().

  • Mejora en la funci贸n cFileUNC( cFile/cPath ) --> cUncName.
    Esta funci贸n introducida en FWH1805 devuelve la ruta UNC s贸lo cuando est谩 conectado.
    Ahora mejorado para devolver la ruta UNC en caso de conexiones persistetes incluso si no est谩
    conectado actualmente.

  • Nueva funci贸n FW_NetRmtName( cDrive ) --> cMappedUncName
    Versi贸n mejorada de la funci贸n NETRMTNAME() de (x)Harbour.
    Devuelve la ruta UNC de las conexiones concurrentes que no esten conectadas actualmente.

  • XBrowse:

  • Mejorada la l贸gica para evaluaci贸n de expresiones utilizadas mientras se explora ADO y MySQL.
    Cuando las columnas se definen como "NAME","QTY","QTYRATE", etc., las expresiones como "QTYRATE"
    son internamente traducidas como: oRs:Fields( "QTY" ):Value * oRs:Fields( "RATE" ):Value, etc.
    Se ha mejorado la l贸gica para esta traducci贸n.

  • Nueva CLASSDATA lRestoreFilters INIT .F.
    Por defecto cualquier filtro establecido como incremental se retiene cuando se sale del xbrowse.
    Si esta CLASSDATA es puesta a .T., al salir del xbrowse, se restaurar谩n los filtros originales.
    Nota: Esto modifica el comportamiento introducido en FWH 19.06.

  • El tipo de campo ADO TIME ( adTime ): (x)Harbour ADO lee y escribe campos adTime, correspondientes
    al tipo de campo TIME, como valores DateTime.
    Sin embargo, XBrowse mientras lee y escribe datos como variables DateTime desde/hacia el
    conjunto de registros, los muestra y edita como cadenas de caracteres en el formato "HH:MM:SS".
    viewtopic.php?f=3&t=38455&p=229767#p229767

  • datarow.prg: clase TDataRow

  • M茅todo Save() se ha hecho compatible con SQLRDD.

  • El tipo de campo ADO TIME ( adTime ): (x)Harbour ADO lee y escribe campos adTime, correspondientes
    al tipo de campo TIME, como valores DateTime.
    Sin embargo, XBrowse mientras lee y escribe datos como variables DateTime desde/hacia el
    conjunto de registros, los muestra y edita como cadenas de caracteres en el formato "HH:MM:SS".

  • Si el programador escribe su propio "get", debe proporcionar una cl谩usula como "HH:MM:SS".
    Por ejemplo: @ r,c GET oRec:timefield PICTURE "HH:MM:SS" <other clauses>
    viewtopic.php?f=3&t=38455&p=229767#p229767

  • Printer.prg

  • Correcci贸n: M茅todo SayText():
    El signo & contenido en el texto se convierte como subrayado del siguiente car谩cter durante la impresi贸n.
    Corregido. Consulte los detalles y correcciones a ser aplicadas en versiones anteriores.
    viewtopic.php?f=3&t=38485

  • Control.prg

  • Correcci贸n: Comportamiento de las teclas aceleradoras:
    Presionando Alt-F4 deber铆a cerrar la ventana activa. En su lugar Alt-F4 se interpreta como Alt-S
    y si un bot贸n BMP contiene "&S" en su notificaci贸n (prompt), se activa el click del bot贸n, Alt-1 a
    Alt-9 usando el teclado num茅rico se interpretar谩n como Alt-A a Alt-I en su lugar.
    Corregido.

  • DATA bSysKeyDown.
    Si este bloque de c贸digo se especifica para cualquier control, se eval煤a como
    Eval( ::bSysKeyDown, nVirtualKeyCode, nFlags, Self ) cuando el usuario presiona
    cualquier combinaci贸n de Alt-Tecla. En la actualidad, el valor de retorno se ignora.
    Ahora, si el valor de retorno es 0, la tecla ha sido atendida y no se procesa m谩s.

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion