version 6.0
DOCUMENT VERS BLOB (document; blob{; *})
Paramètre | Type | Description | |
document | Alpha | Nom du document | |
blob | BLOB | Champ ou variable de type BLOB devant recevoir | |
le document | |||
Contenu du document | |||
* | Macintosh seulement : la resource fork est chargée | ||
si * est passé ; sinon, la data fork est chargée |
Description
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
Référence
BLOB VERS DOCUMENT, Ouvrir document.
Variables système
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.
Gestion des erreurs
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.