|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
Voici une extension de l'article sur l'utilisation de DME, un éditeur de texte créé par Matt Dillon, qui se concentre cette fois sur la création de menus et de macros. L'heure cruelle du choix a sonné : choisit-on une programmation des touches autre que celle par défaut, se garde-t-on la liberté de programmer les différents paramètres au moment voulu, ou nous préparons-nous des menus donnant accès aux différentes macros ? Répondre à ces questions est du ressort de chacun. Cependant, par expérience, il est possible de suggérer quelques solutions. La programmation spécifique des touches est valable lorsque l'utilisation est courante, tous les jours, sinon on passe plus de temps à essayer les différentes touches pour retrouver celle qui réalisait la merveille que l'on avait concoctée quelques mois plus tôt. La définition de nombreuses fonctions, quelle qu'en soit la forme, conduit inévitablement à une sous-exploitation des potentialités. D'autant que l'on n'a jamais fini d'inventer toutes sortes d'exotismes qui encombrent plus qu'ils ne servent. Deux méthodes sont possibles : la méthode "Top Down", qui consiste à partir d'un ensemble simple à ne créer que ce dont on découvre le besoin constant, et la méthode "Down Top", qui propose l'inverse, c'est-à-dire de procéder à des épurations successives à partir d'un ensemble important. Cette méthode suppose que l'on ne soit pas négligent (ce qui est rarement le cas) et que l'on soit capable de déterminer les fonctions rarement utilisées (ce n'est pas toujours facile à moins de disposer d'un compteur d'utilisation). Pour les besoins immédiats, nous proposons de garder la préprogrammation des touches par défaut et d'utiliser le moyen du menu mis à notre disposition pour garder les macros que nous allons inventer, sous forme accessible et identifiable aisément. Juste pour en signaler la possibilité, DME offre l'accès constant à la création de menus. Chacun pourra installer la solution ou la combinaison des solutions selon ses goûts et ses besoins. Création de menus et sous-menus Le jeu d'instructions qui permet la création, l'activation et l'annulation de menus est le suivant :
La fonction liée au bouton droit de la souris est maintenant devenue celle qui nous est familière : elle fait apparaître dans la ligne des menus, le menu nommé "MENU" (deuxième terme de la ligne de commande et noté "header" dans la définition de "MENUADD"). Le terme "EFFACELIGNE" correspondant à "ITEM" apparaît dès que le curseur est sur le menu. Quant à "DELINE", qui correspond à "cmd", c'est la commande souhaitée, tirée de la liste des commandes simples répertoriées ou faisant appel à une macro de notre choix.
Deux précisions :
Macros DME Nous allons maintenant aborder la description, la réalisation et le mode d'emploi de macros. Il est précisé en particulier qu'elles doivent se nommer xxx.DME et qu'elles doivent résider dans le répertoire courant, ou dans Rexx:, la recherche s'effectuant d'abord dans le répertoire courant (celui qui contient DME, bien sûr). Les macros peuvent être tapées à partir de n'importe quel éditeur ou traitement de texte pourvu qu'elles restent en ASCII. DME est tout indiqué pour les générer et les essayer ! On rappelle ici que l'on peut invoquer une macro de trois façons :
La parenthèse est nécessaire car l'espace est considéré comme un séparateur et l'argx serait alors pris comme une commande. On ferait de même :
Application Nous supposons être sous l'éditeur DME, en train de composer un logiciel. Il nous apparaît, pour et pendant ce travail, qu'il serait intéressant d'effectuer des sauvegardes qui ne seraient pas écrasées par les suivantes. Comme d'une part, il est pénible et sujet à des erreurs de devoir taper à chaque fois un nom différent (ce qui est nécessaire pour distinguer les différentes versions) et, que d'autre part, on voudrait avoir l'ordre dans lequel les versions ont été établies, on en arrive à se dire qu'une petite macro qui ferait cela à notre place serait la bienvenue. On tape alors le programme ARexx suivant : Nous en avons fini avec la définition de la macro. Elle est simple et courte, mais sa puissance est déjà considérable. Sauvegarder une macro Nous savons que nous devons sauvegarder cette macro dans le fichier courant en lui donnant ".DME" comme extension. On tape donc et d'abord "Esc" pour faire apparaître la ligne de commande, et l'on tape :
La commande "SAVEAS" fait partie des comandes DME. Le chemin d'accès spécifié ici dépend essentiellement de l'organisation de chacun, mais nous avons choisi de nommer ce programme sauve, augmenté de l'extension obligatoire ".dme". L'appui sur la touche "Entrée" déclenche un petit remue-ménage dans le disque et le traditionnel satisfecit "OK" s'affiche dans la ligne des messages de la fenêtre. Établissement de la commande On peut alors fermer la fenêtre d'édition de la macro et revenir à celle de travail. Dans celle-ci, on passe en mode commande avec la touche "Esc". Pour créer un menu, on tape d'abord :
"MENUADD" crée un menu nommé "FICHIERS". "SAUVEGARDE" est l'élément dans le menu qui est associé à la commande. Il n'y a pas d'argument à passer, on emploie donc la forme simple "rx nomfichier". Notez l'encadrement de la commande par des parenthèses : c'est nécessaire car l'espace compris entre rx et sauve.dme est considéré comme un séparateur et l'ensemble non encadré serait alors interprété comme deux commandes séparées. Exploitation de la commande C'est de loin le moment le plus agréable. On vérifie qu'en sauvegardant plusieurs fois de suite un texte ou programme qu'on a écrit, on retrouve dans le répertoire précisé une suite de sauvegardes nommées FICH1, F1CH2, FICH3... FICHn. Établissement de la commande (bis) A l'attention de ceux qui préféreraient utiliser une touche pour effectuer cette sauvegarde, voici le moyen d'en préprogrammer une. Imaginons qu'on veuille affecter la touche F10 a cet effet :
L'essai est immédiat et concurrent (mais sans conflit) avec la commande précédemment établie pour le menu. Établissement de la commande (ter) On supposera ici que l'on ne souhaite pas encombrer la mémoire de l'ordinateur et qu'il n'y a ni réassignation ni menus disponibles. La procédure est encore plus simple, même si elle demande un peu plus de mémoire cervicale et un peu plus de frappe digitale :
Conclusion momentanée Les possibilités de DME et sa souplesse d'adaptation sont tout à fait étonnantes, eu égard à la rigidité de certains autres programmes. Certes, il est agréable d'utiliser un programme "terminé". Mais c'est un peu comme le prêt à porter : il faut avoir les mêmes goûts ou instincts que le programmeur ou se contraindre à l'emploi proposé avec tous les risques de rejet. D'autre part, mettre en place soi-même le frontal d'exploitation n'est pas obligatoirement à la portée et/ou du goût de l'exploitant. Enfin, du côté du programmeur, l'effort de définition de l'exploitation est toujours important, et fréquemment un résultat décevant est une cause de l'échec du programme sur le marché, alors que l'idée et la technique interne sont en général excellentes. Alors doit-on faire appel à des stylistes pour déterminer la meilleure ergonomie ? Une solution moyenne qui pourrait satisfaire un large éventail d'utilisateurs serait de réaliser un bon noyau et de fournir une solution de frontal par défaut, pour lequel le programmeur ne dépenserait qu'une énergie modérée. L'utilisateur pourrait utiliser immédiatement le programme et, au fur et à mesure de l'affinement de son exploitation propre, l'adapter au mieux à ses travaux quotidiens. ARexx est sans doute le moyen qui, aujourd'hui, est le mieux adapté à de telles réalisations.
|