image gauche logo Clairinfo image droite

Version du : 28/01/2007

TUTORIAL PARADOX POUR WINDOWS

Leçon 3 - Utiliser les tables, construire une fiche

Introduction :

Les leçons précédentes nous ont permis de présenter l'objectif de ce tutorial : construire une application de gestion commerciale en Paradox pour windows. Nous sommes arrivés à un schéma des données à gérer, et nous avons construit les tables dans Paradox. Nous allons voir maintenant l'utilisation directe des tables et la création des fiches.

Utiliser les tables :

Dans Paradox, et non dans le runtime, il est possible de travailler directement sur les tables (insertion d'enregistrement, modification, suppression...).

A titre d'exemple nous allons initialiser notre petite table NoPiece.db pour le compteur des N°Facture :

Dans la fenêtre projet, choisissez d'afficher les tables puis, double-cliquez sur la table NoPiece.db. La table s'ouvre.

- Passer en mode Edition (permet d'écrire dans la table) : <F9> au clavier
- Insérer un enregistrement : <Inser> au clavier

Champ Valeur
NoID 1
NomPiece N°Facture
NoPiece 0
TableControle FACT

- Arrêter le mode Edition : <F9> au clavier , l'enregistrement est maintenant validé dans la table.
(le symbole <F9> désigne la touche F9)

Les possibilités au niveau table sont très nombreuses :

- Trier une table
- Chercher une valeur dans un champ
- Mettre un ou plusieurs filtres pour sélectionner les enregistrements à visualiser
- Supprimer un enregistrement (Passer en Edition puis <Ctrl> <Suppr>)
- Recopier l'enregistrement précédent (<Ctrl> <D>)
...

Néanmoins notre objectif est de pas laisser l'utilisateur saisir dans les tables mais bien de lui offrir des formulaires de saisie pour lui faciliter le travail. L'intérêt n°1 d'une base de données relationnelle est justement de pouvoir montrer à l'utilisateur sur un simple écran des données issues de plusieurs tables mises en relation par un ou plusieurs champs communs

Construire l'écran d'accueil de notre application :

- Dans la fenêtre projet, cliquez avec le bouton droit sur Fiche et choisissez Nouveau
- Choisissez Vierge (Nous n'utilisons pas d'assistant dans ce tutorial)

Nous allons commencer par choisir la taille de notre application. Admettons que voulions une application utilisant tout l'écran en 800x600 pixels (la configuration classique en SVGA), nous pourrions prendre comme taille pour nos fiches 21.5 cm x 13.5 cm. Avec ces dimensions nous laissons une place pour la barre des tâches de windows en bas d'écran. Nous pouvons parfaitement occuper tout l'écran mais il faudrait alors s'assurer sur les postes clients que le paramétrage de la barre des tâches de windows a les options suivantes cochées :

- Toujours visible
- Masquer automatiquement

Régler la mise en page d'une fiche :

En Paradox 10, l'option se trouve dans Menu Fichier / Mise en Page. Dans les versions plus anciennes c'est le Menu Fiche / Mise en page. Prenons ici 21.5 x 13.5 en centimètres.

Régler la couleur de fond d'une page d'une fiche :

Le bouton droit de la souris sur un objet quel qu'il soit vous affichera un menu permettant d'accéder aux principales propriétés de cet objet. Cliquez sur la page puis cliquez sur le bouton droit. Choisissez Propriétés puis la couleur de votre choix (vous pouvez créer vos propres couleurs en cliquant sur les cases vierges sur la droite puis en demandant "Ajouter une couleur personnelle").

La construction de la fiche :

Notre première fiche est très simple puisqu'elle se composera uniquement de boutons d'accès aux fonctionnalités du logiciel. Nous adopterons une présentation rodée chez Clairinfo qui a le mérite de présenter les options le plus clairement possible, même si elle ne respecte pas les habitudes Microsoft...

Assurez-vous que la barre d'outils des objets de conception est bien affichée en haut de l'écran. Si ce n'est pas le cas voici la marche à suivre :

Menu Vue / Barre d'outils , cocher la barre "Objets de conception"
(En Paradox 5.0 c'est Menu propriétés / Bureau et décocher la case "Barre d'outils cachée")

C'est le moment de vous exprimer en choisissant styles et couleurs, l'objectif étant d'obtenir un écran présentant 6 boutons comme suit :

Insérer une image :

Le logo est inséré très simplement en utilisant l'objet Graphique,(on dessine un carré à la taille souhaitée, puis bouton droit de la souris on demande Coller, Coller Depuis ou Acquérir pour placer le graphique) le reste a été obtenu en superposant objets Boite , zones de texte pour le titre et boutons.

Modifier les propriétés d'un objet :

Chaque objet de conception a de multiples propriétés accessibles par le menu contextuel (bouton droit). L'une de ces propriétés est particulièrement importante , le nom de l'objet. C'est grâce à lui que nous pourrons manipuler l'objet en ObjectPAL (OPAL en abrégé) , le langage de Paradox. Ce nom apparaît en bas d'écran lorsqu'un objet est sélectionné.

Imbriquer des objets :

Le caractère génial de Paradox apparaît en mesurant la facilité de manipulation de tous ces objets qui peuvent être incorporés les un dans les autres très facilement, le conteneur le plus grand incluant les objets qu'il contient. L'écran ci-dessus vous montre une fiche qui contient :

1 page contenant 1 boite contenant entre autre 6 boutons contenant chacun une boite (pour l'effet de couleur en entrée et sortie de souris) contenant elle-même une zone de texte...

Le côté magique de Paradox , assurant une vitesse de développement sans égal (à ma connaissance) c'est que chaque objet pourra être recopié en incluant les objets contenus , les propriétés de tous ces objets mais surtout les méthodes (les programmes) de ces objets. Concrètement cela veut dire qu'une fois un bouton créé avec une méthode, par exemple PushButton() affichant classiquement "Hello World", si l'on recopie ce bouton sur la fiche ou sur une autre fiche, le nouveau bouton contiendra les même propriétés et surtout le même code qu'il sera alors facile de différencier pour qu'il remplisse son office. L'aspect négatif de cette facilité c'est que, faute d'un système d'héritage des objets, il n'est pas possible de répercuter automatiquement les modifications effectuées sur l'objet initial. La maintenance d'une très grosse application pourrait de ce fait se compliquer un peu.

Développer plus vite grâce aux ClipObjets :

Classiquement les développeurs Paradox se constituent une réserve d'objet utiles, réutilisables en les regroupant au sein d'une fiche particulière. Prenons le cas d'un bouton de menu tel qu'affiché sur notre écran :

- Nous créons un bouton de base sur une fiche, nous l'appelons : BtGenerique
- Pour que ce bouton soit accessible au clavier, nous cochons la case "Arrêt sur tabulation" dans l'onglet Exécution de la fenêtre des propriétés.
- Afin d'obtenir des effets intéressants, nous plaçons sur ce bouton, à l'intérieur, un objet boite
- Nous nommons cette boite : Poussoir
- A l'intérieur de cette boite nous plaçons une zone de Texte. Comme l'accès en OPAL à ce texte ne nous intéresse pas, nous laissons le nom attribué automatiquement.
- Nous tapons le texte : TITRE dans cette zone

- Par le menu contextuel de l'objet bouton (attention pas la boite "Poussoir" ni la zone texte) nous accédons à l'explorateur d'objet et sur l'onglet événements nous double-cliquons sur la méthode MouseEnter (qui se déclenche lorsque la souris passe sur l'objet.) Si par hasard vous ne voyez pas cette méthode dans la liste il vous suffit de demander le mode ObjectPal avancé : Menu Outils / Paramètres , cocher Afficher les propriétés avancées.

method mouseEnter(var eventInfo MouseEvent)
Poussoir.Color=White
endMethod

- Vérifiez votre syntaxe avec <F9>, un message doit vous dire "Aucune erreur de syntaxe" en bas d'écran
- Fermer la fenêtre de cette méthode avec <Ctrl> <F4> ou Menu Fichier / Fermer ou Case de fermeture.

Avec cette simple instruction nous demandons de passer la couleur de l'objet nommé Poussoir à Blanc

Nous effectuons la même manipulation avec la méthode MouseExit :

method mouseExit(var eventInfo MouseEvent)
Poussoir.Color=Gray
endMethod

Comme ces boutons vont nous servir pour appeler des fiches spécialisées, autant intégrer le bout de code OPAL que nous utiliserons souvent. Modifiez la méthode PushButton :

method pushButton(var eventInfo Event)

Var

  F Form

EndVar

Poussoir.Color=Gray

F.open("LaFiche")
endMethod

Ce code déclare une variable F de type Form (fiche), bascule la couleur de la boite poussoir à gris et cherche à ouvrir une fiche nommée "LaFiche".

Un tel bouton constitue un exemple de ClipObjet. pour créer rapidement nos 6 boutons de menu il suffit de coller ce bouton 6 fois, puis de régler les alignements grâce aux commandes du Menu Format / Alignement. Il ne reste plus qu'à modifier les propriétés et méthodes particulières.

Haut de page    Précédent    Suivant

© Copyright 2000-2007 , Clairinfo ® , http://www.clairinfo.fr