versión 6.0.2
SET PICTURE TO LIBRARY (imagen; refImag; nomImag)
Parámetro | Tipo | Descripción | |
imagen | Imagen | Nueva imagen | |
refImag | Numérico | Número de referencia de la imagen en la librería de imágenes | |
nomImag | Alfa | Nuevo nombre de la imagen |
Descripción
El comando SET PICTURE TO LIBRARY crea una nueva imagen o reemplaza una imagen existente en la librería de imágenes.
Antes de llamar el comando, usted pasa:
el número de referencia de la imagen en refImag (entre 1 y 32767 )
la imagen misma en imagen.
el nombre de la imagen en nomImag (longitud máxima: 255 caracteres).
Si hay una imagen en la librería de imágenes con el mismo número de referencia, su contenido será reemplazado y la imagen se renombra con los valores pasados en imagen y nomImag.
Si no hay una imagen en la librería de imágenes con el número de referencia pasado en refImag, una nueva imagen se añade a la librería de imágenes.
4D Server: SET PICTURE TO LIBRARY no puede utilizarse dentro de un método ejecutado en el equipo servidor (procedimiento almacenado o trigger). Si llama SET PICTURE TO LIBRARY en un equipo servidor, no pasa nada, la llamada se ignora.
Advertencia: los objetos de estructura (elementos de listas jerárquicas, líneas de menú, etc.) pueden referirse a una imagen de la librería de imágenes. Sea prudente cuando modifique por programación una imagen de la librería de imágenes.
Nota: si pasa una imagen vacía en imagen o un valor negativo o nulo en refImag, el comando no hace nada.
Ejemplos
1. Sin importar el contenido actual de la librería de imágenes, el siguiente ejemplo añade una nueva imagen a la librería buscando primero un número de referencia de una imagen única:
PICTURE LIBRARY LIST($alRefImag;$asNomsImag) Repeat $vlRefImag:=1+Abs(Random) Until (Find in array($alRefImag;$vlRefImag)<0) SET PICTURE TO LIBRARY(vgImagen;$vlRefImag;"Nueva Imagen")
2. El siguiente ejemplo importa en la librería de imágenes las imágenes (almacenadas en un documento en disco) creadas por el tercer ejemplo del comando PICTURE LIBRARY LIST:
SET CHANNEL(10;"") If (OK=1) RECEIVE VARIABLE($vsTag) If ($vsTag="4DV6PICTURELIBRARYEXPORT") RECEIVE VARIABLE($vlNbImagenes) If ($vlNbImagenes>0) For($vlImag;1;$vlNbImagenes) RECEIVE VARIABLE($vlPicRef) If (OK=1) RECEIVE VARIABLE($vsNomImag) End if If (OK=1) RECEIVE VARIABLE ($vgImag) End if If (OK=1) SET PICTURE TO LIBRARY($vgImag;$vlRefImag;$vsNomImag) Else $vlImag:=$vlNbImagenes+1 ALERT("Este archivo parece estar dañado.") End if End for Else ALERT("Este archivo parece estar dañado.") End if Else ALERT("El archivo ""+Document+"" no es un archivo de exportación de la librería de imágenes.") End if SET CHANNEL(11) End if
Ver también
GET PICTURE FROM LIBRARY, PICTURE LIBRARY LIST, REMOVE PICTURE FROM LIBRARY.
Variables y conjuntos sistema
Ninguno está afectado.
Gestión de errores
Si no hay suficiente memoria para añadir la imagen a la librería de imágenes, se genera un error -108. Note que los errores E/S también pueden ser generados (si por ejemplo el archivo de estructura está bloqueado). Puede interceptar estos errores con un método de gestión de errores.