Dilib, module Hfd, type Hcs
Module Hfd |
Le type Hcs
(Hfd Control Structure) est un élément XML qui permet de contrôler une structure HFD.
Liste des modules Dilib
Module Hfd
|
Constructeur HcsImplicitHcs
- Synopsis
SxmlNode *HcsImplicitHcs();
- Description
Ce constructeur crée un élément de contrôle correspondant à la structure implicite des HFD (4 chiffres hexadécimaux suivis de 2 chiffres décimaux).
<hfd>
<struct>
<dir>
<digit>0123456789ABCDRF</digit>
<digit>0123456789ABCDEF</digit>
</dir>
<file>
<digit>0123456789ABCDEF</digit>
<digit>0123456789ABCDEF</digit>
</file>
<key>
<digit>0123456789</digit>
<digit>0123456789</digit>
</key>
</struct>
</hfd>
Fonction HcsGetFirstKey
- Synopsis
char *HcsGetFirstKey (SxmlNode *hcs);
Cette fonction renvoie un pointeur sur une chaîne de caractères contenant la première clé d'une organisation HFD.
Attention, la chaîne est volatile (pointeur sur un Buffer interne) et il convient d'utiliser la fonction strdup() pour la conserver.
Fonction HcsGetNextKey
char *HcsGetNextKey (SxmlNode *hcs, char *previousKey);
Fonction HcsGetFirstKeyBuffer
- Synopsis
char *HcsGetFirstKeyBuffer (SxmlNode *hcs, Buffer *bufKey);
Cette fonction range dans le Buffer donné en paramètre la première clé d'une organisation HFD. Elle renvoie un pointeur sur la chaîne associée.
Fonction HcsGetNextKeyBuffer
- Synopsis
char *HcsGetFirstKeyBuffer (SxmlNode *hcs, Buffer *bufKey);
Cette fonction incrémente la chaîne contenue dans le Buffer donné en paramètre. Elle renvoie un pointeur sur la chaîne associée.
Exemples
- Sans Buffer
#include "Hcs.h"
SxmlNode *myHcs;
char *keyToPrint;
char *nextKey;
myHfd=HcsImplicitHcs();
keyToPrint=strdup(HcsGetFirstKey(myHcs));
printf ("%s\n", keyToPrint); /* imprime 000000 */
nextKey=HcsGetNextKey(myHcs, keyToPrint);
free(keyToPrint);
keyToPrint=strdup(nextKey);
printf ("%s\n", keyToPrint); /* imprime 000001 */
nextKey=HcsGetNextKey(myHcs, keyToPrint);
free(keyToPrint);
keyToPrint=strdup(nextKey);
printf ("%s\n", keyToPrint); /* imprime 000002 */
- Avec Buffer
#include "Hcs.h"
SxmlNode *myHcs;
Buffer *bufKey;
char *keyToPrint;
myHfd=HcsImplicitHcs();
bufKey=NewBuffer();
keyToPrint=HcsGetFirstKeyBuffer (myHcs, bufKey);
printf ("%s\n", keyToPrint; /* imprime 000000 */
keyToPrint=HcsGetNextKeyBuffer (myHcs, bufKey);
printf ("%s\n", keyToPrint); /* imprime 000001 */
printf ("%s\n", HcsGetNextKeyBuffer (myHcs, bufKey)) /* imprime 000002 */