Les cases à cocher à trois états (4D 2004)
Date de publication : Janvier 2005
Par
Sati HILLYER (4D Evangelist, 4D Inc.)
4D 2004 propose une myriade de nouvelles fonctionnalités. L'une d'entre elles est l'introduction de la case à
cocher à trois états. Ceci ouvre de nombreuses perspectives pour la création de dialogues interactifs. La
présente note technique vous explique comment utiliser les cases à cocher à trois états et vous en présente un
exemple.
I. Sommaire
II. Introduction
III. Scénario : ajout de fonctionnalités à une recherche
IV. Utilisation de la base
V. Résumé
VI. Base exemple
I. Sommaire
4D 2004 introduit une myriade de nouvelles fonctionnalités, parmi lesquelles se trouve la case à cocher à trois
états. Ce nouvel outil ouvre une série de possibilités dans la création de dialogues interactifs avec l’utilisateur.
La note technique suivante explique l’utilisation des cases à cocher à trois états et propose un exemple
d’application.
II. Introduction
Dans les versions précédentes de 4D, l’implémentation d’une case à cocher à trois états était une tâche lourde.
Cela nécessitait trois images différentes pour représenter les trois états de la case. Les images étaient alors
stockées dans un tableau accessible par un bouton image. A chaque sélection du bouton image, une image du
tableau apparaissait. Vous pouviez alors capturer une valeur basée sur l’image choisie, 0 (non cochée), 1
(cochée) ou 2 (état intermédiaire). Le même concept est maintenant un comportement standard de 4D 2004. On
peut maintenant aisément mettre en oeuvre cette nouvelle possibilité dans l’éditeur de formulaires.
Les cases à cocher à trois états permettent une interface plus dynamique dans un dialogue avec un utilisateur. Il
peut y avoir des cas où vous ne vous intéressez pas seulement au noir et au blanc, mais au noir et au blanc et à
tout ce qui est entre les deux.
Par exemple, vous pouvez améliorer un dialogue de recherche en implémentant une case à cocher à trois états
pour chercher quelque chose qui peut être vrai, faux ou sans objet. Certaines recherches peuvent avoir besoin
que certains paramètres soient spécifiques et d’autres plus généraux. Les cases à cocher à trois états sont des
objets parfaitement adaptés à de telles tâches.
III. Scénario : ajout de fonctionnalités à une recherche
Restons sur l’exemple mentionné ci-dessus. Vous avez décidé de créer votre propre dialogue de recherche dans
4D. Vous vous rendez compte que vos utilisateurs effectuent une recherche spécifique à de nombreuses
occasions et qu’avec votre nouveau dialogue de recherche, ils pourront utiliser l’application de manière plus
efficace. Dans notre base, nous avons une table de TACHES. Chaque tâche a les champs suivants qui lui sont
associés (Figure 1).
 Figure 1 : Table des tâches
Dans notre exemple, de nombreuses recherches sont basées sur la personne chargée de la tâche, la tâche ellemême
et une description. Toutefois, les champs Prévue et Terminée sont aussi des critères de recherche
importants. Donc, la question reste posée, comment pouvons-nous inclure tous ces champs dans un dialogue de
recherche simple, mais efficace ?
Le champ Terminée est de type Booléen et le champ Prévue de type Date. Pour notre exemple, nous
implémenterons une case à cocher pour ces deux champs. Pour la date, si nous avons une valeur attribuée, la
tâche est prévue ; donc, la date vide (00/00/00) signifie non prévue. Dans notre exemple, nous pouvons
aisément utiliser deux cases à cocher à deux états pour gérer ces options (Figure 2).
Cela soulève une question : et si un utilisateur veut chercher toutes les tâches d’une certaine personne ? Par
exemple, l’utilisateur veut connaître toutes les tâches de John. Avec notre implémentation telle quelle, nous
pouvons avoir toutes les tâches teminées de John ou toutes ses tâches prévues. Nous ne pouvons par demander
les deux.
 Figure 2 : Dialogue de recherche personnalisée
De manière similaire, qu’arrive-t-il lorsqu’un utilisateur veut trouver toutes les tâches concernant un certain
sujet, indépendamment du fait qu’elles soient prévues ou non ? Ce sont des cas pratiques que les utilisateurs
peuvent rencontrer. L’implémentation de cases à cocher à trois états fournit un moyen de faire une requête sur
certains critères en laissant ouvertes d’autres options. Nous pouvons aisément modifier ce formulaire et passer
les cases à cocher au nouveau format à trois états (Figure 3).
 Figure 3 : Activation de l’option Trois états
Maintenant que nous avons créé notre formulaire et activé nos cases à cocher à trois états, écrivons un peu de
code. A chacun des trois états est affecté un nombre unique. Comme pour la case à cocher à deux états, 0 est
pour non cochée et 1 pour cochée. Avec le troisième état, nous avons maintenant la valeur 2, pour l’état
intermédiaire (Figure 4).
 Figure 4 : Les trois états
