6
WINDOWS 3 Ancora sull'Asymetrix ToolBook Primi strumenti di programmazione di Francesco Petroni Nel numero di febbraio di MCmicrocomputer abbiamo eseguito la prova del'Asymetrix ToolBook, prodotto con finalità Ipertestuali che ha buone possibilità di diventare l'analogo dell'Hypercard dell'Apple Macintosh. Abbiamo descritto il prodotto soffermandoci più che altro sul livello iniziale di utilizzazione, sia come lettore (Reader) del Book, sia come autore (Author) che utilizzi però solo funzioni predefinite o al massimo il Macro Recorder. Inoltre abbiamo semplicemente citato le caratteristiche generali del suo linguaggio interno di programmazione che si chiama OpenScript. In questo numero, dopo un necessario riassunto della puntata precedente, dedicato agli smemorati o a chi non ha letto la prova di febbraio, approfondiamo l'argomento OpenScript affrontandolo, come nostra abitudine, nella maniera più pratica possibile 188 Lo scopo di questo articolo non è quello di «fare un corso» di OpenScript, che richiederebbe un bel po' di pagine, e che risulta perlomeno prematuro, ma quello di fornire un «assaggio» della filosofia sottostante un prodotto per utente finale di categoria Object Orien- ted, che lavora in sinergia con il mondo Windows e che permette di sviluppare applicazioni ipertestuali. In questi due mesi peraltro, sono apparsi su varie riviste del nostro setto- re numerosi articoli sul ToolBook. Que- sto a conferma dell'interesse da parte del pubblico. Purtroppo nessuno di que- sti articoli aveva, per lo meno quelli che ho letto, un taglio «pratico». Molta filo- sofia sulla programmazione ad Oggetti, sui prodotti Ipertestuali, e poco ... ar- rosto. Questo a giustificazione del taglio che intendiamo dare al nostro articolo. Riassunto delle puntate precedenti Il ToolBook può essere utilizzato in modalità Reader, questo è il semplice utilizzatore di un'Applicazione sviluppata da altri, e in modalità Author, che è lo sviluppatore dell' Applicazione. L'Author agisce in un ambiente ope- rativo completo, dotato di una barra di menu con svariate opzioni e di una serie di Tool e di Window (fig. 1). Il Reader agisce in un ambiente più ristretto e può attivare solo le funzionalità che l'Author gli ha lasciato attive. Con ToolBook si generano applicazio- ni chiamate Book, composte da Pages. Ogni Page può contenere degli oggetti di vario tipo, che hanno differenti carat- teristiche estetiche e funzionali. La Pagina può essere composta da un BackgroLJnd, i cui oggetti appaiono su tutte le pagine cui il Background stesso è associato, e da un Foreground, i cui oggetti appaiono solo in quella pagina. I vari tipi di oggetti sono definiti nella figura 2 che ne mostra anche la gerarchia, rispettata dagli Script. Ad ogni oggetto di qualsiasi tipo (Book, Page, Buttons, Hotword, Field di vario tipo, Graphic, Group, ecc.) può essere associato uno Script, in pratica un programma, che può avere qualsiasi Figura l- Asymetrix ToolBook - L'ambiente operativo dell'Author. Come spiegato abbon- dantemente nell'arti- colo di prova, pubbli- cato due numeri fa, nel ToolBook esistono due figure. Quella del Reader, ovvero l'utiliz- zatore dell'applicazio- ne e quella dello Author, il personaggio che sviluppa l'applica- zione stessa. Quando questo è all'opera la sua scrivania è ingom- bra di strumenti di la- voro. MCmicrocomputer n. 106 - aprile 1991

Ancora sull'Asymetrix ToolBook - Giornalista IT · Figura 5 -Asymetrix ToolBook - Causa-Effetto. Schematizziamo nella maniera più semplice possibile il rapporto causa-effetto tra

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ancora sull'Asymetrix ToolBook - Giornalista IT · Figura 5 -Asymetrix ToolBook - Causa-Effetto. Schematizziamo nella maniera più semplice possibile il rapporto causa-effetto tra

WINDOWS 3

Ancora sull'Asymetrix ToolBookPrimi strumenti di programmazione

di Francesco Petroni

