Produit : 4D v2004, v11 SQL  ·  Plateforme : Mac & Windows


Vous avez des images de votre bibliothèque d'images qui sont corrompues et impossible de les supprimer.

Voici une méthode qui permet de récupérer dans des tableaux les images de la bibliothèque, et de les rétablir (après correction individuelle éventuelle).

code 4D
Sélectionnez

 ` Methode pour récupérer chaque image de la bibliothèque d'images, les effacer et les ré-écrire

C_ENTIER LONG($i;$vlNb_Images)
TABLEAU ENTIER LONG(t_ImageRefs;0)
TABLEAU TEXTE(t_NomImages;0)
LISTE IMAGES DANS BIBLIOTHEQUE(t_ImageRefs;t_NomImages)
$vlNb_Images:=Taille tableau(t_ImageRefs)
TABLEAU IMAGE(t_Mes_Images;$vlNb_Images)

 ` Recuperer les images de la bibliothèque d'images
Boucle($i;1;$vlNb_Images)
   LIRE IMAGE DANS BIBLIOTHEQUE(t_ImageRefs{$i};t_Mes_Images{$i})
Fin de boucle
 
  ` ---- sauvegarder les trois tableaux ---
  `(soit dans une table, soit dans des fichiers) ---
  ` ---- si vous devez corriger les images, compléter votre code ici ----
 
  ` Supprimer les images de la bibliothèque d'images
CONFIRMER("Voulez-vous vraiment supprimer les images de la bibliothèque d'images ?")
Si(OK=1)
   Boucle($i;1;$vlNb_Images) ` ou seulement une selection d'images plus restreinte.
      SUPPRIMER IMAGE DANS BIBLIOTHEQUE(t_ImageRefs{$i})
   Fin de boucle
Fin de si

 ` Retablir les images (après correction ?) dans la bibliotheque d'images,
 ` après mise à jour des tableaux.
CONFIRMER("Voulez-vous vraiment ajouter/remplacer les images de la bibliothèque d'images ?")
Si(OK=1)
   Boucle($i;1;$vlNb_Images) ` ou seulement une selection d'images plus restreinte.
     ECRIRE IMAGE DANS BIBLIOTHEQUE(t_Mes_Images{$i};t_ImageRefs{$i};t_NomImages{$i})
   Fin de boucle
Fin de si


Vous pouvez déjà exécuter cette méthode directement, en validant les demandes de confirmation (sur une copie de votre structure) et si il n'y a pas d'erreur d'accès, voir si cela corrige vos images.

Sinon, il faudra sauvegarder le contenu des trois tableaux, éditer chaque image, et si possible les corriger, avant de les remettre dans le tableau t_Mes_Images pour les écrire à nouveau dans la Bibliothèque d'images.