version 6.0
dr_ZONE VERS CHAMP (zone; cible; table; champ{; modeSvgde})
| Paramètre | Type | Description | |
| zone | Entier long | Zone 4D Draw | |
| cible | Entier long | Indique ce qui doit être copié | |
| -2 = Document et paramètres, -1 = Tous les objets | |||
| 0 = Objet(s) sélectionné(s), >0 = Numéro d'objet | |||
| table | Entier | Numéro de la table | |
| champ | Entier | Numéro du champ | |
| modeSvgde | Entier | 0 = Image et données, 1 = Image seulement, | |
| 2 = Données seulement, -1 = Pas de changement |
Description
La commande dr_ZONE VERS CHAMP copie la zone 4D Draw zone dans un champ de type Image identifié par les paramètres table et champ, de la manière indiquée par modeSvgde.
Si le champ n'est pas de type Image, une erreur n°31 est renvoyée.
Si cible est égal à - 2, l'ensemble de la zone sera stocké dans le champ Image spécifié par table et champ. Les options telles que la taille de la feuille de dessin, les caractéristiques de la règle et les choix d'affichage seront conservées.
Si cible est égal à - 1, l'ensemble de la zone sera stocké dans le champ Image spécifié par table et champ. En revanche, les options ne seront pas conservées.
Si cible est égal à 0, seuls les objets sélectionnés seront stockés dans le champ Image spécifié par table et champ.
Si cible est supérieur à 0, vous indiquez explicitement à 4D Draw le numéro d'identification de l'objet à copier. Si l'objet ainsi spécifié n'existe pas, dr_Erreur renverra une erreur n°2.
Le paramètre modeSvgde vous permet de définir la manière dont la zone doit être copiée dans le champ. En effet, la sauvegarde d'une zone de plug-in dans un champ se compose de deux parties : les données proprement dites, ainsi qu'une image de la première page du plug-in. En fonction de vos besoins, vous pouvez décider de ne copier qu'un seul élément.
dr_ZONE VERS CHAMP doit être utilisé lorsque vous souhaitez stocker les objets d'une zone dans un champ d'une table liée ou lorsque vous ne souhaitez conserver qu'une partie des éléments d'une zone. Il est à noter que l'enregistrement modifié par dr_ZONE VERS CHAMP devra être explicitement sauvegardé.
Exemple
L'exemple suivant crée un enregistrement lié pour chaque objet présent dans la zone.
Boucle ($i;1; dr_Compter (LaZone;0)) ` Boucle dont la limite est fixée par le nbre d'éléments de la zone CREER ENREGISTREMENT([Librairie]) ` Création d'un enregistrement par objet [Librairie]Nom:=[Client]Dessin ` Attribution d'une valeur au champ Nom $Ref:=dr_Lire ID (LaZone;0;$i) ` Obtention du numéro d'identification de l'objet ` L'objet référencé est collé dans le champ indiqué en tant qu'image dr_ZONE VERS CHAMP (LaZone;$Ref;2;1;1) STOCKER ENREGISTREMENT([Librairie]) ` Sauvegarde de l'enregistrement Fin de boucle ` Fin de boucle après la sauvegarde du dernier enregistrement
Référence