Collections de Variables

L'accès à une recherche de variables peut s'effectuer de plusieurs manières : Consultez la syntaxe du SQL pour EDV.


DataTable avec source EDV

Vous pouvez exécuter des requêtes sur les variables EDV grâce aux variables DataTable :

Trois formes permettent une recherche :

Les expressions régulières, dans EDV, commencent toujours par ^ si EDV doit deviner que c'en est une.
La fonction RegEx.Escape convertit les caractères courants en caractères à rechercher dans une expression régulière ('.' devient '\.' (donc '\\.')).



edvClient.GetVariables

Consultez la référence EDVServer.Client.GetVariables

Script Retourne
edvClient.GetVariables(cheminEDV | expressionRégulière | sql [, depth [, orderDir]]) Dictionary<string, IVariable>
edvClient.GetVariablesParentsFirst(cheminEDV | expressionRégulière | sql) KeyValuePair<string, IVariable> []
edvClient.GetVariablesChildrenFirst(cheminEDV | expressionRégulière | sql) KeyValuePair<string, IVariable> []

Trois formes permettent une recherche :



Fonction globale edvars

Cette fonction est définie dans EDV.EDVServer.JSEvaluator, c'est à dire qu'elle est utilisable dans les scripts côté serveur (mais pas dans les fonctions stockées).

static function edvars(search : String [, depthOffset : int [, orderDirection : int]] [, edvClient : Client]) : System.Collections.IList

En interne, cette fonction appelle la méthode edvServer.GetVariables(string, int, int, Client) similaire à la méthode décrite décrite ci-dessus.


for(var v in edvars(..:Domain, -1, 1))
    echo(v.Name, true);

for(var v in edvars("SELECT FROM .{Sys}.Path. DEPTH 0"
   + " WHERE String.IsNullOrEmpty(String(this.Value))"
   + " || this.ValueType == EDVType.String"
   + " && !Directory.Exists(this.Value)"

   , edvClient))
      echo(String.Format("{0} = {1} n'existe pas. ", v.Name, v.Value), true);

Cherche toutes les variables .{Sys}.Path. de type String et dont la valeur est vide ou n'est pas un nom de répertoire valide.

La spécification de edvClient (en 2ème, 3ème ou 4ème argument) peut être nécessaire pour les requêtes type SQL.

 

Il est impossible d'effectuer une recherche dans des domaines racines d'EDV différents. C'est à faire.

 

Voir aussi

Le type des variables
Les variables DataTable de type Fichier Texte
Les variables DataSource
Les variables
.Net System.Data.DataTable