> Tech > Sous-fichiers côte à  côte

Sous-fichiers côte à  côte

Tech - Par iTPro.fr - Publié le 24 juin 2010
email

par Paul Morris - Mis en ligne le 04/11/2004 - Publié en Décembre 2003

Affichez deux sous-fichiers côte à  côte sur un écran passif

J'ai récemment écrit un programme où il fallait présenter deux sous-fichiers côte à  côte. Comme je ne pouvais pas le faire de manière classique avec DDS, j'ai consulté mes livres et la littérature sur le sujet pour voir les techniques disponibles...La première des deux méthodes rencontrées consistait à  simuler des sous-fichiers en utilisant un format d'affichage classique de type non-sousfichier, avec les lignes répétitives et toutes les données contenues dans une structure de données à  occurrences multiples. Si cette méthode a de quoi séduire l'utilisateur, sa programmation n'est pas élégante.
La seconde technique consistait à  avoir chaque sous-fichier dans une fenêtre séparée et à  utiliser une touche de fonction pour faire alterner les fenêtres. Ici, la programmation est plus facile mais les utilisateurs ont plus de difficulté.
Comme aucune de ces approches ne me convenait, j'ai mis au point la technique que j'explique dans cet article. Je pense d'ailleurs qu'elle sera utile dans d'autres circonstances.

Sous-fichiers côte à  côte

Pour comprendre pourquoi je voulais
quelque chose de différent, permettezmoi
d’expliquer le problème. Ensuite,
j’expliquerai comment ma solution est
perçue par l’utilisateur.
Dans le cadre d’un petit package
que j’étais en train de développer,
j’avais un processus batch qui détectait
les enregistrements client en double
potentiels (ou des doubles multiples)
et écrivait des détails les concernant,
dans un fichier. Il me fallait un programme
d’affichage pour examiner ce
fichier d’enregistrements en double.
Du côté gauche, je voulais voir la liste
des clients « originaux » ; du côté droit,
pour un certain client « original », je
voulais voir le ou les enregistrements
en double détectés par le processus
batch. (Dans cet article, je montre une
version simplifiée du programme afin
que le source ne soit pas encombré par
du coding superflu.)
L’écran est divisé en trois fenêtres
(figure 1). En haut, on voit une fenêtre
courte sur toute la largeur avec simplement
les titres. Le côté gauche de
l’écran présente une deuxième fenêtre
montrant les enregistrements client
« originaux ». La troisième fenêtre de
droite est similaire à  la deuxième et
contient la liste des enregistrements en
double correspondant à  l’enregistrement
sélectionné dans le côté gauche.
Cela deviendra plus clair quand j’expliquerai
ce que les utilisateurs voient et
quelles actions ils peuvent effectuer.
Lors du premier chargement du
programme, la fenêtre de gauche
présente une liste, commençant au début
des enregistrements client « originaux
» identifiés. Le premier enregistrement
du sous-fichier est mis en
évidence et la partie supérieure de la
fenêtre montre le nom et l’adresse
complets de l’enregistrement client
mis en évidence.
La fenêtre de droite peut contenir
un ou plusieurs enregistrements présents
dans le sous-fichier ; ce sont les
doubles détectés pour l’enregistrement
mis en évidence à  gauche. Le premier
enregistrement à  droite est lui
aussi mis en évidence et le nom et
l’adresse complets apparaissent dans la
partie supérieure de cette fenêtre. Par
conséquent, les utilisateurs voient
l’original et le premier double du premier
enregistrement client identifié.
Si l’on descend dans la page, le
sous-fichier de gauche se charge et
montre le jeu d’enregistrements suivant
et l’enregistrement mis en évidence
apparaît maintenant sur l’enregistrement
supérieur de la deuxième
page. En haut de l’écran, on voit
l’adresse complète de cet enregistrement qui vient d’être mis en évidence.
La fenêtre de droite change aussi pour
correspondre à  cet enregistrement.
Cette fenêtre montre à  présent le(s)
double(s) de l’enregistrement de
gauche, avec l’enregistrement supérieur
mis en évidence et ses détails
complets dans la partie supérieure de
la fenêtre.
Utilisons F13 : la mise en évidence
descend d’un enregistrement. Le côté
droit change pour correspondre à  cet
enregistrement. A noter que la fenêtre
de droite reflète toujours l’enregistrement
sélectionné par la mise en évidence
sur le côté gauche de la fenêtre.
Si l’on continue à  utiliser F13, on finira
par arriver au bas de la page, après
quoi une nouvelle page sera chargée et
le premier enregistrement de cette
troisième page sera mis en évidence.
F14 fonctionne de la même manière
mais fait reculer la mise en évidence
dans la liste, un enregistrement
à  la fois, en changeant de page si nécessaire
jusqu’à  ce que le début de la
liste soit atteint.
Les touches F23 et F24 fonctionnent
un enregistrement à  la fois de la
même manière que F13 et F14, mais
elles servent à  contrôler l’enregistrement
mis en évidence sur le côté droit
de l’écran. Le plus souvent, il n’y aura
là  que un ou deux enregistrements
mais, si nécessaire, le programme travaillera
avec plus d’une page.
F10 permet de traiter une paire
d’enregistrements mise en évidence.
Ici, un autre programme est appelé
avec les membres client des deux enregistrements
– l’original et le double –
qui lui sont transmis. Ce programme
affiche une autre fenêtre, placée sous
le nom et l’adresse complets et donnant
à  l’utilisateur la possibilité de
prendre une décision sur la suite de
l’action.
A noter qu’il n’y a pas de « X » dans
la case de sélection ; par conséquent, il
n’y a pas d’entrée dans l’un ou l’autre
des sous-fichiers. Tous les enregistrements
sont sélectionnés par le déplacement
d’un pointeur à  l’aide des touches de fonction (dans ce cas, une
mise en évidence) vers les enregistrements
désirés.
Comment f a i r e cela ? Tout
d’abord, je vais faire une visite guidée
du TDS ; ensuite, je donnerai un
aperçu du programme avant d’examiner
le code plus en détail.

Téléchargez cette ressource

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis, conseils d'experts, témoignages clients, ainsi que les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et Collaboration, Impression et Infrastructure.

Tech - Par iTPro.fr - Publié le 24 juin 2010