ReadContextVar
Lecture d'une variable contextuelle
Syntaxe
function ReadContextVar(varName: String): Variant
Remarques
En fonction du contexte, Qubes propose l'accès à un certain nombre de variables, en lecture et/ou en écriture.
ReadContextVar permet de lire une variable contextuelle pour utiliser sa valeur dans les traitements effectués en script :
- dans un processus, ReadContextVar permet de lire une variable du processus
- dans une vue graphique, ReadContextVar permet de lire le TickCount des timers, les positions du clic dans les CustomArea, les données de sorties des dialogues, etc.
- dans un WebScript de WebProcess, ReadContextVar permettait de lire les informations de la requête d'appel (headers, url, etc.) cet usage est déprécié depuis Qubes 2012.2, il est requis d'utiliser les méthodes de la classe WebRequest
- dans un script de traitement de gamme, ReadContextVar('GammeGPAOID') permet de récupérer l'identifiant de la gamme sur laquelle s'exécute le script (et ReadContextVar('GammeArticleGPAOID') récupère l'article)
Astuce : l'item "ReadContextVars..." du bouton de droite dans un script affiche un assistant qui liste les variables contextuelles accessibles en lecture et permet d'ajouter les ReadContextVars dans le script.
Voir aussi WriteContextVar.
ScriptQualifiedName et ExecutionContext
Tous les scripts permettent de lire les variables contextuelles ScriptQualifiedName et ExecutionContext.
ReadContextVar('ExecutionContext') renvoie un identifiant du contexte d'appel du script, une fonction dans une librairie pouvant être appelée dans plusieurs contextes. Par exemple, dans le cas des scripts de vérification des gammes, la fonction retourne :
- GammeScriptSave quand le script s'exécute à l'enregistrement de la gamme.
- GammeScriptValidate à la mise en application.
- GammeScriptCheck lors d'un lancement manuel (menu Executions).
ReadContextVar('ScriptQualifiedName') renvoie un identifiant du script.
Dans les vues graphiques notamment, cela renvoie le nom qui s'affiche en haut de l'éditeur de script.
Exemple : on a un bouton "BoutonMachine1" et un bouton "BoutonMachine2".
Dans chacun des 2 boutons, on appelle la même fonction. En lisant ScriptQualifiedName, la fonction peut savoir quel bouton l'a appelée et donc adapter ses actions.
Exemples
dateDeclaration:=ReadContextVar('Variables.DateDeclaration');
Astuce
Pour certains types de variables (utilisateur, fonction), ReadContextVar renvoit l'ID de l'élément. Si l'on veut accéder au libellé, il faut utiliser la syntaxe suivante:
labelUser :=ReadContextVar('Variables.anUser as string');