4D v16.3

Print object

Accueil

 
4D v16.3
Print object

Print object 


 

Print object ( {* ;} objet {; posX {; posY {; largeur {; hauteur}}}} ) -> Résultat 
Paramètre Type   Description
Opérateur in Si spécifié, objet est un nom d'objet (chaîne) Si omis, objet est une variable
objet  Objet de formulaire in Nom d'objet (si * spécifié) ou Variable (si * omis)
posX  Entier long in Emplacement horizontal de l'objet
posY  Entier long in Emplacement vertical de l'objet
largeur  Entier long in Largeur de l'objet (pixels)
hauteur  Entier long in Hauteur de l'objet (pixels)
Résultat  Booléen in Vrai = objet entièrement imprimé, Faux sinon

La commande Print object vous permet d’imprimer le ou les objet(s) de formulaire désigné(s) par les paramètres objet et *, à l’emplacement défini par les paramètres posX et posY.

Avant d’appeler la commande Print object, vous devez désigner le formulaire table ou projet contenant les objets à imprimer, à l’aide de la commande FORM LOAD

Si vous passez le paramètre optionnel *, vous indiquez que le paramètre objet est un nom d'objet (une chaîne de caractères). Si vous ne passez pas le paramètre *, vous indiquez que objet est une variable. Dans ce cas, vous ne passez pas une chaîne mais une référence de variable (de type objet uniquement).

Les paramètres posX et posY définissent le point de départ de l’impression du ou des objet(s). Ces valeurs doivent être exprimées en pixels. Si ces paramètres sont omis, l’objet sera imprimé en fonction de son emplacement dans le formulaire. 

Les paramètres largeur et hauteur vous permettent de définir la largeur et la hauteur de l’objet de formulaire. La commande Print object ne gère pas les objets de taille variable. Vous devez utiliser la commande OBJECT GET BEST SIZE pour prendre en charge la taille des objets. Vous pouvez également utiliser la commande OBJECT GET BEST SIZE pour connaître la taille la plus adéquate pour les objets contenant du texte. De même, Print object ne provoque pas de sauts de page automatiques. Vous devez les gérer en fonction de vos besoins. 

Vous pouvez utiliser les commandes de 4D pour modifier à la volée les propriétés des objets (couleur, taille...).

La commande retourne Vrai si l’objet a été imprimé entièrement et Faux dans le cas contraire, c’est-à-dire si l’intégralité des données associées à l’objet n’a pas pu être imprimée dans le cadre imposé. Typiquement, la commande retourne Faux lors de l’impression d’une list box, si toutes les lignes de la list box n’ont pas pu être imprimées. Dans ce cas, il suffit d’appeler la commande Print object de façon répétée, jusqu’à ce qu’elle retourne Vrai : un mécanisme spécifique provoque automatiquement le défilement du contenu de l’objet après chaque appel. 

Notes :

  • Dans la version actuelle de 4D, seuls les objets de type list box bénéficient de ce mécanisme (la commande retourne toujours Vrai pour tous les autres types d’objets). Dans les prochaines versions de 4D, ce fonctionnement sera étendu à d’autres objets au contenu variable.
  • La commande LISTBOX GET PRINT INFORMATION permet de contrôler le statut de l’impression durant l’opération.

La commande Print object peut être utilisée uniquement dans le contexte d’une tâche d’impression préalablement ouverte avec la commande OPEN PRINTING JOB. Si elle n’est pas appelée dans ce contexte, la commande ne fait rien. Plusieurs commandes Print object peuvent être appelées dans la même tâche d’impression.

Note : Les listes hiérarchiques, les sous-formulaires et les zones Web ne sont pas imprimables.

Exemple d’impression de dix objets dans un formulaire :

 PRINT SETTINGS
 If(OK=1)
       OPEN PRINTING JOB
       If(OK=1)
          FORM LOAD("PrintForm")
          x:=100
          y:=50
          GET PRINTABLE AREA(hpaper;wpaper)
          For($i;1;10)
             OBJECT GET BEST SIZE(*;"Obj"+String($i);bestwidth;bestheight)
             $fin:=Print object(*;"Obj"+String($i))
             y:=y+bestheight+15
             If(y>hpaper)
                PAGE BREAK(>)
                y:=50
             End if
          End for
       End if
       CLOSE PRINTING JOB
 End if

Exemple d’impression d’une list box complète :

 Repeat
       $fin:=Print object(*;"malistbox")
 Until($fin)



Voir aussi  

FORM LOAD

 
PROPRIÉTÉS 

Produit : 4D
Thème : Impressions
Numéro : 1095

 
HISTORIQUE 

Créé : 4D v12

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)