Hola practicasvelneot2.
La función numberToString(<numero>,[fgGeEL],<n>) lo que hace es devolver una cadena formateada como un número y n decimales. Perdona, el ejemplo está erróneo.
Hay 2 casos que son los más habituales:
- numberToString(EVENT_PARAMS[1],“f”,0) = “16777223” devuelve el número sin separadores de miles y en este caso con 0 decimales
- numberToString(EVENT_PARAMS[1],“L”,0) = “16.777.223” devuelve el número según la configuración de la máquina, en mi máquina los separadores de miles son el punto.
La lista de Códigos de tecla debe ser como el Santo Grial. Yo también me hice con el PDF cuando tuve la oportunidad.
Cuando usas Interfaz:Recalcular() dentro de la Rejilla no es necesario indicar el identificativo de dicha Rejilla, se queda en blanco y Velneo interpreta que debe Recalcular la misma Rejilla. De todas formas la Rejilla no se puede Recalcular, solo las Vistas de Datos, que sí tienen un proceso previo que las alimenta de fichas. Ese efecto de ver el registro en blanco cuando se borra es normal. Coloca la Rejilla en una Vista de Datos de un formulario y asocia el evento de Tecla Supr a la Vista de datos y entones podrás hacer Recalcular:(VISTADATOS).
Finalmente y ya que no tenemos Ayuda en línea para los códigos de tecla, yo he creado una Función JavaScript que facilita la consulta de pulsaciones de tecla y evita la chapuza del numberToString.
// Función tecla_ObtenerCodigo() - devuelve el código de la tecla pasado como parámetro
// Se puede ir completando la lista con más códigos
// Parámetros:
// cTecla - string con el nombre de la tecla
function tecla_ObtenerCodigo(cTecla) {
var teclas = {
'-- no existe --':0,
'Space':32,
'Escape':16777216,
'Tab':16777217,
'Backtab':16777218,
'Backspace':16777219,
'Return':16777220,
'Enter':16777221,
'Insert':16777222,
'Delete':16777223,
'Pause':16777224,
'Print':16777225,
'SysReq':16777226,
'Clear':16777227,
'Home':16777232,
'End':16777233,
'Left':16777234,
'Up':16777235,
'Right':16777236,
'Down':16777237,
'PageUp':16777238,
'PageDown':16777239,
'F1':16777264,
'F2':16777265,
'F3':16777266,
'F4':16777267,
'F5':16777268,
'F6':16777269,
'F7':16777270,
'F8':16777271,
'F9':16777272,
'F10':16777273,
'F11':16777274,
'F12':16777275
};
if (cTecla in teclas) {
return teclas[cTecla].toFixed(0);
};
return teclas['-- no existe --'].toFixed(0);
};
Creamos una función Velneo que oculta la llamada al API
Funcion: FUN_TECLA_OBTENER
Rem ( Devuelve el código de la Tecla especificada )
Set ( CODIGO_TECLA, /*JAVASCRIPT*/#include "4dr03ul4.vca/_MisFunciones.js"
tecla_ObtenerCodigo(theRegister.varToString("TECLA")); )
Set dato de retorno ( CODIGO_TECLA )
Por ejemplo, si queremos saber si han pulsado Enter, Return o Barra Espaciadora
if ( (EVENT_PARAMS[1] = fun:FUN_TECLA_OBTENER@Miapp.app("Enter")) |
(EVENT_PARAMS[1] = fun:FUN_TECLA_OBTENER@0Miapp_app.app("Return")) |
(EVENT_PARAMS[1] = fun:FUN_TECLA_OBTENER@Miapp.app("Space"))
)
Saludos
Paco Satué