4D v16.3Contrôles et aides à la saisie |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Contrôles et aides à la saisie
Contrôles et aides à la saisie
A l'aide de la Liste des propriétés, vous pouvez définir diverses propriétés permettant de contrôler et de faciliter la saisie de données par l'utilisateur dans les objets actifs saisissables. Ces propriétés vous permettent notamment de :
L'attribut Saisissable indique si des valeurs peuvent être saisies par l'utilisateur dans l'objet. Cet attribut peut être sélectionné dans le thème “Saisie” de la Liste des propriétés pour les Get list item font. Un champ provenant d’une table liée peut ne pas être saisissable si vous avez désélectionné l’option Champs liés saisissables dans l’assistant de création de formulaires. Vous pouvez rendre le champ lié saisissable en cochant la case Saisissable. Par défaut, tous les objets actifs disposent de l'attribut Saisissable. Si vous souhaitez rendre un champ ou un objet actif non-saisissable pour un formulaire, vous pouvez désélectionner la propriété Saisissable pour l’objet. Un objet non-saisissable ne fait qu’afficher les données. Les données sont contrôlées par des méthodes qui utilisent le nom de la variable ou du champ. Les événements formulaire On Clicked, On Double Clicked, On Drag Over, On Drop, On Getting Focus et On Losing Focus peuvent toutefois être utilisés avec les objets non-saisissables. Ce fonctionnement facilite en particulier la gestion de menus contextuels personnalisés et la conception d'interfaces permettant la prise en compte des glisser-déposer et des sélections de variables non-saisissables. Notes :
Sélectionner l’option Obligatoire rend un champ ou un objet saisissable obligatoire pour le formulaire. 4D n’acceptera pas la validation du formulaire si cet objet ou ce champ ne contient pas de valeur. Aucun des champs ou des objets saisissables n’est obligatoire par défaut. Pour rendre un champ obligatoire pour tous les formulaires, sélectionnez l’attribut Obligatoire dans la fenêtre de l’Inspecteur de l’éditeur de structure. Si vous souhaitez rendre obligatoire, dans un formulaire particulier, une variable saisissable ou un champ défini comme non obligatoire en structure, vous pouvez sélectionner l’option Obligatoire dans les propriétés de l’objet. Les attributs Saisissable et Obligatoire sont identiques aux propriétés des champs que vous pouvez définir dans l’éditeur de structure (cf. section Propriétés des champs). Si vous souhaitez que ces attributs soient différents dans un formulaire particulier, vous pouvez les modifier dans les propriétés de chaque champ. Ces attributs peuvent être sélectionnés dans le thème “Saisie” de la Liste des propriétés pour les Get list item font. Lorsqu'ils sont appliqués à des champs, ces attributs “n’écrasent” pas la définition des attributs définis dans l’éditeur de structure. Si un champ est défini comme non-saisissable dans l’éditeur de structure, vous ne pouvez pas le rendre saisissable en cochant l’attribut Saisissable pour le formulaire. Si un champ est défini comme Obligatoire dans l’éditeur de structure, vous ne pouvez pas le rendre non-obligatoire en désélectionnant l’attribut Obligatoire dans l’éditeur de formulaires. Les attributs Saisissable et Obligatoire ne reflètent pas forcément ceux définis dans l’éditeur de structure. Vous pouvez définir l’attribut Tabulable pour les objets actifs du formulaire. Lorsque cet attribut est coché, l'objet est inclus dans l’ordre de saisie et sera donc activé lorsque l’utilisateur appuiera sur la touche Tabulation. Par défaut, cet attribut est coché pour les champs et les variables saisissables. Si vous le désélectionnez, l'objet sera exclu de l’ordre de saisie. Il pourra cependant toujours être sélectionné par un clic souris ou via une méthode. Pour plus d’informations sur l’ordre de saisie, reportez-vous à la section Modifier l'ordre de saisie. Il est possible d'activer l'attribut Tabulable pour un objet non-saisissable. Dans ce cas, l'objet pourra être sélectionné à l'aide de la touche Tabulation, mais bien entendu il sera impossible de saisir des valeurs dans cet objet. La propriété “Tabulable” n’est accessible que si la propriété “Focusable” est elle-même activée. Autrement dit, tout objet “tabulable” peut obtenir le focus. A l’inverse, un objet peut être “focusable” (il obtient le focus par un clic souris) mais non “tabulable” (il ne fait pas partie de l’ordre de saisie, il ne peut pas être sélectionné par la touche Tabulation). Cette propriété est accessible dans le thème “Saisie” de la Liste des propriétés pour les objets actifs (saisissables ou non) ainsi que pour les champs non saisissables. Lorsque la propriété Focusable est sélectionnée pour un objet, l’objet peut obtenir le focus (et peut donc alors être activé par le clavier par exemple). Il est entouré d’un filet grisé lorsqu’il est sélectionné — sauf si l’option “Cacher rectangle de focus” a été sélectionnée (cf. paragraphe suivant). Case à cocher sélectionnée mais n’affichant pas le focus Case à cocher affichant le focus lorsqu’elle est sélectionnée Lorsque la propriété Focusable est cochée pour un objet non saisissable, l’utilisateur peut sélectionner, copier ou encore transporter par glisser-déposer le contenu de la zone. En exécution, un champ ou tout objet saisissable est entouré d’un rectangle de sélection lorsqu’il a obtenu le focus (via la touche Tabulation ou un simple clic). Vous pouvez masquer ce rectangle en cochant l’option Cacher rectangle de focus. Masquer le rectangle de focus peut être utile dans le cadre d’interfaces spécifiques. Vous pouvez associer des énumérations de valeurs aux objets saisissables des formulaires. Vous pouvez utiliser trois types d'énumérations : les énumérations simples (choix de valeurs), les énumérations de valeurs obligatoires et les énumérations de valeurs exclues. Les énumérations simples sont désignées dans le thème “Source de données” de la Liste des propriétés. Les énumérations de valeurs obligatoires ou exclues sont désignées dans le thème “Plages de valeurs” de la Liste des propriétés. Pour pouvoir désigner une énumération, il est nécessaire de l'avoir créée au préalable à l’aide de l’éditeur d’Enumérations. Associer une énumération source (thème “Source de données”) à un objet saisissable a pour effet d’afficher une liste de valeurs au moment de la saisie. Vous pouvez remplacer la valeur choisie dans l’énumération en saisissant manuellement une nouvelle valeur (à moins que l’énumération ne soit également une énumération de valeurs obligatoires). Une énumération des valeurs exclues empêche toute valeur appartenant à cette énumération d’être saisie. Par exemple, vous pouvez, dans un formulaire de saisie utilisé par des “employés”, interdire certaines valeurs réservées à la saisie par des “responsables”. Vous pouvez associer une énumération source à un champ soit au niveau de la table soit au niveau d’un formulaire particulier. Si vous souhaitez associer l’énumération au niveau de la table, utilisez la fenêtre Inspecteur dans l’éditeur de structure (cf. section Propriétés des champs). L’énumération sera alors associée à ce champ dans tous les formulaires et les éditeurs de recherches de la base. Une énumération de valeurs obligatoires (thème “Plage de valeurs”) restreint la saisie aux valeurs qu’elle contient. Par exemple, vous pouvez utiliser une liste de valeurs obligatoires pour des titres de postes afin que les saisies valides soit celles approuvées par la hiérarchie. Rendre une énumération obligatoire ne provoque pas automatiquement l’affichage de cette énumération lorsque le champ est sélectionné lors de la saisie. Si vous souhaitez que l’énumération apparaisse, affectez la même énumération à l’aide de la liste déroulante Enumération du thème “Source de données”. Un filtre de saisie contrôle exactement ce que l’utilisateur peut entrer au clavier pendant la saisie. Par exemple, si un numéro de composant est toujours constitué de trois lettres suivies de trois chiffres, vous pouvez contraindre la saisie à respecter cette forme. Vous pouvez appliquer un filtre de saisie à un champ ou à un objet saisissable. Un filtre de saisie n’est effectif que pendant la saisie. Il n’a aucun effet sur l’affichage des données une fois que l'objet est désélectionné. En général, les filtres de saisie sont utilisés conjointement avec les Formats d'affichage. Le filtre agit pendant la saisie et le format d’affichage assure un affichage approprié de la valeur après sa saisie. Pendant la saisie de données, un filtre de saisie évalue chaque caractère au moment où il est saisi. Si l’utilisateur tente de taper un caractère invalide (un chiffre à la place d’une lettre, par exemple), 4D refuse la saisie du caractère. Aucun caractère n’est affiché à l’emplacement du point d’insertion tant que l’utilisateur ne saisit pas de caractère valide. Les filtres de saisie peuvent aussi être utilisés pour afficher des caractères de formatage afin d’éviter à l’utilisateur de les taper. Par exemple, un numéro de téléphone français est constitué d’un chiffre de code opérateur suivi d’un chiffre de zone et d’un nombre à huit chiffres groupés par paires. Un format d’affichage peut être utilisé pour afficher le code opérateur entre parenthèses et pour afficher un tiret entre les paires de chiffres. Lorsqu’un tel format est utilisé, l’utilisateur n’a pas besoin de saisir les parenthèses ou le tiret. Pour associer un filtre de saisie à un objet, vous pouvez le sélectionner dans la liste déroulante des filtres intégrés de 4D ou saisir son code dans la zone d’affichage des filtres de saisie. La liste déroulante des filtres de saisie contient des filtres pour les objets de type date, heure et alphanumérique. La plupart du temps, les filtres intégrés de 4D répondront à vos besoins. Toutefois, vous pouvez créer des filtres personnalisés (cf. section Editeur de filtres et formats). Les filtres que vous créez sont ajoutés au début des listes de filtres de saisie, précédés d’une barre verticale (|). Vous pouvez également modifier un filtre de saisie après l’avoir sélectionné. Par exemple, si vous voulez utiliser un filtre qui permet la saisie de lettres majuscules et minuscules, mais qui permet aussi la saisie de l’arobase (@), vous pouvez choisir le filtre suivant : Les codes des filtres de saisie commencent généralement par le signe “&”. Ce caractère indique à 4D qu’il faut interpréter le code qui suit comme un filtre de saisie. Si un code commence par un tilde (~), l’interprétation sera la même hormis pour les lettres, qui seront passées en majuscules. Ce tableau décrit les filtres de saisie du menu de sélection :
Généralement, lorsqu’un filtre de saisie est utilisé, vous devez prévoir un format d’affichage correspondant. Par exemple, si vous utilisez le filtre de saisie des dates (!0&9##/##/##), vous devez également choisir le format d’affichage des dates (##/##/##). Si ce format d’affichage n’est pas sélectionné, seuls les chiffres seront affichés (sans espace ni barre oblique) dans le champ. Voici par exemple quelques suggestions de combinaisons filtres de saisie/formats d’affichage associées à des champs de types courants :
Vous pouvez utiliser les formats d’affichage dans les formulaires de saisie, de sortie et les états rapides. Pour plus d’informations sur les formats d’affichage dans les états rapides, reportez-vous au paragraphe Définir les formats d’affichage des colonnes. 4D permet d’afficher des textes d’exemple dans les champs de vos formulaires. Un texte d’exemple apparaît en filigrane dans un champ, fournissant une aide, une indication ou un exemple sur les données à saisir. Le texte d’exemple disparaît dès que l’utilisateur saisit un caractère dans la zone : Le texte exemple est affiché de nouveau si le contenu du champ est effacé. Vous pouvez définir un texte exemple dans le thème "Saisie" de la Liste des propriétés : L’option Texte exemple est disponible pour les objets suivants :
Un texte d’exemple peut être affiché pour des données de type :
Vous pouvez utiliser comme texte d’exemple une référence xliff sous la forme ":xliff:resname", par exemple : :xliff:PH_Lastname Seule la référence doit être passée dans le champ "Texte exemple", il n’est pas possible de mixer une référence et du texte statique. Note : Il est également possible de fixer et de lire un texte exemple par programmation à l’aide des commandes OBJECT SET PLACEHOLDER et OBJECT Get placeholder. Vous pouvez appliquer des restrictions à la saisie de nombres, dates, ou d’heures en définissant des valeurs maximales et minimales dans le thème “Plage de valeurs” des propriétés des objets. Pendant la saisie de données, si l’utilisateur saisit une valeur inférieure au minimum ou supérieure au maximum, une boîte de dialogue d’alerte est affichée. 4D représente le champ à l’utilisateur afin de lui permettre de saisir une valeur correcte. Pour définir une valeur maximale ou minimale, saisissez la valeur que vous souhaitez définir comme valeur limite. Utilisez le format de saisie approprié pour le type de champ ou l’objet saisissable dont vous fixez les limites. Par exemple, pour un champ de type Date, utilisez le format de saisie de date pour définir les valeurs maximales ou minimales. Les valeurs définies sont inclusives. En d’autres termes, l’utilisateur peut saisir les valeurs définies comme valeurs minimales et maximales. Seules les valeurs supérieures à la valeur maximale ou inférieures à la valeur minimale ne sont pas autorisées. Par exemple, si la valeur maximale saisie est 15, l’utilisateur peut saisir 15 mais pas 16. Vous pouvez utiliser des méthodes pour restreindre les valeurs saisissables par l’utilisateur. Avec une méthode, vous pouvez fournir des informations plus précises à l’utilisateur selon sa saisie ou définir des valeurs minimales et maximales en fonction d’autres données de la base. Par exemple, une méthode peut vérifier le crédit d’un client avant de valider une nouvelle transaction. Vous pouvez aussi utiliser une énumération de valeurs obligatoires pour créer des intervalles de valeurs atypiques. Pour plus d’informations, reportez-vous au paragraphe Enumérations de valeurs obligatoires ci-dessus et à la section Créer et modifier des énumérations. Vous pouvez affecter une valeur par défaut pour un champ ou un objet saisissable. La valeur par défaut est saisie lorsqu’un nouvel enregistrement est affiché. Vous pouvez changer cette valeur à moins que le champ ou l’objet n’ait été défini comme “non saisissable”. Vous définissez une valeur par défaut dans le thème “Plage de valeurs” de la Liste des propriétés. La valeur par défaut doit correspondre au type de l'objet pour lequel elle est définie. 4D propose des codes pour générer des valeurs par défaut pour les dates, les heures et les suites séquentielles de nombres. La date et l’heure sont extraits de la date et de l’heure du système. 4D génère automatiquement toute séquence de nombres requise. Le tableau ci-dessous décrit les codes qui correspondent aux différentes valeurs automatiquement générées :
Vous pouvez utiliser un numéro de séquence pour créer un nombre unique pour chaque enregistrement. Un numéro de séquence est un entier long qui est généré pour chaque nouvel enregistrement. Les numéros commencent à 1 et sont augmentés de 1 à chaque création d’enregistrement. Un numéro de séquence n’est jamais répété, même si l’enregistrement auquel il a été affecté est supprimé de la table. Chaque table possède sa propre séquence de numéros. Pour plus d'informations, reportez-vous à la commande Sequence number dans le manuel Langage de 4D. Si l’objet affiche une liste de valeurs (telle qu’une combo box, un onglet, une zone de défilement ou un pop-up/liste déroulante), vous pouvez spécifier une liste de valeurs qui seront utilisées comme valeurs par défaut. La liste sera chargée dans l’objet avant son affichage dans le formulaire. Pour les objets qui acceptent une liste de valeurs par défaut, la zone des valeurs par défaut devient un bouton : Lorsque vous cliquez sur le bouton, la boîte de dialogue d’édition des valeurs par défaut apparaît :
Saisissez la liste des valeurs par défaut. Les valeurs doivent être séparées par des retours chariot. Cliquez sur le bouton OK pour fermer la boîte de dialogue des valeurs par défaut et retourner dans la fenêtre des propriétés des objets. Lorsque vous saisissez des valeurs par défaut dans la boîte de dialogue des valeurs par défaut, les valeurs sont automatiquement chargées dans un tableau du même nom que l’objet. A l’aide du langage, vous pouvez gérer l’objet en faisant référence à ce tableau. Notes :
Cette option permet d'associer une configuration clavier spécifique au champ ou à l'objet saisissable. Si par exemple, dans une application internationale, un formulaire contient un champ dont le contenu doit être saisi en caractères grecs, vous pouvez associer la configuration de clavier "Grec" au champ. Ainsi, au moment de la saisie, la configuration clavier sera automatiquement modifiée lorsque le champ aura le focus. La valeur par défaut, <None>, indique que l'objet utilise la configuration clavier courante. Note : Il est possible de définir dynamiquement cette option à l'aide des commandes OBJECT SET KEYBOARD LAYOUT et OBJECT Get keyboard layout. 4D inclut un utilitaire de correction orthographique intégré et personnalisable. La vérification orthographique peut être effectuée pour les champs et variables de type Alpha et Texte — ainsi que pour les documents 4D Write. La propriété Correction orthographique (thème “Saisie”) permet d'activer la vérification de l’orthographe pour l'objet. Dans ce cas, la vérification orthographique est effectuée automatiquement lors de la saisie. Note : Vous pouvez également exécuter la commande SPELL CHECKING pour chaque objet à contrôler. Dans 4D, la correction orthographique dans un contrôle d’édition de texte est appliquée en continu, les erreurs étant mises en évidence directement dans le texte via un soulignement pointillé : Plusieurs couleurs de pointillés sont utilisées afin de déterminer le type de correction à effectuer :
L’utilisateur peut alors corriger le texte via un menu contextuel (clic droit sur le mot souligné) ou le dialogue de correction orthographique. Pour afficher les options de correction, il suffit de cliquer avec le bouton droit de la souris sur un mot inconnu. Le menu contextuel qui apparaît contient les commandes du correcteur : Note : L’option Correction orthographique et l’option Menu contextuel doivent être cochées pour l’objet. Vous pouvez sélectionner l’option Afficher le dialogue de correction afin d’afficher un dialogue vous permettant notamment de saisir une valeur corrigée : Ce dialogue est proposé en fenêtre flottante, il restera disponible pour toutes les fenêtres de l’application au cours de la session, tant qu’il n’aura pas été refermé par l’utilisateur. En plus des suggestions de corrections, les options et fonctions suivantes sont proposées par le correcteur dans 4D (via le menu contextuel et/ou le dialogue de correction) :
Le sous-menu Options de correction> propose les fonctions suivantes :
Le correcteur natif Mac propose des options de correction supplémentaires :
La correction orthographique dans 4D peut utiliser :
Par défaut, 4D utilise le dictionnaire correspondant à la langue courante de l’application. Vous pouvez forcer l’ouverture d’un dictionnaire différent à l’aide de la commande SPELL SET CURRENT DICTIONARY. 4D vous permet de définir et d’utiliser des dictionnaires spécialisés pour chaque langue, comportant des listes personnalisées de mots acceptés par le correcteur. Pour plus d’informations sur la mise en place de ces dictionnaires, reportez-vous à la section Annexe D : Utilisation de dictionnaires spécialisés. Vous pouvez associer un message d’aide aux champs et aux objets actifs dans vos formulaires afin d’aider les utilisateurs à travailler avec votre base de données. Les messages d’aide sont affichés sous forme d’infobulles. Par exemple, vous pouvez créer un message d’aide pour un champ Date qui rappelle à l’utilisateur d’ajouter, lors de la saisie de données, un séparateur tel que le caractère “/” entre le jour, le mois et l’an. Une infobulle apparaît dans le formulaire à chaque fois que le curseur de la souris survole le champ ou l’objet : Note : Vous pouvez également associer un message d’aide à un champ au niveau de l’éditeur de structure de la base. Dans ce cas, l’infobulle du champ est affichée dans tous les formulaires où il apparaît. Pour plus d’informations, reportez-vous au paragraphe “Infobulle” dans la section Propriétés des champs. Si deux infobulles différentes sont associées à un même champ à ces deux emplacements, la priorité est accordée à l’infobulle définie au niveau du formulaire. Vous associez une infobulle à un objet à l'aide de la combo box Message d’aide du thème “Aide” dans la Liste des propriétés. Vous pouvez soit :
Le message que vous avez sélectionné ou saisi apparaîtra comme une infobulle pour le champ ou l’objet sélectionné dans le formulaire. Pour supprimer l’association du message d’aide à l’objet sélectionné, sélectionnez Aucun dans la Liste des propriétés. Note : L'affichage des infobulles n'est pas pris en charge dans les fenêtres type pop-up sous Mac OS. Cette propriété est disponible pour les champs ou variables de type Alpha ou Texte dans les formulaires. Elle permet de conserver la visibilité de la sélection à l’intérieur de l’objet après qu’il ait perdu le focus. Ce principe facilite notamment la mise en place d’interfaces permettant de modifier le style du texte (cf. section GET DATA SOURCE LIST). Les commandes du langage OPEN FONT PICKER et OPEN COLOR PICKER permettent d’afficher les fenêtres système de sélection de couleur (color picker) et de police (font picker). A l’aide d’un clic dans une de ces fenêtres, l’utilisateur peut modifier directement la couleur ou la police de l’objet ayant le focus dans le formulaire. Afin de vous permettre de contrôler les actions utilisateur, cette fonction est assujettie à la valeur de la propriété Autoriser sélecteur police/couleur du thème "Texte" : Cette propriété est disponible pour les objets de formulaire de type champ, variable et combo box. Par défaut, elle est désélectionnée pour tous les objets des formulaires. Vous devez la cocher explicitement pour chaque objet dont les attributs de police ou de couleur peuvent être modifiés via un sélecteur système.
|
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
UTILISATION DE L'ARTICLE
4D - Mode Développement ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||