Les étapes de réalisation d'une application avec Paradox

Etape 5: Paramétrer les écrans: enchaînements, contrôles, tris, filtres, ...

 

Cette étape permet de personnaliser le traitement de votre fiche aux données qu'elle contient. Cette personnalisation s'appuie sur

 

- Références des champs:

il s'agit ici de paramétrer les tables de référence permettant de contrôler les valeurs saisies et de fournir le cas échéant une assistance à cette saisie. Ce mécanisme se substitue aux tables de référence de Paradox et est beaucoup plus puissant. Outre le contrôle d'existence d'une valeur par rapport à une table de référence, la liste des valeurs possibles peut être totalement personnalisée (en général Code et libellé), peut être triée selon différents critères choisis par l'utilisateur, faire l'objet d'une recherche de type incrémentale. Un exemple est la saisie d'un code postal. L'aide à la saisie proposera la liste des codes postaux avec le nom de la ville et le cas échéant le bureau distributeur. L'utilisateur pourra ordonner la liste suivant le code postal ou suivant le nom de la ville. La saisie des premiers caractères du nom de la ville limitera automatiquement l'affichage aux villes concernées, tout ceci bien sûr avec d'excellents temps de réponse. Il est également possible de filtrer les valeurs proposées (on peut par exemple se limiter au département éventuellement saisi dans la fiche intiale). On peut autoriser ou non une création à la volée d'une nouvelle référence.

 

- Champs obligatoires:

Bien sûr, on a pu définir un champ comme obligatoire dans la structure de la table. Cette option permet de rendre obligatoire la saisie d'une valeur dans une fiche et facultative dans une autre.

 

- Champs calculés:

Même si ce cas est rare (et doit l'être) dans une base de données bien structurée, il peut être nécessaire ou utile de gérer une redondance de données (pour permettre des recherches plus rapides), de stocker des résultats (total d'une commande par exemple), de faire des valorisations par défaut (initalisations après insertion). Les champs calculés permettent de mettre à jour automatiquement des données des tables du modèle relationnel à partir des informations présentes sur l'écran.

 

- Gestion des boutons:

Si il est bien sûr possible de programmer soi-même les boutons que l'on désire placer sur sa fiche, AGP vous permet cependant de déclencher par l'intermédiaire de ceux-ci des actions paramétrées et notamment:

-- exécution d'une option de menu,

-- exécution d'un script ou d'une méthode de librairie,

-- ouverture d'une nouvelle fiche avec synchronisation des informations de la nouvelle fiche par rapport au contenu de la fiche appelante. Cette synchronisation peut être simple (clé primaire), par clé étrangère (clé primaire de la fiche appelée = champ de la fiche appelante) ou par localisation via un UIObjet de la fiche appelée. Il est possible de forcer l'enregistrement des mises à jour avant de quitter la fiche initiale, de conserver ouverte celle-ci ou de la fermer.

 

- Gestion des déplacements:

il est possible de définir une boîte de dialogue permettant de rechercher un autre enregistrement. Ce type de boîte de dialogue dispose des mêmes possiblités que celles présentes dans les boîtes de dialogue utilisées pour sélectionner une référence (pluralité des ordres de présentation, recherche incrémentale, personnalisation de l'affichage).

 

- Tris des informations:

Supposons par exemple que votre fiche vous permet de gérer une liste de contacts. Le paramétrage du tri permettra à l'utilisateur de modifier l'ordre de présentation des informations selon ses besoins (par nom, par département, par date de naissance, ...). Ce paramétrage peut être utilisé aussi bien pour la table maître de votre modèle relationnel que pour les tables dépendantes.

 

- Liens avec les états:

Depuis une fiche, un bouton standard permet à l'utilisateur d'accéder à la liste des états qui sont disponibles pour ce traitement. On aura par exemple, l'édition de la fiche du contact courant, l'édition de tous les contacts du département, etc. On indiquera dans le paramétrage d'une part la maquette de l'état à utiliser (l'état au sens Paradox), d'autre part les informations à prendre en compte en entrée de cet état. Différentes possibilités sont offertes directement par le paramétrage:

-- enregistrement courant,

-- ensemble d'une table,

-- vue présentes sur la fiche (avec tous les filtres corespondants)

-- sélection des enregistrements sur une valeur d'un champ,

-- affichage d'une boîte de sélection de critères.

La même maquette d'état Paradox permet ainsi d'obtenir des états basés sur des sélections complètement différentes et ce sans programmation. Vous pouvez bien sûr mettre des titres appropriées à vos états.

 

et bien sûr vous pouvez définir saisir une aide pour l'utilisateur spécifique à votre écran ou à objet d'interface de la fiche.

 

Vous pouvez utilisez des paramètres globaux, c'est-à-dire applicables pour toutes les fiches, par exemple pour les réferences ou pour les boutons.

 

Vous disposez également d'un dictionnaire de messages qui vous permet de personnaliser ceux-ci (et de les adapter avec l'utilisateur au dernier moment).

 

Et bien sûr, tout le paramétrage est immédiatement utilisable sans qu'il vous soit nécessaire de sortir de votre application ni même de votre fiche.

 

Programmation:

Si malgré tout le paramétrage disponible, il vous est nécessaire de programmer d'autres actions, vous disposez bien entendu de toute la puissance d'ObjectPal. Il suffit d'ouvrir votre fiche en conception e t vous utilisez normalement Paradox. AGP fournit une préprogrammation qui facilite la vôtre. Par exemple, toutes les opérations que vous pouvez avoir beson de faire dans les cadres de table ou multi-records ont été prévues et les endroits de programmation préparés de telle sorte que votre code soit placé au bon endroit et efficace du premier coup. La qualité de votre programmation sera celle d'un expert Paradox, même si vous débutez avec ObjectPal.