Dilib, module Explor, paramètres, langage C : Différence entre versions
De Wicri Outils
imported>Jacques Ducloy |
imported>Jacques Ducloy |
||
Ligne 41 : | Ligne 41 : | ||
char *ExplorGetFromDictK4(char *k1, char *k2, char *k3, char *k4 ); | char *ExplorGetFromDictK4(char *k1, char *k2, char *k3, char *k4 ); | ||
char *ExplorGetFromDictWithPrefix(char *prefix, char *code); | 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> | </source> | ||
===Accès avec héritage=== | ===Accès avec héritage=== |
Version actuelle datée du 15 octobre 2017 à 11:22
Module Explor |
Cette page décrit les fonctions relatives au paramétrage du module Explor de la bibliothèque Dilib.
Liste des modules Dilib
Module Explor
|
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;
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 );