Nel numero di febbraio diMCmicrocomputer abbiamoeseguito la provadel'Asymetrix ToolBook,prodotto con finalitàIpertestuali che ha buonepossibilità di diventarel'analogo dell'Hypercarddell'Apple Macintosh.Abbiamo descritto il prodottosoffermandoci più che altrosul livello iniziale diutilizzazione, sia come lettore(Reader) del Book, sia comeautore (Author) che utilizziperò solo funzioni predefiniteo al massimo il MacroRecorder. Inoltre abbiamosemplicemente citato lecaratteristiche generali delsuo linguaggio interno diprogrammazione che sichiama OpenScript.In questo numero, dopo unnecessario riassunto dellapuntata precedente, dedicatoagli smemorati o a chi non haletto la prova di febbraio,approfondiamo l'argomentoOpenScript affrontandolo,come nostra abitudine, nellamaniera più pratica possibile

188

Lo scopo di questo articolo non èquello di «fare un corso» di OpenScript,che richiederebbe un bel po' di pagine,e che risulta perlomeno prematuro, maquello di fornire un «assaggio» dellafilosofia sottostante un prodotto perutente finale di categoria Object Orien-ted, che lavora in sinergia con il mondoWindows e che permette di sviluppareapplicazioni ipertestuali.

In questi due mesi peraltro, sonoapparsi su varie riviste del nostro setto-re numerosi articoli sul ToolBook. Que-sto a conferma dell'interesse da partedel pubblico. Purtroppo nessuno di que-sti articoli aveva, per lo meno quelli cheho letto, un taglio «pratico». Molta filo-sofia sulla programmazione ad Oggetti,sui prodotti Ipertestuali, e poco ... ar-rosto.

Questo a giustificazione del taglio cheintendiamo dare al nostro articolo.

Riassunto delle puntateprecedenti

Il ToolBook può essere utilizzato inmodalità Reader, questo è il semplice

utilizzatore di un'Applicazione sviluppatada altri, e in modalità Author, che è losviluppatore dell' Applicazione.

L'Author agisce in un ambiente ope-rativo completo, dotato di una barra dimenu con svariate opzioni e di una seriedi Tool e di Window (fig. 1). Il Readeragisce in un ambiente più ristretto epuò attivare solo le funzionalità chel'Author gli ha lasciato attive.

Con ToolBook si generano applicazio-ni chiamate Book, composte da Pages.Ogni Page può contenere degli oggettidi vario tipo, che hanno differenti carat-teristiche estetiche e funzionali.

La Pagina può essere composta daun BackgroLJnd, i cui oggetti appaionosu tutte le pagine cui il Backgroundstesso è associato, e da un Foreground,i cui oggetti appaiono solo in quellapagina. I vari tipi di oggetti sono definitinella figura 2 che ne mostra anche lagerarchia, rispettata dagli Script.

Ad ogni oggetto di qualsiasi tipo(Book, Page, Buttons, Hotword, Field divario tipo, Graphic, Group, ecc.) puòessere associato uno Script, in praticaun programma, che può avere qualsiasi

Figura l - AsymetrixToolBook - L'ambienteoperativo dell'Author.Come spiegato abbon-dantemente nell'arti-colo di prova, pubbli-cato due numeri fa,nel ToolBook esistonodue figure. Quella delReader, ovvero l'utiliz-zatore dell'applicazio-ne e quella delloAuthor, il personaggioche sviluppa l'applica-zione stessa. Quandoquesto è all'opera lasua scrivania è ingom-bra di strumenti di la-voro.

MCmicrocomputer n. 106 - aprile 1991

Page 2: Ancora sull'Asymetrix ToolBook - Giornalista IT · Figura 5 -Asymetrix ToolBook - Causa-Effetto. Schematizziamo nella maniera più semplice possibile il rapporto causa-effetto tra

lunghezza, che viene eseguito al verifi-carsi di un certo evento.

Gli eventi possibili sono un centinaio.Ad esempio il c1ick sul mouse, oppurel'ingresso in una pagina, oppure il dop-pio click su un bottone, ecc.

Un «event)} invia all' «object)}, entro ilquale è stato generato, un «message)}.Se in questo «object)}, non è previstoun «handler)} per quel «message)} vienechiamato in causa l' «object)} gerarchica-mente superiore.

