PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE


  • Variables locales
  • Compilation du code
  • Code dynamique
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Exécute un code WLangage présent dans une chaîne de caractères.
Versions 21 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Exemple
sTexte est une chaîne = "Texte"
// Affiche le texte dans une fenêtre
ExécuteCode("Info(sTexte)")
// Déclaration des variables.
sCodeAExécuter est une chaîne
xRésultatOpération est un numérique

// Code WLangage à exécuter.
// Ce code renvoie le résultat d'une opération %1.
sCodeAExécuter = [
MonCalcul est un numérique
MonCalcul = %1
RENVOYER MonCalcul
]

// Code WLangage à exécuter.
// Remplacement de %1 par l'opération affichée
// dans le champ de saisie SAI_EXPRESSION.
sCodeAExécuter = ChaîneConstruit(sCodeAExécuter, SAI_EXPRESSION)

// Exécution du code et récupération du résultat.
xRésultatOpération = ExécuteCode(sCodeAExécuter)

// Affiche le résultat de l'opération dans une boîte de message de type Info()
Info("Le résultat de votre opération est : " + xRésultatOpération)
Syntaxe
<Résultat> = ExécuteCode(<Code>)
<Résultat> : Tout type
  • Résultat du code si celui-ci contient une instruction RENVOYER,
  • Rien dans le cas contraire. Dans ce cas, un message d'erreur peut apparaître par exemple lors de l'affectation du résultat dans une variable.
<Code> : Chaîne de caractères (avec guillemets)
Code à exécuter.
Remarques

Variables locales

Les variables locales du traitement courant peuvent être utilisées directement dans le code à exécuter.
Si le code compile sans erreur, le code est exécuté directement.
Si le code ne compile pas, une erreur fatale est déclenchée.

Compilation du code

Le code est recompilé à chaque appel de la fonction ExécuteCode.
Pour éviter la phase de recompilation, vous pouvez utiliser les fonctions Compile et Exécute.

Code dynamique

Si le code source utilisé pour la compilation dynamique contient des noms de fichiers, de rubriques, de champs, de fenêtres, d'états, de requêtes, ... ces noms doivent obligatoirement être entourés par des guillemets.
Par exemple, il faut utiliser : HLitPremier("Client", "Nom") au lieu de HLitPremier(Client, Nom)
Les constantes ne peuvent pas être utilisées dans le code dynamique (définies avec le mot-clé CONSTANTE).
Lors de l'utilisation de constantes dans un code, toutes les occurrences des constantes sont remplacées par leur valeur au moment de la compilation sous l'éditeur mais la correspondance entre le nom des constantes et leur valeur n'est pas "embarquée" dans l'application. Donc la compilation dynamique ne peut pas utiliser les constantes.
Voici deux alternatives :
1 - Utiliser des variables à la place des constantes
CONSTANTE
CST_Nom = 1
FIN
devient par exemple
CST_Nom est un entier = 1
ou
2 - Dans la chaîne qui contient le code que l'on va compiler dynamiquement, au lieu de laisser le nom de la constante, on remplace le nom de la constante par sa valeur :
sCode est une chaîne
// Dans la chaîne qui contient le code que l'on va compiler dynamiquement
// au lieu de laisser le nom de la constante comme ici:
sCode=[
Info(CST_Nom)
]
// On remplace le nom de la constante par sa valeur
sCode = Remplace(sCode, "CST_Nom", CST_Nom, MotComplet + SansCasse)
// Il est ensuite possible de compiler le code
SI Compile("ProcDyn", sCode) <> "" ALORS
Erreur("Erreur de compilation de la procédure dynamique : ", ...
ErreurInfo())
SINON
// Puis de l'exécuter
QUAND EXCEPTION DANS
ExécuteTraitement("ProcDyn", trtProcédure)
FAIRE
Erreur("Erreur d'exécution de la procédure dynamique : ", ...
ExceptionInfo())
FIN
FIN
Composante : wd240vm.dll
Version minimum requise
  • Version 17
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire