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

Prédictions 2025 des menaces persistantes avancées
L'analyse et l'évolution du paysage des menaces persistantes avancées (APT) et des conséquences sur vos infrastructures IT. Découvrez la synthèse des prédictions, tendances et recommandations pour 2025 avec les experts Kaspersky.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Un leadership décisif en matière d’IA propulse l’innovation
- En route vers l’inconnu : comment préparer les équipes à l’ère de l’IA
- L’Europe, un leader mondial de l’IA
- L’Intelligence Artificielle, le nouveau copilote du CRM : une révolution incontournable
- Optimiser la gestion de la relation client dans le secteur des sciences de la vie