La programmazione quindi consistenel disegno degli oggetti e nella scrittu-ra degli Script che prevedano per ognievento possibile una corrispondenteaZione.

Lo Script può essere realizzato in duemaniere, registrando, con il Macro Re-corder, una serie di operazioni, oppurescrivendo i comandi nell'editor di Tool-Book.

In figura 5 mostriamo la schematizza-zione della situazione più semplice. UnBottone attraverso il quale si attivaun'Azione, e un Field che contiene ilrisultato dell'Azione.

In questo caso, il più semplice, ma

~in.

D Snal!. lo grid

OK Il Cancel

MCmicrocomputer n, 106 - aprile 1991

Figura 2 - Asymetrix ~ToolBook - Gerarchiadegli Oggetti.In questa figura mo-striamo sia i possibilioggetti manipolabilicon ToolBook sia l'or-dinamento gerarchicocui sono sottoposti.Un "event" invia al-l'oggetto. entro il qua-le è stato generato. un"message". Se inquesto non li previstoun "handlen) per quel«message» vienechiamato in causal',,object,, gerarchica-mente superiore.

Figura 3 - AsymetrixToolBook - Campiona-rio di Windows conTools.Si tratta di un prodottoObject Oriented Uti-lizzando i vari tool adisposizione. che ap-paiono nelle varie Win-dows spostabili a pia-cere sul video, si inse-riscono "Objects" nel-la pagina e gli si attri-buiscono le caratteri-stiche estetiche desi-derate....

WINDOWS 3

Fleld name: I questo e' 11eld gencrlc:oI IBorder otyle- Background la~er:ON.!!ne

Dot 1 h:ryers@ ~tt.ngle Badcground objecl IO:O ,S,croll bar O I IO Shollowed

Scrjpl..

I OK ID Singlc line O Tr.l.nsparcnf

ID B88ellncs 18I eanee. IRecord lIeld Dame: I questo el un 1ield di badc:ground I

Border styte- B.clcground Illller:O Nn.ne

Dol 21.yers@ R.•tt.ngle Badcground objecl IO:O S,croll b.r 2 I IO Sha!!owed

Scrlpl..

I OK IO SIn91e !lne O Trj!noporent

IO 808clincs O Adivate 8cripts Concei IButtonname: IQuesto c'un Bottone Iflutton label: IGIRA I

Borderstyle- B.clcground la)lcr: I Scrlpl.. IO Nlln. ~ot JI.yers

O R.•ttangle objecl IO: I UnkTo ... IB8ckground

@ ROllnded J I L1nk~th ... lO S!!.dowed l8l HllIhllghl I IO !;heekbox OKO R•.!!io

O TrllnSp8rent

I ICuncel

Figura 4 - Asymetrix ToolBook - Definizione delle proprietà degli oggetti.Le caratteristiche funzionali, le proprietà non estetiche quindi, di ciascunoggetto si definiscono attraverso delle specifiche finestre di dialogo in cui siinserisce lo identificatore dell'oggetto e da cui si sprofonda nell'Editor delloScript.

189

Page 3: Ancora sull'Asymetrix ToolBook - Giornalista IT · Figura 5 -Asymetrix ToolBook - Causa-Effetto. Schematizziamo nella maniera più semplice possibile il rapporto causa-effetto tra

Figura 5 - Asymetrix ToolBook - Causa-Effetto.Schematizziamo nella maniera più semplice possibile il rapporto causa-effetto tra unoggetto. il Bottone. su cui si compie un'Azione e un altro oggetto. il Field. che subiscel'Azione stessa. Ambedue gli oggetti possono essere "battezzati" con un identificatore. inpratica un nome riutilizzabile negli Script.

Clickando sul Bottone 'Esegui il Calcolo'EsegUiÙCi"co,O: questo riceve un messaggio 'ButtonUp'

