ear_79-[v4-compatible]

Page 32

oppure è possibile attivare un programma per il collegamento a BBS, trasferire una serie di dati ed automaticamente visualizzare in un foglio elettronico le statistiche della trasmissione sotto forma di grafici; come vedete le possibilità sono molteplici.

ARexx Di solito ci tocca l'ingrato compito di sminuire le vostre aspirazioni "programmatorie", dicendovi che il mondo della programmazione non è facile, bisogna studiare e faticare. Questa volta siamo felici di annunciarvi che per utilizzare 1'ARexx non occorre aver studiato fisica nucleare, e anche se si tratta di un linguaggio di programmazione, basta conoscere 1'AmigaDOS ed il sistema in genere (non necessariamente in maniera approfondita) e precisamente necessita: - saper utilizzare shell e comandi AmigaDOS (ma questo dovrebbe servire per tutto su Amiga) - elaborare testi (altrimenti come pensate di scrivere il programma?) Per quanto detto sino ad ora dovrebbe essere chiaro che ARexx sfrutta due importanti caratteristiche del S.O. di Amiga: il multitasking e la comunicazione tra processi. Difatti volendo organizzare il lavoro tra più task deve essere possibile naturalmente portarne più in esecuzione e cosa più importante occorre trasferire i dati elaborati da un programma ad un altro per permetterne la manipolazione. Questo punto della comunicazione tra processi è particolarmente importante e per coloro che fossero stati distratti nel corso di programmazione in C (mettendo che lo abbiano seguito) ricordo che si basa su due importanti strutture: le porte messaggi ed i messaggi; i messaggi sono i dati veri e propri che si vogliono trasmettere da un'applicazione ad un'altra, uniti ad un gruppo di informazioni utili al sistema che riguardano il messaggio; le porte messaggi sono invece le buche della posta del sistema, permettono infatti di ricevere e spedire messaggi ad un destinatario ben preciso senza che vengano perse per strada; ed infatti ad ogni porta messaggi è associata un nome ben preciso che la identifica univocamente (l'indirizzo del destinatario o del mittente a seconda che la porta riceva o invii il messaggio); così è possibile comunicare un po' come la posta di tutti i

giorni (o se preferite la più moderna e-mail) senza problemi di sbagliare persona (o meglio processo); ora per tornare ad ARexx i programmi non comunicano direttamente tra loro (questo saprebbero già farlo senza bisogno di ARexx), ma passano per ARexx che ne organizza il funzionamento e le comunicazioni; per questo chi fa i programmi ARexx deve conoscere il nome delle porte dei programmi che vuole controllare; vorrei infatti vedere voi scrivere una lettera "infuocata" a Samantha, (Fabio per le eventuali lettrici) per poi rendervi conto di non sapere l'indirizzo a cui spedirla (come minimo vi fracassate la testa al muro); questo però non costituisce un problema più di tanto, perché i produttori dei programmi vi diranno sempre i nomi delle porte ARexx utilizzate. Mentre la sequenza di operazioni da seguire per inviare un messaggio è semplice (quando voglio, lo invio... ), quello per riceverlo è un po' più articolato: - l'applicazione attende un messaggio sulla porta (naturalmente si ritiene che il programma abbia già aperto la porta, questo vale anche per inviare un messaggio) - il sistema notifica all'applicazione che nella porta è presente un messaggio - l'applicazione legge il messaggio ed esegue delle elaborazioni in funzione del medesimo - l'applicazione notifica al mittente di aver ricevuto il messaggio correttamente. Osserviamo ora brevemente le caratteristiche di ARexx:

- Dati non definiti: tutti i dati sono trattati come stringhe (anche quelli numerici) - Esecuzione interpretata: molto utile per capire lo svolgimento del programma e per eventuali debugging, per un programma ARexx difatti non è rilevante la velocità, dato che le operazioni "critiche" vengono di solito svolte dai programmi controllati - Gestione automatica delle risorse; non dovrete preoccuparvi di allocareldisallocare memoria, aprirelchiudere file, librerie o quant'altro; il tutto viene svolto in maniera trasparente all'utente - Librerie di funzioni: é possibile utilizzare librerie di funzioni esterne per utilizzare funzioni estese ad ARexx.

Awio Vediamo ora come avviare ed utilizzare ARexx; il prgramma che si occupa dell'esecuzione dei programmi ARexx è RexxMast ed è situato nella directory System del Workbench; è necessario lanciarlo una volta sola, ed è possibile (anzi consigliato) che il sistema se ne occupi automaticamente inserendo l'icona del RexxMast nella directory WBStartup o modificando 1'User-Startup inserendo la linea: REXXMAST > N I L :

che provvederà a lanciarlo al momento dell'esecuzione della StartupSequence (che chiamerà a sua volta la User-Startup). Di solito i programmi ARexx sono presenti nella directory REXX: (usualmente assegnata a SYS:S) ma non è obbligatorio; per eseguire i programmi ARexx (oltre ad essere richiamabili dal programma che le utilizza) si può usare il comando RX con la seguente sintassi: RX programma.rexx o RX programma

U n programma breve può essere inserito direttamente sulla linea di comando di RX fra virgolette: RX "SAY 'piccolò; SAY 'programmà; END"

che stampa la scritta "piccolo programma"; i programmi ARexx posson o essere anche lanciati d a Workbench, specificando RX come comando associato al file (l'icona fa riferimento naturalmente al file testo del programma).

Primi programmi Qui vale la pena ricordare il famoso proverbio: "se un'immagine vale più di mille parole, allora un listato ne vale più di diecimila", per questo iniziamo subito con qualche esempio per mostrare come ARexx funziona. Iniziamo con il primo listato che potete osservare nel riquadro, esempio che oramai dovreste riconoscere molto bene: il programma Ciao a Tutti!!! I1 listato consiste di una sola linea (come potete vedere come in C si inseriscono i commenti delimitati


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.