Ci-dessous se trouve le code utilisé lors de l’exécution de la recherche :
Nom de la méthode : ExecuteFind
C_TEXTE (vName)
TABLEAU TEXTE (findType;3)
`L'utilisateur doit choisir dans un menu déroulant un des champs
` dans lequel s'effectue la recherche.
Au cas ou
: (findType{findType}="Personne")
CHERCHER ([TACHES];[TACHES]Personne=vName;*)
: (findType{findType}="Tâche")
CHERCHER ([TACHES];[TACHES]Tâche=vName;*)
: (findType{findType}="Description")
CHERCHER ([TACHES];[TACHES]Description=vName;*)
Fin de cas
` Test des trois états pour Terminée
Au cas ou
: (cCom=0)
CHERCHER ([TACHES]; & ;[TACHES]Terminée=Faux;*)
: (cCom=1)
CHERCHER ([TACHES]; & ;[TACHES]Terminée=Vrai;*)
: (cCom=2)
`C'est l'état intermédiaire, donc ça m'est égal qu'elle soit terminée ou non.
Fin de cas
` Test des trois états pour Prévue
Au cas ou
: (cDue=0)
CHERCHER ([TACHES]; & ;[TACHES]Prévue=!00/00/00!;*)
: (cDue=1)
CHERCHER ([TACHES]; & ;[TACHES]Prévue>!00/00/00!;*)
: (cDue=2)
`C'est l'état intermédiaire, donc ça m'est égal qu'elle soit prévue ou non.
Fin de cas
`Complétez la requête! Elle peut avoir été terminée sur un paramètre *
`par un des appels ci-dessus, les quelques lignes ci-dessous la complèteront.
Au cas ou
: (findType{findType}="Personne")
CHERCHER ([TACHES];[TACHES]Personne=vName)
: (findType{findType}="Tâche")
CHERCHER ([TACHES];[TACHES]Tâche=vName)
: (findType{findType}="Description")
CHERCHER ([TACHES];[TACHES]Description=vName)
Fin de cas
IV. Utilisation de la base
Lorsque vous ouvrez la base, vous arrivez en mode Menus créés. Sélectionnez Tâches dans le menu Démo.
Vous obtenez une liste de tâches assignées à John et Sue. Si vous sélectionnez Chercher dans le menu Démo
(ou Ctrl-F pour Windows, Cde-F pour Mac), vous appelez le nouveau dialogue de recherche. Voici un exemple
illustrant les nouvelles possibilités des cases à cocher à trois états.
Essayez ceci :
Faites une recherche pour John avec Prévue cochée et Terminée en position intermédiaire.
Résultat :
Cette recherche va retourner 80 tâches assignées à John, certaines terminées et d’autres non, mais possédant
toutes une date de prévision non vide.
V. Résumé
Les cases à cocher à trois états offrent des fonctionnalités nouvelles avec un meilleur contrôle sur les recherches.
4D 2004 rend leur mise en oeuvre rapide et extrêmement facile. Les cases à cocher à trois états ne sont qu’un
outil parmi d’autres à ajouter à votre arsenal pour concevoir des applications personnalisées et intelligentes.
VI. Base exemple
__________________________________________________
Copyright © 1985-2008 4D SA - Tous droits réservés
Tous les efforts ont été faits pour que le contenu de cette note technique présente le maximum de fiabilité possible.
Néanmoins, les différents éléments composant cette note technique, et le cas échéant, le code, sont fournis sans garantie d'aucune sorte.
L'auteur et 4D S.A. déclinent donc toute responsabilité quant à l'utilisation qui pourrait être faite de ces éléments, tant à l'égard de leurs
utilisateurs que des tiers.
Les informations contenues dans ce document peuvent faire l'objet de modifications sans préavis et ne sauraient en aucune manière engager
4D SA. La fourniture du logiciel décrit dans ce document est régie par un octroi de licence dont les termes sont précisés par ailleurs dans la
licence électronique figurant sur le support du Logiciel et de la Documentation afférente. Le logiciel et sa documentation ne peuvent être
utilisés, copiés ou reproduits sur quelque support que ce soit et de quelque manière que ce soit, que conformément aux termes de cette
licence.
Aucune partie de ce document ne peut être reproduite ou recopiée de quelque manière que ce soit, électronique ou mécanique, y compris par
photocopie, enregistrement, archivage ou tout autre procédé de stockage, de traitement et de récupération d'informations, pour d'autres buts
que l'usage personnel de l'acheteur, et ce exclusivement aux conditions contractuelles, sans la permission explicite de 4D SA.
4D, 4D Calc, 4D Draw, 4D Write, 4D Insider, 4ème Dimension ®, 4D Server, 4D Compiler ainsi que les logos 4e Dimension, sont des marques
enregistrées de 4D SA.
Windows,Windows NT,Win 32s et Microsoft sont des marques enregistrées de Microsoft Corporation.
Apple, Macintosh, Power Macintosh, LaserWriter, ImageWriter, QuickTime sont des marques enregistrées ou des noms commerciaux de Apple Computer,Inc.
Mac2Win Software Copyright © 1990-2002 est un produit de Altura Software,Inc.
4D Write contient des éléments de "MacLink Plus file translation", un produit de DataViz, Inc,55 Corporate drive,Trumbull,CT,USA.
XTND Copyright 1992-2002 © 4D SA. Tous droits réservés.
XTND Technology Copyright 1989-2002 © Claris Corporation.. Tous droits réservés ACROBAT © Copyright 1987-2002, Secret
Commercial Adobe Systems Inc.Tous droits réservés. ACROBAT est une marque enregistrée d'Adobe Systems Inc.
Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires
respectifs.
__________________________________________________
 
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur.
La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
|