Exa 0.1 © 1994 David Gaussinel Cardware Avant-Propos Le but d'Exa est de permettre d'exploiter depuis n'importe quel programme la formidable library qu'est la WhatIs.library. J'ai vu certains programmes qui l'utilisaient mais aucun ne m'ayant plus j'ai décidé de créer moi-même un programme comme je révais. Mais si vous connaissez mes autres programmes vous saurez que je programme généralement en Amos. C'était bien sur impensable de programmer un logicel comme Exa en Amos, aussi je me suis penché sur le E. C'est lui qui m'a permis de réaliser ce dont je révais. Objet Exa reconnait le type d'un fichier, grace à la whatis.library, et permet à l'utilisateur d'opérer dessus des actions qu'il aura lui même prévu. Un simple exemple. Vous soumettez à Exa un fichier qu'il reconnait comme un texte Ascii. Il ouvre alors un requester vous offrant le choix entre plusieurs actions que vous mêmes avez définies. Il peut par exemple y avoir les actions Lire, Editer, Imprimer ... pour un texte Ascii. Légal Exa est distribué TEL QUEL. En aucun cas l'auteur ne pourrait être tenu responsable de toute détéroriation de quelque nature qu'elle soit causé par Exa. Vous utilisez ce logiciel à vos propres risques en toute connaissance de cause. Cependant je vois mal quelles détériorations Exa pourraient causer :) Exa 0.1 est © 1994 David Gaussinel. L'utilisation et la diffusion de ce programme sont libres. Vous pouvez le copier, le manger ... mais en revanche il est formellement interdit de le vendre. Cette interdiction ne couvre bien sur pas les couts occasionnés par la diffusion. En clair, et sans décodeur, il n'est pas permis de le diffuser sur des disquettes vendues à plus de 25 FF. En France, certains dépassent pourtant ce tarif largement... C'est à vous utilisateur du DP de vous prendre en main et de comparer les prix. Exa est cardware c'est-à-dire que si vous appréciez et/ou utilisez le programme vous devez envoyer une carte postale à l'auteur pour le lui signaler et ainsi lui faire comprendre que des améliorations et des futures versions sont les bienvenues. Mon adresse est la suivante : David Gaussinel - 18 rue Fénelon - 24200 Sarlat ReqTools.library © Nico François WhatIs.library © Sylvain Rougier et Pierre Carette. Fred Fish a l'autorisation de l'inclure dans sa collection, ainsi que Pascal Rullier dans la collection BUGSSDP. Matériel nécessaire Exa ne marchera que sur les systèmes 2.0 et supérieur. Les librairies ReqTools et WhatIs doivent de plus être présentes en LIBS:. Usage Exa est une commande Shell, autrement dit pas la peine de la lancer depuis le Workbench. Vous n'obtiendrez qu'un requester vous donnant l'identité du programme. Depuis le Shell, vous pouvez faire : Exa ? pour obtenir la syntaxe des options comme avec toute commande Shell classique. Voici les options : NAME/A/M,CFG=CONFIG/K,PUBSCREEN/K,NOREQ/S,NOCFG/S En premier lieu vous devez donc spécifier le nom du ou des fichier(s) à examiner. CFG sert à définir le nom du fichier de configuration pour Exa. Par défaut ce fichier sera ENV:Exa.prefs. PUBSCREEN spécifie un écran public sur lequel viendront s'ouvrir les requesters. Si vous indiquez NOREQ cela signifie justement que vous ne voulez pas de requester, alors que NOCFG signifie que vous ne voulez pas qu'Exa charge un fichier de configuration. Fichier de configuration Parlons un peu de ce fichier de configuration qui est le pivot central d'Exa. Pour chaque type que reconnait la WhatIs, il a le format suivant : TYPE Text GAD _Lis|_Imprime Bin:MuchMore %f Type >PRT: %f ENDTYPE Nous avons ici définit les actions pour le type Text. Il y aura ici deux actions qui sont Lis et Imprime. Après l'indicateur GAD on trouve sur la même ligne le texte qui figurera dans les gadgets. Le signe _ indique un raccourci clavier tandis que | sépare les gadgets entre eux. Ensuite sur chaque ligne qui suit, on définit dans l'ordre la ligne de commandes à exécuter où %f représente le nom du fichier sélectionné. Mais il peut arriver aussi dans certains cas que vous souhaitiez que plusieurs types aient le même type d'actions. Dans ce cas vous pouvez n'en définir qu'un et indiquez que les autres ont les mêmes actions que celui-ci. Dans notre exemple, nous pourrions écrire : TYPE Doc IDEM Text ENDTYPE pour que le type Doc ou le type Text qui en réalité ne sont pas très éloignés aient le même type d'actions. Enfin, vous pouvez vouloir qu'aucun requester ne s'ouvre et qu'immédiatement une action sur le fichier se produise. Imaginons que vous vouliez que n'importe quelle image soit immédiatement visionnée. Vous pouvez écrire : TYPE ILBM NOREQ Bin:Mostra %f ENDTYPE Dernière précision mais oh combien utile, vous pouvez mettre plusieurs commandes sur une même ligne d'instructions en les séparant par un trait vertical | comme pour les gadgets. Les commandes s'exécuteront alors les unes après les autres. Par exemple, vous pouvez faire : TYPE LHArc GAD _Liste Bin:Lha v >T:temp|bin:MM T:temp|delete T:temp ENDTYPE Ceci vous permettra alors de lister le contenu des archives Lha et de les lire grace à MuchMore. Utilisations pratiques Comme vous avez pu le remarquer Exa n'a pas d'interface mais tout se passe avec le Shell. Cependant un bon moyen d'utiliser Exa est par exemple de l'utiliser avec ToolManager en créant un dock, une appicon ou un menu. De cette façon si par exemple vous avez créé une appicon Exa, vous pourrez depuis le Workbench cliquer sur une icone et la lacher sur l'appicon d'Exa pour agir sur le fichier de l'icone. Vous pouvez aussi utiliser Exa avec n'importe quel gestionnaire de fichiers comme BrowserII, DirectoryOpus, MegaD, etc... où vous définissez un menu ou un gadget pour Exa. De plus, Exa pouvant s'ouvrir sur un écran public, vous pourrez voir les requesters sur l'écran que vous voulez. Remerciements A Sada pour avoir dessiné l'icone bien avant la fin du programme en cinq minutes un jour d'Aout. Si vous voulez utiliser Exa en AppIcon avec ToolManager vous pouvez utiliser cette icone. Des remerciements tout particulier vont à Sylvain Rougier et Pierre Carrette pour avoir écrit la WhatIs.library qui est vraiment performante. Je remercie aussi Nico François pour tout ses programmes DP de grande qualité et notament pour la ReqTools. Enfin comment ne pas remercier l'auteur du E Wouter van Oortmerssen pour son fabuleux langage.