Dilib, module Explor, paramètres, langage C : Différence entre versions

De Wicri Outils
imported>Jacques Ducloy
imported>Jacques Ducloy
 
(Une révision intermédiaire par le même utilisateur non affichée)
Ligne 25 : Ligne 25 :
 
</source>
 
</source>
 
{{Wicri travaux|texte=page en cours de rédaction}}
 
{{Wicri travaux|texte=page en cours de rédaction}}
 +
===Accès sans héritage, <code>ExplorGetFromDict</code>===
 +
L'accès sans héritage se fait au travers de la fonction de base <code>'''ExplorGetFromDict'''</code> :
 +
<source lang="c">
 +
char *ExplorGetFromDict(char *key);
 +
</source>
 +
Elle accepte en paramètre une clé complète et renvoie la valeur, exemple :
 +
<source lang="c">
 +
SxmlNode mainListSteps;
 +
mainListSteps=SxmlFromString(ExplorGetFromDict("Area/Main/steps"));
 +
</source>
 +
Pour faciliter l'écriture des appels un ensemble de fonctions dérivées a été introduit :
 +
<source lang="c">
 +
char *ExplorGetFromDictK2(char *k1, char *k2);
 +
char *ExplorGetFromDictK3(char *k1, char *k2, char *k3 );
 +
char *ExplorGetFromDictK4(char *k1, char *k2, char *k3, char *k4 );
 +
char *ExplorGetFromDictWithPrefix(char *prefix, char *code);
 +
</source>
 +
 +
Ainsi :
 +
<source lang="c">
 +
SxmlNode *mainListSteps;
 +
mainListSteps=SxmlFromString(ExplorGetFromDict("Area/Main/steps"));
 +
</source>
 +
est équivalent à :
 +
<source lang="c">
 +
SxmlNode *mainListSteps;
 +
char *stream;
 +
 +
stream="Main";
 +
mainListSteps=SxmlFromString(ExplorGetFromDictK3("Area", stream, "steps"));
 +
</source>
 +
===Accès avec héritage===
 +
<source lang="c">
 +
char *ExplorCascadeFromDictK3(char *k1, char *k2, char *key );
 +
char *ExplorCascadeFromDictK4(char *k1, char *k2, char *k3, char *key );
 +
char *ExplorCascadeFromDictK5(char *k1, char *k2, char *k3, char *k4, char *key );
 +
</source>

Version actuelle datée du 15 octobre 2017 à 11:22

LogoDilib.gif
Panneau travaux.png
Bibliothèque Dilib (ressources numériques)
Module Explor

Cette page décrit les fonctions relatives au paramétrage du module Explor de la bibliothèque Dilib.

 

La manipulation des tables se fait à l'aide de l'interface Explor.

La manipulation des tables se fait à l'aide du fichier de déclaration Explor.h

#include "Explor.h"

Celui ci donne notamment accès à la variable ExplorTableParam (de type StrDict) qui pointe vers la table courante utilisée par un programme de génération.

StrDict *ExplorTableParam;
logo travaux page en cours de rédaction

Accès sans héritage, ExplorGetFromDict

L'accès sans héritage se fait au travers de la fonction de base ExplorGetFromDict :

char *ExplorGetFromDict(char *key);

Elle accepte en paramètre une clé complète et renvoie la valeur, exemple :

SxmlNode mainListSteps;
mainListSteps=SxmlFromString(ExplorGetFromDict("Area/Main/steps"));

Pour faciliter l'écriture des appels un ensemble de fonctions dérivées a été introduit :

char *ExplorGetFromDictK2(char *k1, char *k2);
char *ExplorGetFromDictK3(char *k1, char *k2, char *k3 );
char *ExplorGetFromDictK4(char *k1, char *k2, char *k3, char *k4 );
char *ExplorGetFromDictWithPrefix(char *prefix, char *code);

Ainsi :

SxmlNode *mainListSteps;
mainListSteps=SxmlFromString(ExplorGetFromDict("Area/Main/steps"));

est équivalent à :

SxmlNode *mainListSteps;
char *stream;

stream="Main";
mainListSteps=SxmlFromString(ExplorGetFromDictK3("Area", stream, "steps"));

Accès avec héritage

char *ExplorCascadeFromDictK3(char *k1, char *k2, char *key );
char *ExplorCascadeFromDictK4(char *k1, char *k2, char *k3, char *key );
char *ExplorCascadeFromDictK5(char *k1, char *k2, char *k3, char *k4, char *key );