You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
ON DISK<br />
a cura di Carlo Santagostino e Roberto Attias<br />
Fiasco VI. 1 0 Nils 6andener<br />
Fiasco è un database dotato di interfac-<br />
cia ARexx che supporta i Datatype co-<br />
me tipo per i campi. I requisiti minimi<br />
per il funzionamento sono la versione<br />
2.04 del sistema operativo e 1 Mb di<br />
RAM, anche se è preferibile disporre<br />
della versione 3.0, un 68020 e 2 Mb di<br />
RAM.<br />
L'installazione del programma avviene<br />
mediante I'installer standard Commodo-<br />
re. Per creare un database personaliz-<br />
zato di esempio, prima di tutto, dovremo<br />
definire i campi presenti in ogni scheda;<br />
per fare ciò è necessario entrare in mo-<br />
dalità Mask, selezionando la voce di me-<br />
nu ControlIMask Mode. Prima di aggiun-<br />
gere il primo campo dobbiamo indicar-<br />
ne la posizione spostando il cursore nel-<br />
la finestra di progetto e definirne il tipo,<br />
scegliendo una delle voci nel sottomenu<br />
FieldIField Type. In alternativa, possia-<br />
mo selezionare la voce ControlIServi-<br />
cewindow e scegliere il tipo di campo<br />
tramite il gadget ciclico presente nella fi-<br />
nestra aperta; questa finestra duplica le<br />
funzionalità del menu Field, necessarie<br />
per la costruzione dei campi e in seguito<br />
faremo riferimento ai gadget in essa pre-<br />
senti, invece che alle voci del menu. U-<br />
na volta scelto il tipo di campo, possia-<br />
mo aggiungerlo premendo il gadget<br />
Add. A questo punto, tramite un oppor-<br />
tuno requester, devono essere specifi-<br />
cati alcuni parametri per il campo.<br />
Alcune delle informazioni da indicare<br />
variano a seconda del tipo di campo<br />
scelto, ma è sempre necessario indica-<br />
re I'ID del campo (nome col quale viene<br />
identificato il campo) e i valori Max<br />
Chars (numero massimo di caratteri di-<br />
gitabili) e Width (numero massimo di<br />
caratteri visibili contemporaneamente<br />
nel gadget). Una volta impostate que-<br />
ste informazioni, possiamo premere<br />
"OK" per disporre il campo alla posizio-<br />
ne indicata dal cursore. Il campo può<br />
essere spostato mediante mouse e le<br />
informazioni possono essere modificate<br />
mediante un doppio click.<br />
Un'altra informazione sempre presente<br />
nel requester è quale debba essere il<br />
valore di default per il campo, valore<br />
mostrato durante la compilazione di<br />
nuovi record: è possibile usare il valore<br />
digitato nello stesso campo del record<br />
precedente (Use Old Value) oppure un<br />
valore costante (Use Own Value) che<br />
deve essere inserito nel campo Own<br />
Value. Inoltre, un campo può essere<br />
definito Virtual e10 Read Only. Nel pri-<br />
mo caso il contenuto di tale campo non<br />
viene inserito dall'utente, ma calcolato<br />
da Fiasco al caricamento del progetto.<br />
78 ~ I @ ~ A ~ ~ A Z IN' N77/APRILE E 1996<br />
La computazione del valore è affidata a<br />
uno script ARexx da indicare nell'appo-<br />
sito campo. Nel secondo caso il campo<br />
non è modificabile.<br />
I tipi di campi e le informazioni variabili<br />
associate sono generalmente abba-<br />
stanza intuitive, per cui ci limitiamo a in-<br />
dicare i parametri più complessi.<br />
Per il tipo Extern, nel campo Command<br />
deve essere indicato il pathname di un<br />
comando seguito dalla sequenza %S.<br />
In fase di compilazione dei record in<br />
questo campo deve essere dfgitata una<br />
stringa (il nome di un file) che viene so-<br />
stituito alla sequenza %s nell'invocazio-<br />
ne del comando.<br />
Il tipo Datatypes permette di inserire nei<br />
database informazioni multimediali di<br />
qualunque tipo, purché supportate dai<br />
datatype (disponibili dalla versione 3.0<br />
del sistema operativo) Dal punto di vista<br />
visivo il campo si presenta come una re-<br />
gione rettangolare, le cui dimensioni so-<br />
no indicabili tramite Width e Height del<br />
requester dei parametri, eventualmente<br />
circondato da due barre, un pulsante<br />
marcato "Su e un gadget di stringa Le<br />
due barre consentono d~ spostarsi sul-<br />
l'immagine visualizzata all'interno della<br />
regione, mentre 11 gadget "S" permette d~<br />
salvare la stessa in formato IFF. Il gad-<br />
get stringa serve a inserire 11 valore del<br />
campo, che ovviamente deve essere il<br />
nome di un file da leggere mediante I<br />
datatype. Le barre, il gadget per il salva-<br />
taggio e quello per l'inserimento del no-<br />
me del file sono o meno presenti in fun-<br />
zione dello stato dei gadget Scrollbars,<br />
Save Gadget e Display Filename nel re-<br />
quester dei parametri (ovviamente ri-<br />
muovendo 11 gadget per l'inserimento<br />
del nome del file, il campo del datatype<br />
risulta di sola lettura). I gadget Defer<br />
Loading, Play Immediatly e Border per-<br />
mettono rispettivamente di effettuare il<br />
caricamento del file solo quando l'utente<br />
preme return nel gadget del nome, di e-<br />
seguire 11 play (solo per suoni e anima-<br />
zioni) non appena il record viene visua-<br />
lizzato e di visualizzare un bordo intorno<br />
alla regione rettangolare.<br />
Il tipo Text crea testi da inserire nella<br />
maschera visualizzata, mentre Button<br />
esegue un comando CL1 (script con il<br />
flag "s" attivo o comandi veri e propri) o<br />
ARexx.<br />
Una volta definito un database, proce-<br />
diamo alla compilazione dei record. Me-<br />
diante la voce ControllRecord Mode tor-<br />
niamo in modalità inserimento. Premen-<br />
do il gadget Add della finestra di Servi-<br />
zio possiamo ora aggiungere nuovi re-<br />
cord; nella stessa finestra troviamo pul-<br />
santi per spostarsi tra i record e tndica-<br />
tori del nome del database e del numero<br />
d'ordine del record attuale.<br />
Tra le operazioni che possono essere e-<br />
seguite su un database vi sono la ricer-<br />
ca di un record e la selezione di un sot-<br />
toinsieme di record. La prima operazio-<br />
ne può essere compiuta mediante la vo-<br />
ce di menu CompareIFind, che mostra<br />
un requester per la specifica delle infor-<br />
mazioni di ricerca. Una volta selezionato<br />
uno dei campi, deve essere indicato un<br />
pattern (eventualmente facendo uso dei<br />
caratteri "?" e O#?") presente nel record<br />
cercato. Premendo quindi Next viene<br />
mostrato il primo record successivo che<br />
soddisfa la condizione imposta, mentre<br />
First e Previous cercano rispettivamente<br />
il primo nel database e quello preceden-<br />
te. Selezionando il gadget Activated nel-<br />
la sezione Blurred Search, il meccani-<br />
smo di ricerca non richiede più la corri-<br />
spondenza perfetta, utilizzando invece<br />
una tolleranza che si imposta tramite il<br />
cursore Factor.<br />
La selezione di un sottoinsieme di re-<br />
cord avviene mediante un requester i-<br />
dentico al precedente, attivabile con la<br />
voce di menu CompareIEdit Filter. Una<br />
volta impostato il filtro, è necessario at-<br />
tivare la voce CommandIUse Filter per<br />
limitare la visibilità al sottoinsieme.<br />
Infine abbiamo la possibilità di mostrare<br />
i record in forma tabellare (voce Con-<br />
trol/ListWindow), quella di importare e<br />
esportare database, e un esteso sup-<br />
porto ARexx. Per maggiori informazioni<br />
vi rimandiamo alla documentazione ac-<br />
clusa in inglese (in formato <strong>Amiga</strong>Gui-<br />
de o DVI) e ai database forniti come e-<br />
sempio.<br />
Specifiicfre del programma<br />
Tipo: Giftware, inviare un dono a Nik Bande-<br />
ner, Dekanafsgasse 4 0-34369, Hofgeismar,<br />
Germany Configurazione minima: Kickstart<br />
2.04, 1 Mb RAM Consigliato Kickstart 3.0,<br />
68020 e 2 Mb RAM. Installazione doppio click<br />
sull'icona "instalVEnglish" File di supporto: g-<br />
tlayout.library e quelli contenuti nella directory<br />
Arexx<br />
LowFrag V 1.2 Eric Sawageau<br />
In un computer dotato di multitasking<br />
come <strong>Amiga</strong> il sistema operativo deve<br />
occuparsi di gestire numerose risorse,<br />
tra cui la memoria. Quando <strong>Amiga</strong>DOS<br />
deve lanciare programmi, richiede a<br />
Exec la memoria dove disporre il codi-<br />
ce; questi ultimi a loro volta effettuano<br />
ulteriori richieste a Exec per sistemare<br />
dati, immagini e quant'altro sia neces-<br />
sario. Il susseguirsi di allocazioni e<br />
deallocazioni di memoria da parte dei<br />
diversi programmi avviene senza un or-