4D v16.3

FORM CHARGER

Accueil

 
4D v16.3
FORM CHARGER

FORM CHARGER 


 

FORM CHARGER ( {laTable ;} formulaire {; *} ) 
Paramètre Type   Description
laTable  Table in Table du formulaire à charger (si omis, charger un formulaire projet)
formulaire  Chaîne in Nom du formulaire (projet ou table) à ouvrir pour l’impression
Opérateur in Si passé = la commande s’applique à la base hôte lorsqu’elle est exécutée depuis un composant (paramètre ignoré hors de ce contexte)

La commande FORM CHARGER vous permet de charger le formulaire (projet ou table) en mémoire dans le process courant afin d'imprimer des données ou d'analyser son contenu. Il ne peut y avoir qu'un seul formulaire courant par process.

Pour que cette commande puisse être exécutée, une tâche d'impression doit avoir été ouverte au préalable à l'aide de la commande OUVRIR TACHE IMPRESSION. La commande OUVRIR TACHE IMPRESSION effectue un appel implicite à la commande FORM LIBERER, il est donc nécessaire d’exécuter FORM CHARGER dans ce contexte. Une fois chargé, le formulaire devient le formulaire d’impression courant. Toutes les commandes de gestion des objets, et en particulier la commande Imprimer objet, travaillent avec ce formulaire.

Si un formulaire d’impression avait déjà été chargé au préalable (via un appel précédent à la commande FORM CHARGER), il est refermé et remplacé par formulaire. Vous pouvez ouvrir et refermer plusieurs formulaires dans la même session d’impression. Changer de formulaire d’impression via la commande FORM CHARGER ne génère pas de saut de page, il revient au développeur de les gérer. 

Seul l’événement formulaire Sur chargement est exécuté durant l’ouverture du formulaire, ainsi que les méthodes des objets du formulaire. Les autres événements formulaire sont ignorés. L’événement formulaire Sur libération est exécuté à l’issue de l’impression. 

Pour préserver la cohérence graphique des formulaires, il est conseillé d’appliquer la propriété d’apparence "Impression" sur toutes les plates-formes. 

Le formulaire d’impression courant est automatiquement refermé lorsque la commande FERMER TACHE IMPRESSION est appelée.

Note de compatibilité : Dans les versions de 4D antérieures à la v14, la commande FORM CHARGER (nommée OUVRIR FORMULAIRE IMPRESSION) acceptait une chaîne vide dans le paramètre formulaire afin de refermer le formulaire projet courant. Cette syntaxe n’est désormais plus prise en charge et retourne une erreur. Vous devez désormais utiliser la commande FORM LIBERER ou la commande FERMER TACHE IMPRESSION pour refermer le formulaire.

Cette possibilité consiste à charger un formulaire hors-écran à des fins d’analyse. Pour effectuer cette action, il suffit d’appeler FORM CHARGER en-dehors d’un contexte de tâche d’impression. Dans ce cas, les événements formulaire ne sont pas exécutés.

FORM CHARGER peut être utilisé avec les commandes FORM LIRE OBJETS et OBJET Lire type afin d’effectuer tout type de traitement sur le contenu du formulaire. Il est ensuite impératif d'appeler la commande FORM LIBERER afin de décharger le formulaire de la mémoire.

A noter que dans tous les cas, le formulaire à l’écran reste chargé (il n’est pas touché par la commande FORM CHARGER), il n’est pas nécessaire de le recharger après un FORM LIBERER

Si la commande est exécutée depuis un composant, elle charge par défaut les formulaires du composant. Si vous passez le paramètre *, la méthode chargera les formulaires de la base hôte.

Rappel : Dans le contexte du hors-écran, n'oubliez pas d'appeler FORM LIBERER afin d'éviter tout risque de saturation de la mémoire. 

Appel d’un formulaire projet en tâche d’impression :

 OUVRIR TACHE IMPRESSION
 FORM CHARGER("print_form")
     // exécution des événements et des méthodes objet

Appel d’un formulaire table en tâche d’impression :

 OUVRIR TACHE IMPRESSION
 FORM CHARGER([People];"print_form")
     // exécution des événements et des méthodes objet

Analyse du contenu d’un formulaire pour effectuer un traitement sur les zones de saisie de texte :

 FORM CHARGER([People];"my_form") 
     // sélection du formulaire sans exécution des événements ni des méthodes
 FORM LIRE OBJETS(tabNomsObj;tabPtrObj;tabPages;*)
 Boucle($i;1;Taille tableau(tabNomsObj))
       Si(OBJET Lire type(*;tabNomsObj{$i})=Objet type saisie texte)
           //… traitement
       Fin de si
 Fin de boucle
 FORM LIBERER //ne pas oublier



Voir aussi  


FORM LIBERER
Imprimer objet
LISTBOX LIRE OBJETS
Nom du formulaire courant
OBJET Lire type

 
PROPRIÉTÉS 

Produit : 4D
Thème : Formulaires
Numéro : 1103
Nom intl. : FORM LOAD

 
HISTORIQUE 

Créé : 4D v12
Modifié : 4D v14
Renommé : 4D v14

 
UTILISATION DE L'ARTICLE

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