allora ToolBook cerca nello ScriptRisultato (> ><::<»>. collegato al Button un Handler

relativo al messaggio ButtonUp

WINDOWS 3

anche il più frequente, l'Evento cheattiva l'Azione consiste in un c1ick delmouse sul Bottone. L'Azione consisteil'l UI'l8 opeF6lioM 1'l,6tematiea-e-chetermina con un comando che scrive il,suFtato=-nel--Field--che appare accanto

alla parola Risultato.Si tratta di un approccio Object Orien-

ted, nel senso che l'Author prima defini-sce gli oggetti dell'applicazione e poidistribuisce tra questi i vari «pezzetti»della programmazione.

Non è invece ancora chiaro qualepossa essere il campo di applicazionepiù evoluto del ToolBook. Non lo è peruna serie di motivi.

Un primo limite è costituito,dal fattoche ToolBook è un prodotto flat-file.L'applicazione e i dati da questa gestiti

risiedono in un unico file, che ha desi-nenza TBK, e che viene tutto caricato inmemoria da ToolBook (o meglio da Win-

Figura 6 - AsymetrixToolBook - Program-ma di Calcolo - Rea-der.La prima applicazioneè un semplice pro-gramma di calcolo cheutilizza due Field in cuivanno digitati i valorinumerici. un Field cheaccoglie il risultato edue Buttons che atti-vano due Script, unoper l'azzera mento deivalori e l'altro. dipen-den te dal campoScroll, che esegue ilcalcolo e visualizza ilrisultato.

dows). Esistòno comunque dei comandiOpenScript che permettono di fare del-le «chain» tra le applicazioni.

Ma ToolBook è un esponente a tuttigli effetti dell'Universo Windows e co-me tale ne gode i vantaggi.

Già con il prodotto vengono forniteuna serie di DLL, Librerie Dinamiche diWindows, richiamabili dagli Script, chesvolgono i compiti più disparati.

Citiamo quella che permette di collo-quiare con archivi DBF, il che consente,ad un'applicazione ToolBook, di svolge-re anche attività di gestione di archivi,che rimangono esterni e nel formatonativo. Oppure quella che permette dieseguire delle melodie musicali nel pie-no rispetto delle filosofia Ipertestuale.

Il limite superiore per le applicazioni èquindi, almeno per ora, costituito dallavelocità di esecuzione che, in applicazio-ni in cui entrino in gioco tutte questefunzionalità, risulta troppo lenta, del tut-to inadatta ad esempio per applicazionicon finalità gestionali.

190

-- Applica.ione Calcolo

-- Script .ot.t.o.t.ant. la Serall Bar

to handl. buttODUP loc

q.t. lt •• 1 of t.extProaPoint(loc)q.t t.extline it of text af field "funzione"

condition.wh.n lt i. "So ••• "

put ( text of field D1 + text af field 02 ioto t.ext of f1e14 ri.wh.n it ia "Sottrae"

put ( t.ext cf field D1 - text af fi.14 02 ioto text of field ri.wh.n it i. "Moltiplica"

put ( text of field D1 * text of field 02 ioto text af f1.14 ri.wh.n it ia "Divide"

put ( t.ext cf field D1 I text of field n2 into text of field ri.end condition.

.Dd

-- Script .otto.tante il Bottone Nuovo

to handle buttonupclear text of field "nl"clear text of field "n2"cl.ar t.ext of field "ri."

.Dd

Figura 7 - Asymetrix ToolBook - Programma di Calcolo - Script.La sintassi degli Script è molto discorsiva ed è facile, anche da parte di chi non conosce ivari comandi. comprenderne non tanto il significato esatto quanto lo scopo. I vari "pezzi"dello Script sono caratterizzati dal tipo di ((eventI! al verificarsi del quale entrano in azione.

I nostri eserciziNe abbiamo sviluppati quattro che

descriveremo nel dettaglio.- Applicazione di calcolo matematico.- Applicazione per verificare il concettodi Hotword.- Applicazioni per esemplificare variemodalità di movimento tra le pagine delBook.- Applicazione per generare un ciclo discorrimento delle pagine.

Per ognuna di queste applicazioni pre-sentiamo una videata lato Reader, cioèquello che vede l'utilizzatore e non losviluppatore, e un listato in cui abbiamomesso insieme, per comodità, i variScript, che in realtà sono associati cia-scuno ad un oggetto.

Descriveremo anche a cosa servel'applicazione e cosa significano i varicomandi inseriti negli Script.

Lo scopo, ribadiamolo ancora una vol-ta, è quello di dare un piccolo assaggiodella filosofia sottostante ToolBook.

MCmicrocomputer n. 106 - aprile 1991

Page 4: Ancora sull'Asymetrix ToolBook - Giornalista IT · Figura 5 -Asymetrix ToolBook - Causa-Effetto. Schematizziamo nella maniera più semplice possibile il rapporto causa-effetto tra

to handl. buttonUprequ •• t "Qu •• t.•• ' la fin •• tra ch. appare clickando Su PAROLACALDA"

e"d

Figura 9 - Asymetrix ToolBook - Programma di Hotword - Script.Dalla lettura dei tre Script, inseriti in uno stesso ((listato", si possono facilmentecomprendere alcuni comandi relativi alla interazione tra l'oggetto ((Hotword" e gli eventidipendenti dal mouse.

Non abbiamo non solo lo spazio adisposizione, ma neanche ancora le co-noscenze necessarie per proporreScript molto complessi.

Questo aspetto è peraltro ben coper-to dalla ricca dotazione di esempi fornitacon il pacchetto ToolBook e che è ac-cessibile anche internamente passandonella modalità Author.

Ci ripromettiamo comunque di conti-nuare tra qualche numero il discorso.

Premessa ai quattro eserciziPrima di cominciare sintetizziamo l'e-

lenco degli strumenti a disposizione in-dicandoli nell'ordine in cui vanno logica-mente utilizzati in una applicazione sta n-dardo

Book. Il primo 'oggetto da sistemare èil Book. E la prima operazione da fare èquella di definirne il formato in pollici.Esiste una funzione di menu e unacorrispondente funzione di OpenScriptche adegua la grandezza della finestraalla dimensione fissata per la pagina.

In questa maniera si evitano sia spazivuoti intorno alla applicazione sia lacomparsa delle barre di scorrimento suibordi della finestra che non riesca acontenere la pagina intera.

Se si vuole, ma solo nel quarto esem-pio, utilizziamo questa possibilità, perso-nalizzare la barra e le voci di menu eattivare un programma direttamente alcaricamento della Applicazione, occorrescrivere uno Script specifico per il Book.

Il Book è composto da Pages, dellequali a loro volta vanno definite le carat-teristiche. Non può essere variata laloro dimensione in quanto rimane quelladefinita per tutto il Book.

La Page si può scomporre in unaporzione Background, in cui vanno inse-riti tutti gli oggetti fissi, che appaionocioè in tutte le pagine (ad esempio icampi di un archivio). e in una porzioneForeground, che al contrario contienegli oggetti variabili da pagina a pagina.

Lavorando sulla Page si possono atti-vare, attraverso l'opzione di Menu Win-dow, una serie di finestre contenenti ivari tool di lavoro. La più importante,non eliminabile, è quella che permettedi scegliere il tipo di oggetto da inserirenella pagina. Attraverso la voce del me-nu Object Group si possono raggruppa-re più oggetti e si possono attribuireall'intero loro insieme delle caratteristi-che, ad esempio un Script.

L'altra funzionalità che facilita il lavoroè quella che permette di definire, visua-lizzare ed attivare una Grid, indispensa-bile per il corretto allineamento deglioggetti nella pagina. In figura 2 mostria-mo la gerarchia e quindi anche l'elencocompleto degli oggetti manipolabili.

In figura 3 e 4 un campionario di toole tre delle Finestre di Dialogo che ap-paiono al momento della definizionedelle Properties degli oggetti.

Per introdurre ora il concetto di Scriptanalizziamo di nuovo, più nel dettaglio,la figura 5, citata prima, in cui schema-tizziamo la situazione più semplice.

In una finestra esistono tre oggetti:un semplice Testo «Risultato», un But-ton «Esegui il calcolo» e un Field chericeve il risultato del calcolo.

Il Field va battezzato, anche se Tool-Book assegna un identificatore numeri-co ad ogni oggetto, in modo che siapossibile richiamarlo secondo le varienecessità e attraverso varie modalità.

AI Button va associato un program-ma, che in ToolBook si chiama Script e

Figura 8 - AsymetrixToolBook - Program-ma di Hotword - Rea-der.In questa seconda ap-pliG8zione abbiamo in-serito tre Hotword. Ri-chiamano tre Scriptche eseguono tre azio-ni molto simili tra diloro in quanto fannoapparire ciascuna unoggetto ((nascosto"alla vista. La prima ri-chiede un Click. Le al-tre due entrano inAzione semplicemen-te al passaggio delmouse sopra la parola.

-- Applicazione Bo~Word-- Script ch. f. apparir. il Piald T•• tual.

to handl. aou ••Znt:.rahow field -appa-

e"d

to handi. aou••l••v.hide field -appa-

e"d

-- Script che fa apparire il Gruppo Grafico

to handl. aou ••Znter.how group "catl."

e"d

to handl. .aua.l••v.hid. group "caff."

e"d

-- Script ch. fa apparire il Gruppo Grafico

WINDOWS 3

che conterrà le istruzioni che eseguonoun calcolo e un'istruzione che scrivedirettamente il risultato del calcolo nelField.

Uno Script più complesso conterràuna serie di istruzioni OpenScript, rag-gruppate in più parti chiamate «hand-lersll, che servono per definire il com-portamento dell'oggetto rispetto al veri-ficarsi di un evento.

L'evento più diffuso è il click delmouse sull'oggetto e si traduce in dueistruzioni:

to handle buttonUpdefinizione dell'azione da eseguire end

La gerarchia vista prima definisce,come già accennato, l'ordine con il quale

MCmicrocomputer n. 106 - aprile 1991 191

Page 5: Ancora sull'Asymetrix ToolBook - Giornalista IT · Figura 5 -Asymetrix ToolBook - Causa-Effetto. Schematizziamo nella maniera più semplice possibile il rapporto causa-effetto tra

WINDOWS 3

gli Object reagiscono al verificarsi di unEvento. In pratica se si clicka su un Fieldper il quale non è previsto uno Script equesto Field fa parte di un Group il Clickviene passato allo Script del Group. Gliultimi gradini della gerarchia sono lelibrerie DLL, richiamabili con specificicomandi OpenScript, e il System, inpratica il modulo Runtime di ToolBook,che è quello che serve per far «girare»l'applicazione in qualità di Reader.

L'applicazione Calcolo.(Figg. 6 e 7)

La prima applicazione che vi proponia-mo è un semplice programma di calco-lo. Necessita di una sola Pagina e inquesta non serve definire un Back-ground.

Utilizza due Field in cui vanno digitati ivalori numerici, un Field che accoglie ilrisultato e due Buttons che attivano dueScript, uno per l'azzeramento dei valorie l'altro, dipendente dal campo Scroll,che esegue il calcolo e visualizza ilrisultato.

La sintassi degli Script è molto discor-siva ed è facile, anche da parte di chinon conosce i vari comandi, compren-derne non tanto il significato esatto,quanto lo scopo (fig. 7).

Vediamo prima lo Script sottostantel'Oggetto di tipo Field Scroll Bar, battez-zato Funzione, e che contiene quattronomi di operazioni matematiche.

AI verificarsi del Click (to handle but-tonUp) sul campo Funzione viene loca-lizzato e letto il testo della riga e postonella variabile standard IT (la traduzionein italiano è Questo).

Questa viene testata (conditionsend) e a seconda del suo contenutoviene eseguita la conseguente operazio-ne matematica.

192

Figura IO - AsymetrixToolBook - Program-ma di Navigazione -Reader.Questa è un'applica-zione che si sviluppasu più pagine e chemostra alcune modali-tà di movimento tra lestesse. Esistono bot-toni specifici che ap-paiono in una determi-nata pagina e rimanda-no semplicemente adun 'altra pagina, botto-ni di Background cheappaiono quindi su tut-te le pagine, Hotworddi Link che generanoun'andata con ritornotra due pagine, ecc.

Le variabili in gioco altro non sonoche i nomi dei Field, N1, N2 e RIS

Il secondo Script, in coda nella figura,è quello che azzera i campi ed è sempli-cissimo per cui non lo descriviamo,

Si può notare come ToolBook trattisolo valori testuali e come, se questisono dei numeri si possano comunqueeseguire delle operazioni matematiche.

Applicazione Hotword.(Figg. 8 e 9)

L'Hotword è l'oggetto di livello gerar-chico più basso. Qualsiasi parola inseri-ta in un Field di tipo testuale può diven-tare una Hotword e gli si può associareuno Script.

In questa seconda applicazione abbia-mo quindi inserito tre Hotword che ri-chiamano degli Script che eseguono treazioni molto simili tra di loro in quantofanno apparire oggetti «nascosti» allavista. Li abbiamo riportati tutti e trenella figura 9.

Il primo richiama al semplice passag-

-- Applicazione Movimenti

-- Script che eseguono Movimenti di Pagina

to handle buttonUp90 to page "INTRO"

end buttonUp

to handle buttonUp90 to page id O

end buttonUp

to handie buttonupSend Previou&

end buttonUp

Figura Il - Asymetrix ToolBook - Programma diNavigazione - Script. Il Book con più pagine puòessere percorso sia attraverso gli ((oggetti)) inseritidall'Author nelle varie pagine, sia attraverso alcunicomandi di tastiera (Next, Previous, First, Last,ecc.).

gio (mouseEnter) del mouse su di esso,il Field «appa» scritto prima e poi na-scosto.

Il secondo fa la stessa cosa con unGruppo grafico, che mostra una tazzinadi caffè che sparisce quando il mousenon è più posizionato sopra la parola.

Il terzo C1ick contiene l'istruzione but-tonUp, che pretende il Click per entrarein Azione. L'azione è costituita dal sem-plice comando request«testo» che mo-stra una finestra Windows che contieneil «testo» e dalla quale si esce attraver-so un bottone OK. Tale finestra nonappare nella foto.

Applicazioni Movimentitra le Pagine.(Figg. lO e Il)

Questa è un'applicazione che si svi-luppa su più pagine e che mostra alcu-ne modalità di movimento tra le stesse.

Abbiamo quindi prima generato piùpagine e poi ne abbiamo battezzatealcune.

In ogni pagina appaiono sia i Bottoniposti nel Background, che sono quelli infondo alla pagina, sia quelli propri dellapagina.

Ad esempio nella prima pagina, quelladella foto, esiste un indice che rimandaa pagine predeterminate e una pulsan-tiera, tipo VCR, posta nel Background,che manda avanti e indietro di unapagina, oppure alla prima pagina o all'ul-tima. Il tasto centale non serve a niente.

Oltre a questi due tipi di movimentoabbiamo inserito un campo di tipoCheckBox, che rimanda alla ultima pagi-na e poi una Hotword (la parola è Micro-computer) sulla quale è attivato un LinkUn rimando ad una pagina specifica conritorno, attraverso un tasto opportunoposizionato nella pagina di destinazione.

In figura 11 alcuni tipi di rimando.È chiaro che i vari movimenti tra le

pagine possono essere eseguiti in nu-merosissimi altri modi. Esistono funzio-ni di Menu, sottostanti la voce Page, ealcuni comandi di tastiera.

Applicazione animata(Figg 12 e 13)

Abbiamo realizzato, per finire, un'ap-plicazione animata, utilizzando le 16 fi-gure del Mondo in Rotazione disponibiliin una delle schermate di Clip-Art forni-te con il prodotto e visibili sullo sfondodella videata.

Le abbiamo poste in 16 pagine di unBook, spogliato, lato Reader, di tutti imenu (tranne quello che consente ilritorno al livello Author) e dotato di unBottone che lancia un Loop di scorri-mento delle pagine.

MCmicrocomputer n. 106 - aprile 1991

Page 6: Ancora sull'Asymetrix ToolBook - Giornalista IT · Figura 5 -Asymetrix ToolBook - Causa-Effetto. Schematizziamo nella maniera più semplice possibile il rapporto causa-effetto tra

Figura 12 - AsymetnxToolBook - Program-ma di Animazione -Reader.Abbiamo realizzatoun 'applicazione anima-ta, utilizzando le 16 fi-gure del Mondo in Ro-tazione, disponibili inuna delle scherma te diClip-Art forfl/te con ilprodotto (sullo sfon-do). Le abbiamo postesulle 16 pagine di unBook, spogliato, latoReader, di tutti i menu(tranne quello checonsente il ntorno allivello Author) e dotatodi un Bottone che lan-cm un Loop di scon~mento.

WINDOWS 3

-- Applicazione GIRA

-- Partenza Come Readar

to haodla readaraet ayalevel to readerhide .tatuaboxsend aizetopag8send initialize

end

-- Inizializzazione

to haodla initialize--do menusrestare menubar at readarremava lDenu "File" at readarremave menu "Paga" at readerremava menu "Text" at readarremava menu "Belp" at reader

--do Edit menuremava menuitem "Undo" at readerremove menuitem "Cut" at readarremava menuitem "Copy" at readarremave menuitem "Paste" at readarremava menuitem "Clear" at readerremove menuitem "SelectAll" at reader

end

Passando agli Script verifichiamoquello connesso al Book e che serveper ridisegnare l'albero dei menu latoReader. Si può notare anche l'istruzioneche serve per adattare la finestra alladimensione della pagina, che in questaapplicazione è estremamente ridotta.

Nel secondo Script una istruzioneclassica per generare un Loop, attraver-so una variabile locale.

ConclusioniSi è trattato di una serie di «assaggi-

ni» che, se non visti nella giusta ottica,possono «sviare» il lettore, al qualeconsigliamo comunque di rileggere lepremesse ai quatto esercizi.

ToolBook non serve a fare questotipo di applicazioni. ToolBook utilizzaqueste tipologie di strumenti, da noiinseriti in applicazioni elementari, perrealizzare applicazioni anche molto com-piesse.

Figura 14 - AsymetrixToolBook - Applicazio-ne Ipermediale.Nel package del Tool-Book sono IfIseriteuna sene di applicazio-ni che hanno lo scopodichiarato di far vede-re le numerose tipo 10-gie di applicazioni svi-luppabili con il T001-Book stesso. Adesempio in questa ap-plicazione Ipertestualela Luna sorge e la mu-sica suona. Tali appli-cazIOni servono poiper essere ((saccheg-glatell dallo aurore chepuò anche copiare gliscnpt e i pezzi degliscnpt.

MCmicrocomputer n. 106 - aprile 1991

Chi proviene dalla programmazione«tradizionale», necessita di un breveperiodo di ambientamento, durante ilquale non deve tanto imparare concettinuovi (in ToolBook ci sono tutte le strut-tl)re classiche della programmazione),quanto convertirsi alla nuova filosofiaObject Oriented.

Il costo di tale periodo di ambienta-mento sarà ammortizzato solo se sirealizzeranno in seguito un certo nume-ro di applicazioni, non lo sarà se se nedeve realizzare solo «una nella vita».

Mentre oggi sono già disponibili pro-grammi di supporto, è presumibile chenel futuro, del ToolBook usciranno nuo-ve versioni che miglioreranno le presta-zioni generali, inadatte oggi ad applica-zioni molto voluminose, e che facilite-ranno ulteriormente l'interattività traAuthor e Script.

Ad esempio non ci dispiacerebbe checi fosse un Editor guidato, in cui i vari«statement» possano essere scelti via

Script sottostanta il Bottona GIRA

Il bottone che fa girare il Mondo

to handle buttonUp

local xstep x from l to 16 by l

sand nextend step

eud buttonUp

Figura 13 - Asymetrix ToolBook - Programma diAnimazione - Script. Vediamo, inseriti nello stessolistato. lo Script collegato all'oggetto Book. cheviene eseguito al lancio dell'applicazione, e lo Scriptcollegato al bottone GIRA, che esegue il Loop,attraverso una istruzione del tipo Far Next.

scroll list e in cui anche la costruzionesintattica dell'handler sia guidata.

L'esempio cui ci riferiamo è il Deci-sion Tree del Borland Object Vision,provato nel numero scorso, in cui laprogrammazione viene ridotta al dise-gno di una struttura logica di tipo grafi-co, durante la realizzazione della quale ilprodotto propone passo passo gli ele-menti costruttivi utilizzabili in quella si-tuazione. A parte queste considerazionisull'ambiente Editor Script, chiamatopesantemente in causa in caso di pro-grammazione spinta, resta il fatto cheToolBook è un prodotto multiforme, chepuò coprire svariate esigenze applicati-ve su svariate tipologie di campi applica-tivi, in cui si mischiano problematicheevolute di programmazione con proble-matiche grafiche e con problematicheWindows. Ed è per queste caratteristi-che del tutto originali per il mondo PC,che ToolBook si conferma un prodottomolto interessante per chi lo esamina estimolante per chi lo usa.

193