4D v15.4EXECUTER FORMULE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v15.4
EXECUTER FORMULE
|
EXECUTER FORMULE ( instruction ) | ||||||||
Paramètre | Type | Description | ||||||
instruction | Chaîne |
![]() |
Code à exécuter | |||||
EXECUTER FORMULE exécute instruction comme une ligne de code. Cette chaîne d'instructions doit comporter une seule ligne. Si instruction est une chaîne vide, EXECUTER FORMULE ne fait rien.
Le principe est que si instruction peut être exécutée comme une méthode d'une seule ligne, alors elle s'exécutera correctement. La commande EXECUTER FORMULE doit être utilisée avec précautions, car elle ralentit la vitesse d'exécution. Dans une base compilée, le code d'instruction n'est pas compilé. Cela signifie que l'instruction sera bien exécutée, mais ne sera pas vérifiée par le compilateur au moment de la compilation.
L'instruction peut notamment contenir les éléments suivants :
La formule peut utiliser des variables process et interprocess. En revanche, instruction ne doit pas contenir d'instructions de contrôle de flux (Si, Tant que...) car le code doit "tenir" sur une seule ligne.
Pour assurer une évaluation correcte de l'instruction quelle que soit la langue ou la version de 4D, il est recommandé d'utiliser la syntaxe tokenisée pour les éléments dont le nom peut varier au fil des versions (commandes, tables, champs, constantes). Par exemple, pour insérer la commande Heure courante, saisissez 'Current time:C178'. Pour plus d'informations sur ce point, reportez-vous à la section Utiliser des tokens dans les formules.
Vous souhaitez ajouter et typer une colonne dynamique dans une list box :
//Ajout de la colonne
C_POINTEUR($Ptr_nil)
$Txt_column:="column"
$Txt_header:="header"
LISTBOX INSERER COLONNE(*;"listbox";MAXLONG;$Txt_column;$Ptr_nil;$Txt_header;$Ptr_nil)
//définir le type de la colonne, ici TABLEAU OBJET
//TABLEAU OBJET((OBJET Lire pointeur(Objet nommé;$Txt_column))->;0)
EXECUTER FORMULE("ARRAY OBJECT:C1221((OBJECT Get pointer:C1124(3;\""+$Txt_column+"\"))->;0)")
Vous souhaitez exécuter des formules comportant des appels à des commandes 4D et à des tables. Ces éléments pouvant potentiellement être renommés, vous pouvez vous assurer d'une exécution correcte dans les versions futures de votre application en utilisant la syntaxe tokenisée :
EXECUTER FORMULE("Year of:C25 ([Produits:5]Date_Creation:2])+$ajout")
EDITER FORMULE
EXECUTER METHODE
Nom commande
Utiliser des tokens dans les formules
Produit : 4D
Thème : Formules
Numéro :
63
Nom intl. : EXECUTE FORMULA
Modifié : 4D v11 SQL
4D - Langage ( 4D v15)
4D - Langage ( 4D v15.4)
4D - Langage ( 4D v15.3)