1717474407

1717474407



Je ne reconnais plus personne en ARexx-Davidson

Pas de script a proprement parler ce mois-ci, mais un petit detour par les bibliotheques de fonctions pour ARexx. II est en effet plus que frequent de trouver a droite ou a gauche, mais surtout a droite; des Scripts ARexx faisant appel a des fonctions externes au langage. Explications.


On l'a dit et repete, ARexx dispose d'un certain nombre de com-mandes et de fonctions internes, qui permettent deja de realiser pas mai de petites choses plus ou moins sympathiques. Certes, mais on en a vite fait le tour. Fort heureusement, le langage est tres facilement extensible, l'exemple le plus evident etant la floppee d'applications dites "compatibles ARexx", qui disposent toutes de leur propre lot de commandes supplementaires. Ainsi, l'excellent emulateur de terminal Term ajou-te-t-il la commande "DIAL", qui permet de composer le numero de telephone d'un BBS depuis un script ARexx. Autre exemple, DeluxePaint 5 reconnait la commande "CIRCLE", qui dessine un cercie ou un disque a 1'ecran. C'est tres bien en soi, mais deux problemes se posent. D'abord, les commandes de chaque programme sont forcśment en rapport avec son domaine d'application : on imagine en effet assez mai, meme si cela est techniquement pos-sible, DPaint offrant une commande permet-

tant de jouer un module Protracker. Ensuite, et c'est assez logique, il faut imperativement que le programme en question tourne en tache de fond. D'autre part, une application ne peut pas toujours fournir toutes les Solutions a un probleme. Ainsi, j'ai dit dans le premier article de cette serie, qu'il serait tout a fait possible d'ecrire un veritable traitement de textes en ARexx. C'est parfaitement vrai, mais vous imaginez bien maintenant que cela ne peut se faire qu'avec seulement les commandes internes du langage : la ques-tion de 1'utilisation d'lntuition (fenetres, menus, etc.) se pose immediatement, et aucune application ARexx ne fournit la reponse. Pourtant, il y en a une, a ce probleme precis ainsi qu'a beaucoup d'autres.

La reponse

La solution consiste donc a utiliser des fonctions specialisees que des developpeurs inde-pendants ont eu la bonne idee de regrouper au sein de bibliotheques partagees. Cekoidon ? C'est tres simple. Le principe est strictement identigue a celui qu'utilisent les programmeurs en C ou en Auembleur. Vous avez tous entendu parler de 1'intuition.libra-ry, de la gadtools.library, ou de la graphics.library ? Pour resumer tout en sche-matisant, ce sont des portions de codę situees dans la ROM de 1'Amiga, dont le but est de simplifier le developpement des pro-grammes. On les appelle des "biblio-theques" parce qu'en informatique, un groupe de fonction s'appelle une "biblio-theque" ("library", en anglais). On dit egale-ment qu'elles sont "partagees" parce que, de par le caractere multitache de l'Amiga, un nombre quelconque de programmes peu-vent les utiliser en meme temps. Un exemple ? Bon, d'accord, mais c'est bien parce que c’est vous : la bibliotheque intui-tion.library contient une fonction nommee OpenWindow() qui permet d'ouvrir une nouvelle fenetre a 1'ecran. Tous les programmes utilisant des fenetres Intuition appeilent tót ou tard cette fonction. lis parta-gent donc, pendant un certain laps de temps, le meme codę. Cependant, toutes les bibliotheques partagees ne se trouvent pas forcćment en ROM. II en existe aussi sur disque, habituellement stockees dans le tiroir LIBS: de votre disquette Workbench, et char-gees en RAM la premiere fois qu'un programme demande a y acceder. Si d'autres programmes utilisent par la suitę la meme bibliothegue, ils se partagent evidemment la

Listing 1

/* V6rifie que la rexxsupporc.1ibrary est dispo-nible */IF ~SH0W('L',    'rexxsupport.1ibrary') THEN

DO

IF -ADDLIB('rexxsupport.1ibrary', 0, -

30) THEN DO

SAY 'Impossible d''ouvrir la rexx-support.library ! '

EXIT 10

END

END

Listing 2 /*

*    $VER: Faute.rexx 1.0 (12.12.95)

łk

* S'utilise cortune 'Fault' du Shell, mais en ARexx

*

*    Ecrit par Franęois Bellet-Taitois

*    (c) Dream 95

*

TRACĘ RESULTS

V

/* Verifie que la locale.1ibrary est disponible */

IF -SHOW('L', 'locale.library') THEN DO

IF -ADDLIB('locale.library',    0,    -30)

THEN DO

SAY 'Impossible d''ouvrir la locale .library !'

EXIT 10

END

END

/* Quelle numśro demande-t-on ?*/

PARSE ARG erreur

/* Est-ce bien un nombre ? */

IF (erreur =    ") I (VERIFY(erreur,    '0123456789')

0) THEN DO

SAY 'Usage: rx Faute ERROR/A/N'

EXIT 5

END

/* Ouvre le catalogue du Shell * OpenCatalog() est dans la loca)e.1ibrary */



Wyszukiwarka

Podobne podstrony:
164 ROMAN KOZŁOWSKI commence, celle-ci ne peut plus s’accroltre en longueur que dans une mesure insi
Je ne sais comment vous remercier, Mesdames et Messieurs, de la bienveillante attention que vous m’a
187 souvent la capillarite ne suffit plus a amener 1’humidite jusqu a la surface de la plagę et alor
PROGRAMMATION EN E par Pierre Girard (armand@emi.u-bordeaux.fr)Amiga Easl.library Ce mois-ci, j ai c
— 317 — point essentielle. Dernierement M. Lindenbaum est alle plus loin, en etendant quelques-uns d
- 8 - En 1855, le reglement de la ąuestion des Bouches du Danube par un arbitrage des puissances eur
56 EUGEN STANESCU 22 et je ne sais si la fin en sera heureuse»7<s. Surement qu’Isaac Comnene
page0035 dr;ii point non plus. ift si vousu’yen trouviez pas plus de vingt, detruiriez-yous ces vill
410 SAIKTE-ANNE DAURAY sur le point de cćder au dćcouragement; mais sainte Annę, quc je ne ccssais d
n° 13 Image de la methode En Franęais l Nous ne somrnes pas une familie nombreuse. Je n’ai pas de fr
72 Le prince Adam Czartoryski ne joua pas de role plus en vue au moment cle )a preparation et de lex
56 EUGEN STANESCU 22 et je ne sais si la fin en sera heureuse»7<s. Surement qu’Isaac Comnene
que je ne puis pas toujours faire tout ce que je veux; le plus presse l’em-porte”, ecrit-il dans un
RŚS/STER A L USURE : SE MAINTENIR. Desormais le nom ne suffit plus pour garantir le succes. Gerard D
15 Adeline RUCQU01 l’« universitć » de Palencia (1) ne peut plus etre misę en doute et sa crćation d
en fevrier 1944 et comment avait ete celebre leur etrange mariage. Je ne voulais pas le questionner&
Nous suivions l’avenue du Roule. Korominde ne trainait plus la jambe et marchait d’un pas vif. 
triomphale. C’est exceptionnel, non, la vue ? Hein? Je ne savais quoi lui repondre. En 1945, un soir

więcej podobnych podstron