version 6.0
BLOB vers liste (blob{; offset}) RefList
Paramètre | Type | Description | |
blob | BLOB | BLOB contenant la liste hiérarchique | |
offset | Numérique | Offset (en octets) dans le BLOB | |
Nouvel offset après la lecture | |||
Résultat | RefList | Référence de la liste nouvellement créée |
Description
BLOB vers liste crée une nouvelle liste hiérarchique avec les données stockées dans le BLOB blob à l'offset d'octet (à partir de zéro) spécifié par offset et retourne un numéro de référence de liste hiérarchique pour cette nouvelle liste.
Les données présentes dans le BLOB doivent être compatibles avec la commande : généralement, vous utilisez des BLOBs préalablement remplis avec la commande LISTE VERS BLOB.
Si vous ne passez pas le paramètre optionnel offset, les valeurs de la liste sont lues à partir du début du BLOB. Si vous gérez un BLOB dans lequel plusieurs variables ou listes ont été stockées, vous devez passer le paramètre offset ainsi qu'une variable numérique. Avant l'appel, fixez cette variable numérique à l'offset désiré. Après l'appel, cette même variable numérique retourne l'offset de la variable suivante stockée dans le BLOB.
Après l'appel, la variable OK prend la valeur 1 si la liste hiérarchique a été correctement créée. Si l'opération ne peut pas être effectuée à cause, par exemple, d'un manque de mémoire, la variable OK prend la valeur 0.
Note pour l'indépendance de plate-forme : BLOB vers liste et LISTE VERS BLOB utilisent un format interne 4D pour gérer les listes stockées dans des BLOBs. L'avantage est que vous n'avez pas besoin de vous soucier de la conversion des octets ("byte swapping") entre les plates-formes lorsque vous utilisez ces deux commandes. Autrement dit, avec ces commandes, un BLOB créé sous Windows peut être réutilisé sous Mac OS et vice-versa.
Exemple
Dans l'exemple suivant, la méthode d'un formulaire entrée extrait une liste d'un champ BLOB avant que le formulaire ne s'affiche puis le stocke dans le champ BLOB lorsque la saisie est validée :
` Méthode du formulaire [Choses à Faire];"Entrée" Au cas ou : (Evenement formulaire=Sur chargement) hListe:=BLOB vers liste([Choses à Faire]Idées) Si (OK=0) hListe:=Nouvelle liste Fin de si : (Evenement formulaire=Sur libération) SUPPRIMER LISTE(hListe;*) : (bValider=1) LISTE VERS BLOB(hListe;[Choses à Faire]Idées) Fin de cas
Référence
Variables et ensembles système
La variable OK prend la valeur 1 si la liste a été correctement créée, sinon elle prend la valeur 0.