Formula from string
Historia
| Lanzamiento | Modificaciones |
|---|---|
| 20 R3 | Soporte del parámetro context |
| 17 R6 | Renombrado: New formula from string -> Formula from string |
| 17 R3 | Añadidos |
Formula from string( formulaString : Text ) : 4D.Function
Formula from string( formulaString : Text ; context : Integer ) : 4D.Function
| Parámetros | Tipo | Descripción | |
|---|---|---|---|
| formulaString | Text | → | Fórmula texto a devolver como objeto |
| context | Integer | → | sk execute in current database (por defecto) o sk execute in host database |
| Resultado | 4D.Function | ← | Objeto nativo que encapsula la fórmula |
Descripción
El comando Formula from string crea un objeto 4D.Function basado en formulaString y, opcionalmente, context. formulaString puede ser tan simple como un valor único o complejo, como un método proyecto con parámetros.
Este comando es similar a Formula, excepto que maneja una fórmula basada en texto y permite definir un contexto de ejecución. Normalmente se recomienda utilizar el comando Formula, excepto si la fórmula original se expresó como texto (por ejemplo, almacenada externamente en un archivo JSON), o si desea crear una fórmula en una base de datos local mientras llama a Formula from string desde un componente. Se recomienda especialmente utilizar sintaxis con tokens con este comando.
Dado que no se puede acceder al contenido de las variables locales por su nombre en el modo compilado, no se pueden utilizar en formulaString. Un intento de acceder a una variable local con
Formula from stringgenerará un error (-10737).
Si la fórmula se crea en un componente, puede considerar utilizar el parámetro context. Por defecto, dado que las fórmulas se ejecutan en el contexto en el que fueron creadas, no podrá llamar a una variable, función o método no compartido de la base de datos local. En este caso, puede pasar la constante sk execute in host database en el parámetro context para ejecutar el objeto 4D.Function en el contexto de la base de datos local. Las siguientes constantes están disponibles:
| Constante | Tipo | Descripción |
|---|---|---|
sk execute in current database | Integer | (por defecto) La fórmula se ejecutará en el contexto en el que se creó |
sk execute in host database | Integer | La fórmula se ejecutará en el contexto de la base de datos local |
Ejemplo
El siguiente código creará un diálogo que acepta una fórmula en formato texto:
var $textFormula : Text
var $f : 4D.Function
$textFormula:=Request("Please type a formula")
If(ok=1)
$f:=Formula from string($textFormula)
ALERT("Result = "+String($f.call()))
End if
...y ejecuta la fórmula:
Ver también
Propiedades
| Número de comando | 1601 |
| Hilo seguro | ✓ |