Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
Parse formula
|
Parse formula ( formula {; opciones}{; mensajeError} ) -> Resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
formula | Texto |
![]() |
Fórmula de texto sin formato | |||||
opciones | Entero largo |
![]() |
Instrucciones para entrada/salida | |||||
mensajeError | Texto |
![]() |
Mensaje de error (cadena vacía si no hay error) | |||||
Resultado | Texto |
![]() |
Fórmula transformada (texto sin formato) | |||||
La función Parse formula analiza la formula 4D, verifica su sintaxis y devuelve su formula normalizada. Esto permite que la fórmula siga siendo válida en el caso de que se cambie el nombre de un lenguaje 4D o elemento de estructura (comando, constante, tabla, campo o Plugin 4D).
Parse formula se puede usar para evaluar y traducir fórmulas de la siguiente manera:
* Las estructuras virtuales se definen utilizando los comandos SET TABLE TITLES y SET FIELD TITLES (* parámetro requerido).
** Los equivalentes tokenizados son elementos de estructura y del lenguaje 4D en texto sin formato expresados con la sintaxis del token, como se muestra a continuación (consulte también Utilizar tokens en fórmulas):
[Table:1]Field:1+String:C10(1)
En formula, pase una fórmula en texto sin formato. Puede usar nombres de estructuras reales o virtuales, así como equivalentes tokenizados.
Sin importar los tipos de nombre utilizados en formula, por defecto Parse formula devuelve el lenguaje 4D real o los nombres de los elementos de la estructura sin tokens de texto.
El parámetro opcional opciones le permite especificar cómo se expresa y/o se devuelve formula utilizando las siguientes constantes del tema Fórmulas. Puede combinar constantes para designar tanto el formato de entrada como el de salida de la fórmula devuelta.
Constante | Valor | Comentario |
Formula in with virtual structure | 1 | La fórmula contiene nombres personalizados (virtual). Por defecto, la fórmula devuelta contiene nombres reales. |
Formula out with virtual structure | 2 | La fórmula devuelta debe contener nombres personalizados (virtual). |
Formula out with tokens | 4 | La fórmula devuelta debe contener texto tokenizado (por ejemplo: Cxx). |
El parámetro opcional mensajeError recibirá un mensaje de error si hay un error de sintaxis en formula. Si no hay ningún error, se devolverá una cadena vacía.
ARRAY TEXT($t1;1)
ARRAY LONGINT($t2;1)
$t1{1}:="Virtual table"
$t2{1}:=1
SET TABLE TITLES($t1;$t2;*)
ARRAY TEXT($tf1;1)
ARRAY LONGINT($tf2;1)
$tf1{1}:="Virtual field"
$tf2{1}:=2
SET FIELD TITLES([Table_1];$tf1;$tf2;*)
//Estructura virtual para tabla y nombre de campo equivalente
$parsedFormula:=Parse formula("[Virtual table]Virtual field";Formula in with virtual structure;$errorMessage)
//return [Table_1]Field_2
//Nombre de tabla y campo para equivalente de estructura virtual
$parsedFormula:=Parse formula("[Table_1]Field_2";Formula out with virtual structure;$errorMessage)
//return [Virtual table]Virtual field
//Tabla y nombre de campo para el formulario tokenizado equivalente
$parsedFormula:=Parse formula("String([Table_1]Field_2)";Formula out with tokens;$errorMessage)
//return String:C10([Table_1:1]Field_2:2)
Utilizando las tablas del Ejemplo 1:
//pide al usuario que escriba su fórmula favorita
$formula:=""
EDIT FORMULA([Table_1];$formula)
//guarda la fórmula del usuario para un uso posterior
CREATE RECORD([users_preferences])
$persistentFormula:=Parse formula($formula;Formula out with tokens)
[users_preferences]formula:=$persistentFormula
//luego: ejecuta la fórmula guardada anteriormente
CREATE RECORD([Table_1])
EXECUTE FORMULA([users_preferences]formula)
Formula from string
SET FIELD TITLES
SET TABLE TITLES
Utilizar tokens en fórmulas
Producto: 4D
Tema: Fórmulas
Número
1576
Manual de lenguaje 4D ( 4D v20 R7)