Fonction PutBlob
La fonction PutBlob permet d'écrire une valeur dans un champ d'un blob défini par son type et son décalage dans le blob.
PutBlob( VariableBlob, Valeur, Type, &Decalage {, Longueur}): Nombre;
La fonction attend en paramètre une variable blob, une valeur sisal, un type élémentaire et un décalage auto-incrémenté dans le blob; dans certains cas un quatrième paramètre définit la longueur de la zone à extraire.
Les types sont les mêmes que ceux de la fonction GetBlob.
La fonction convertit la valeur reçue dans le type primaire défini par le troisième paramètre et l'écrit dans le blob au décalage indiqué.
La fonction rend une valeur Sisal indiquant le nombre de caractères écrits.
Dans ce premier exemple, on prépare une trame à envoyer à un équipement, l'entier de 4 caractères placé à partir de la position 24 contient la température que l'on va envoyer. Le champ décalage n'est pas une variable (une expression calculée) l'auto-incrémentation n'est pas appliquée.
Len = PutBlob( TrameAEnvoyer, 22, Integer, 24);
Avec l'exemple suivant, on formate une trame binaire encodée en big-endian (gros-boutisme), l'adresse (520 = 0x0208) occupe 2 octets, la fonction à appliquer (18 = 0x12) un seul; offset est incrémenté de la longueur des données ( 2 puis 1).
SetBlob( MyBlob, 520, 2); // Blob formaté en Big-endian offset = 0; PutBlob( MyBlob, 1028, Word, offset); PutBlob( MyBlob, 18, Byte, offset);
Le début de Blob contient donc: 0x02 0x08 0x12.