version 6.0.2
ECRIRE IMAGE DANS BIBLIOTHEQUE (image; refImage; nomImage)
Paramètre | Type | Description | |
image | Image | Nouvelle image | |
refImage | Numérique | Numéro de référence de l'image dans la | |
bibliothèque d'images | |||
nomImage | Alpha | Nouveau nom de l'image |
Description
La commande ECRIRE IMAGE DANS BIBLIOTHEQUE crée une nouvelle image ou remplace une image existante dans la bibliothèque d'images.
Avant l'appel, vous passez :
le numéro de référence de l'image dans refImage (compris entre 1 et 32767)
l'image elle-même dans image.
Le nom de l'image dans nomImage (longueur maximale : 255 caractères).
S'il existe déjà dans la bibliothèque une image possédant le même numéro de référence, son contenu est remplacé et elle est renommée avec les valeurs que vous avez passées dans image et nomImage.
Si aucune image ne possède le numéro de référence que vous avez passé dans refImage, une nouvelle image est créée dans la bibliothèque d'images.
4D Server : ECRIRE IMAGE DANS BIBLIOTHEQUE ne peut pas être utilisée dans une méthode exécutée sur le poste serveur (procédure stockée ou trigger). Si vous appelez ECRIRE IMAGE DANS BIBLIOTHEQUE sur le serveur, la commande ne fait rien, l'appel est ignoré.
Attention : Les objets de structure (éléments de listes hiérarchiques, lignes de menu, etc.) peuvent se référer à une image de la bibliothèque. Soyez prudent lorsque vous modifiez par programmation une image de la bibliothèque d'images.
Note : Si vous passez une image vide dans image, ou une valeur négative ou nulle dans refImage, la commande ne fait rien.
Exemples
(1) Quel que soit le contenu courant de la bibliothèque d'images, l'exemple suivant ajoute une nouvelle image dans la bibliothèque en cherchant d'abord un numéro de référence d'image unique :
LISTE IMAGES DANS BIBLIOTHEQUE($alRefImage;$asNomImage) Repeter $vlRefImage:=1+Abs(Hasard) Jusque (Chercher dans tableau($alRefImage;$vlRefImage)<0) ECRIRE IMAGE DANS BIBLIOTHEQUE(vgImage;$vlRefImage;"Nouvelle Image")
(2) L'exemple suivant importe dans la bibliothèque des images stockées dans un document sur disque, créé par le troisième exemple de la commande LISTE IMAGES DANS BIBLIOTHEQUE :
REGLER SERIE(10;"") Si (OK=1) RECEVOIR VARIABLE($vsTag) Si ($vsTag="4DV6BIBLIOTHEQUEIMAGEEXPORT") RECEVOIR VARIABLE($vlNbImages) Si ($vlNbImages>0) Boucle($vlImage;1;$vlNbImages) RECEVOIR VARIABLE($vlRefImage) Si (OK=1) RECEVOIR VARIABLE($vsNomImage) Fin de si Si (OK=1) RECEVOIR VARIABLE ($vgImage) Fin de si Si (OK=1) ECRIRE IMAGE DANS BIBLIOTHEQUE($vgImage;$vlRefImage;$vsNomImage) Sinon $vlImage:=$vlNbImages+1 ALERTE("Ce fichier semble endommagé.") Fin de si Fin de boucle Sinon ALERTE("Ce fichier semble endommagé.") Fin de si Sinon ALERTE("Le fichier ""+Document+"" n'est pas un export de la bibliothèque d'images.") Fin de si REGLER SERIE(11) Fin de si
Référence
LIRE IMAGE DANS BIBLIOTHEQUE, LISTE IMAGES DANS BIBLIOTHEQUE, SUPPRIMER IMAGE DANS BIBLIOTHEQUE.
Gestion des erreurs
S'il n'y a pas assez de mémoire pour retourner l'image, l'erreur 108 est générée. Notez que des erreurs d'E/S peuvent également être générées (si par exemple le fichier de structure est verrouillé). Vous pouvez intercepter ces erreurs avec une méthode de gestion d'erreurs.