Dans un formulaire, les variables et les champs sont des objets ayant un fonctionnement semblable.
Les champs d’un formulaire permettent de saisir ou d’afficher les données d’un enregistrement. Lorsque vous créez un nouveau formulaire à l’aide de l’assistant de création de formulaires, vous sélectionnez les champs que vous souhaitez inclure dans le formulaire sous forme d'objets standard. Une fois que le formulaire est créé, vous utilisez l’éditeur de formulaires pour définir des propriétés additionnelles pour la zone telles que les formats d’affichage et les contrôles de saisie. Ces propriétés ne s’appliquent que dans le formulaire pour lesquelles elles sont définies. Vous pouvez définir les mêmes propriétés pour d’autres formulaires ou en définir d’autres. A tout moment, vous pouvez modifier les propriétés des champs et ajouter ou supprimer des champs dans un formulaire.
Les variables objet sont des zones saisissables ou non-saisissables pouvant accueillir des données de type alpha, texte, numérique, date, heure et image. Les variables objet sont créées à l'aide de l'outil Variable . Vous pouvez créer automatiquement un grand nombre de variables à l'aide de la fonction Dupliquer sur matrice. Comme les champs, les variables objet permettent de saisir et d’afficher des données. Les variables sont utilisées pour un stockage temporaire des données. Un des usages courants pour les variables est l’affichage de valeurs calculées à partir de méthodes telles que, par exemple :
vTotal:=Quantité*Prix
Vous créez une variable qui affiche le résultat du calcul, nommez cette variable vTotal, puis utilisez une méthode pour réaliser ce calcul. Vous utilisez les méthodes pour gérer les variables objets. Une variable saisissable accepte des données. Vous pouvez lui affecter des contrôles de saisie de la même manière que vous le feriez pour un champ. Les valeurs saisies sont associées à la variable. Vous pouvez gérer les données avec des méthodes objet ou des méthodes formulaire qui utilisent directement le nom de la variable.
Vous pouvez également représenter des champs et des variables dans vos formulaires sous des formes alternatives, notamment :
Les colonnes des List box de type "sélection" vous permettent d'afficher et de saisir directement des données des champs de la base (cf. section Affichage des champs dans les List box).
A compter de 4D v14, il est possible de représenter directement un champ ou une variable énuméré(e) dans un formulaire à l'aide d’objets Pop-ups/Listes déroulantes et Combo box.
Vous indiquez le type de données de la variable à l'aide de la propriété Type de variable du thème "Objets" de la Liste des propriétés :
Notez que ce paramétrage a principalement pour but de configurer les thèmes et options proposés dans la Liste des propriétés afin qu'ils correspondent au type de données, il ne type pas réellement la variable. Dans la perspective de la compilation de la base, vous devez utiliser les commandes du thème Compilateur.
Cependant, dans deux cas spécifiques, le menu Type de variable a une fonction de typage :
cas des variables image : le menu peut être utilisé pour déclarer les variables avant le chargement du formulaire en mode interprété (cf. ci-dessous)
cas des variables dynamiques : le menu peut être utilisé pour déclarer le type des variables dynamiques (cf. Variables dynamiques).
Des mécanismes natifs spécifiques régissent l’affichage des variables image dans les formulaires. Ces mécanismes requièrent que les variables images soient obligatoirement déclarées avant le chargement du formulaire — c’est-à-dire avant même l’événement formulaire Sur chargement — à la différence des autres types de variables.
Pour cela, il est nécessaire :
soit que l’instruction C_IMAGE(nomVar) ait été exécutée avant le chargement du formulaire (typiquement, dans la méthode appelant la commande DIALOGUE),
soit que la variable ait été typée au niveau du formulaire via le pop up menu Type de variable de la Liste des propriétés.
Dans le cas contraire, la variable image ne sera pas affichée correctement (en mode interprété).
Les variables et les champs peuvent être de toutes dimensions. Lorsque l'objet affiche des caractères, la taille de la zone varie par paliers liés à la taille de la police de caractères utilisée. Les variables et les champs peuvent utiliser des Formats d'affichage. Les variables et les champs de type Texte et Image peuvent contenir des barres de défilement horizontales et verticales (cf. section Barres de défilement et peuvent être imprimées sur une hauteur de taille variable (cf. paragraphe ). Note : Les variables et les champs Texte dans les formulaires sont conçus pour afficher des contenus de taille "raisonnable". Au-delà de plusieurs dizaines de milliers de caractères (en fonction du système), seule une partie du texte sera accessible dans le formulaire.
Les variables et les champs saisissables de type Texte et Alpha acceptent des variations de style individuelles (en plus du style global défini au niveau de l'objet) lors de l'exécution du formulaire si la propriété Multistyle a été cochée pour l'objet. Pour plus d'informations, reportez-vous à la section LISTE SOURCES DONNEES.
Vous pouvez ajouter ou supprimer des champs dans un formulaire à tout moment. Par exemple, vous pouvez souhaiter ajouter des champs dans un formulaire dans les cas suivants :
Vous vous apercevez que vous avez besoin d’un champ que vous avez omis de sélectionner dans l’assistant de création de formulaires.
Vous avez ajouté un champ dans la structure de votre base de données et vous avez besoin de le placer dans un formulaire afin de pouvoir l’utiliser.
Pour ajouter un champ dans un formulaire :
Sélectionnez l’outil d’insertion de champs dans la barre d’objets puis tracez la zone de champ dans le formulaire. 4D affiche automatiquement les propriétés du nouveau champ dans la Liste des propriétés.
Sélectionnez le champ qui vous intéresse dans la liste des tables sources et/ou des champs sources :
Note : Vous ne pouvez pas sélectionner de champ de type BLOB.
Si vous le désirez, définissez les propriétés particulières du champ. Après avoir créé un champ, vous devez en général définir des propriétés supplémentaires. Vous pouvez définir les contrôles de saisie, écrire du texte d’aide, attacher une méthode, définir des options de redimensionnement ou de placement, définir la police ou les options d’apparence (cf. section Propriétés des objets actifs). Note : Vous pouvez également insérer un champ par glisser-déposer depuis la Page Tables de l'Explorateur.
Le nouveau champ apparaît dans le formulaire, à l’endroit où vous l’avez dessiné. La zone du champ affiche le nom du champ que vous avez sélectionné, précédé du nom de la table. Par défaut, 4D n'ajoute pas le libellé désignant le champ. Vous pouvez le créer à l'aide d'une zone de texte statique. A noter que le libellé lui-même peut être défini de façon dynamique (cf. section Utiliser des références dans les textes statiques).
Après avoir placé un champ dans un formulaire, vous pouvez le modifier comme vous le feriez pour tout autre objet du formulaire. Vous pouvez le redimensionner, changer de police, changer de couleur, etc.
Vous pouvez transformer tout type d’objet de formulaire (actif ou non) en un autre, dans le cadre d’une même famille cohérente d’objets. En particulier, vous pouvez transformer un champ en variable objet et inversement. Cette possibilité est utile lorsque, par exemple, vous vous apercevez que vous utilisez inutilement dans votre formulaire un champ alors qu’une variable suffirait. Lorsque 4D transforme un objet en un autre, il conserve les propriétés de l’objet de départ (coordonnées, méthode objet, apparence, couleur, etc.), ce qui évite d’avoir à redéfinir ces informations. Le type de données est conservé : un champ Texte sera transformé en variable Texte, un champ Image en variable Image, etc.
Pour transformer un champ en variable ou une variable en champ, sélectionnez l’objet puis choisissez respectivement Variable ou Champ dans la ligne Type de la Liste des propriétés (thème “Objets”). La Liste est alors réorganisée afin d’afficher les propriétés du nouveau type d’objet. Le nom de l’objet, ses propriétés (saisissable, taille, etc.) ainsi que sa méthode (si elle existe) sont conservés.
Lorsque vous transformez une variable en champ, 4D assigne par défaut à l’objet le premier champ de la première table. Vous pouvez définir manuellement la table et le champ que vous voulez insérer dans le formulaire, à l’aide des lignes Table source et Champ source (thème “Source de données”).
Lorsque vous avez associé une liste de choix (énumération) à un champ ou une variable, vous pouvez utiliser l'option Enregistrer comme Valeur/Référence dans le thème "Sources de données" de la Liste des propriétés.
Cette option permet d'optimiser la taille des données stockées. Pour plus d'informations, reportez-vous à la section Enregistrer comme Valeur ou Référence.
PROPRIÉTÉS
Produit : 4D
Thème : Travailler avec les objets actifs
Nom intl. : Field and variable objects