4D v14.3

DOCUMENT VERS BLOB

Accueil

 
4D v14.3
DOCUMENT VERS BLOB

DOCUMENT VERS BLOB 


 

DOCUMENT VERS BLOB ( document ; blob {; *} ) 
Paramètre Type   Description
document  Chaîne in Nom du document
blob  BLOB in Champ ou variable de type BLOB devant recevoir le document
in Contenu du document
Opérateur in Macintosh seulement : la resource fork est chargée si * est passé ; sinon, la data fork est chargée

DOCUMENT VERS BLOB charge le contenu de document dans blob. Vous devez passer un nom de document valide, c'est-à-dire qui désigne un document existant qui n'est pas déjà ouvert, sinon une erreur sera générée. Si vous voulez que l'utilisateur choisisse le document, utilisez la routine Ouvrir document et la variable système Document (cf. l'exemple ci-dessous).

Note pour les utilisateurs Mac OS : les documents Macintosh peuvent être composés de deux éléments, la resource fork et la data fork ("partie des ressources" et "partie des données"). Par défaut, la commande DOCUMENT VERS BLOB charge la data fork du document. Si vous voulez charger la resource fork du document, passez le paramètre optionnel *.
Sous Windows, le paramètre * est ignoré. Notez que l'environnement 4D vous fournit l'équivalent des resource forks de Mac OS sous Windows : par exemple, la data fork d'une base 4D est stockée dans un fichier comportant l'extension .4DB et la resource fork est stockée dans un fichier du même nom, mais comportant l'extension .RSR. Si vous développez une application 4D qui gère les data forks et les resource forks stockées dans des BLOBs, sous Windows, il vous suffit d'accéder au fichier correspondant à la "fork" avec laquelle vous voulez travailler.

Exemple  

Notre exemple est une base qui vous permet de stocker et chercher rapidement des documents. Dans un formulaire entrée, vous créez un bouton qui vous permet de charger un document de votre choix dans un champ de type BLOB. La méthode pour ce bouton peut être la suivante :

 $vhRefDoc:=Ouvrir document("") ` Sélectionner un document
 Si(OK=1) ` Si un document a été choisi
    FERMER DOCUMENT($vhRefDoc` Nous voulons pas qu'il reste ouvert
    DOCUMENT VERS BLOB(Document;[VotreTable]VotreChampBLOB` Charger le document
    Si(OK=0)
  ` Gérer l'erreur
    Fin de si
 Fin de si

La variable système OK prend la valeur 1 si le document est correctement lu. Sinon, elle prend la valeur 0 et une erreur est générée.

  • Si vous essayez de charger dans un BLOB un document qui n'existe pas ou qui est déjà ouvert par un(e) autre process ou application, une des Erreurs du gestionnaire de fichiers du système sera générée.
  • Une erreur d'Entrée/Sortie peut survenir si le document est verrouillé, s'il se trouve sur un volume verrouillé ou si un problème survient pendant la lecture du document.
  • S'il n'y a pas assez de mémoire pour charger le document, une erreur -108 est générée.

Dans tous les cas, vous pouvez gérer les erreurs en utilisant la commande APPELER SUR ERREUR.

 
PROPRIÉTÉS 

Produit : 4D
Thème : BLOB
Numéro : 525
Nom intl. : DOCUMENT TO BLOB

Cette commande modifie la variable système OKComportement spécifique sous Mac OS

 
HISTORIQUE 

Créé : 4D v6

 
VOIR AUSSI  

BLOB VERS DOCUMENT
Ouvrir document

 
MOTS-CLÉS 

Document, Data fork, Resource fork, Storing documents

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v11 SQL Release 6)
4D - Langage ( 4D v12.4)
4D - Langage ( 4D v14 R2)
4D - Langage ( 4D v14 R3)
4D - Langage ( 4D v13.5)
4D - Langage ( 4D v14.3)
4D - Langage ( 4D v14 R4)