You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
nel secondo database ) o N:l. Si può<br />
anche decidere che il database figlio<br />
possa essere modificato mediante<br />
Form, per esempio al momento della<br />
creazione di un nuovo record. Le rela-<br />
zioni possono arrivare a costituire una<br />
complessa gerarchia: per districarsi in<br />
tale "giungla", Twist visualizza un menu<br />
popup che schematizza le relazioni esi-<br />
stenti e dal quale è possibile seleziona-<br />
re il campo da inserire sul Form.<br />
Una volta scelto il campo, un requester<br />
permette di decidere il modo in cui de-<br />
ve apparire a video: in primo luogo si<br />
deve scegliere il tipo di gadget (Gad-<br />
get Type) che deve rappresentare il<br />
campo. Esistono cinque possibilità:<br />
Gadget Stringa, Radio Buttons, Check<br />
Box, Menu Popup ed Editor. Alcuni di<br />
essi sono oggetti standard dell'interfac-<br />
cia grafica di <strong>Amiga</strong> a partire dal 2.0.<br />
Ovviamente la scelta del gadget dipen-<br />
de in parte dal tipo di campo: un gad-<br />
get Check Box ha senso solo in un<br />
campo che offre due possibilità (O o l),<br />
i Radio Buttons e i Menu Popup hanno<br />
senso se il campo può assumere un<br />
numero limitato di valori (i menu popup<br />
consentono comunque di inserire libe-<br />
ramente delle stringhe se le opzioni di-<br />
sponibili non risultano adatte), I'Editor<br />
ha senso se il campo di testo associato<br />
deve contenere più righe di testo (un<br />
indirizzo, un commento...). L'Editor, in<br />
particolare, dispone di una discreta se-<br />
rie di combinazioni da tastiera, che per-<br />
mettono di muoversi lungo il testo, di<br />
selezionare blocchi o linee di testo per<br />
effettuare operazioni di copia e incolla,<br />
di usare corsivo o sottolineato.<br />
Oltre al tipo di gadget si dovrà decide-<br />
re il formato di output (cifre intere e de-<br />
cimali, per esempio), l'allineamento, I'e-<br />
ventuale etichetta da associare al gad-<br />
get, il tipo di bordo, il valore di default<br />
del campo, il font e il suo stile, il colore<br />
di sfondo e quello di primo piano.<br />
Su di un Form possono apparire altri ti-<br />
pi di oggetti oltre ai campi del databa-<br />
se. Gli oggetti testo permettono di far<br />
apparire delle stringhe, mentre I'lmage<br />
Object permette di far apparire delle i-<br />
cone standard.<br />
I Box consentono di inserire dei rettan-<br />
goli colorati ai quali, fra l'altro, è possi-<br />
bile associare uno script ARexx che<br />
verrà lanciato a un doppio click dell'u-<br />
tente.<br />
Il File Object permette, invece, di gesti-<br />
re dati esterni al database, posti cioè in<br />
file separati il cui nome può essere fis-<br />
so o prelevato da un campo del data-<br />
base. Il file verrà caricato mediante il si-<br />
stema dei Datatype sotto 3.0: quindi<br />
tutti i file (animazioni, suoni campionati,<br />
immagini, testi ASCII o <strong>Amiga</strong>Guide)<br />
per cui esiste un datatype potranno es-<br />
sere gestiti da Twist. Si può anche de-<br />
cidere se il file debba apparire in una<br />
finestra separata o entro il Form. Nel<br />
primo caso Twist passerà il nome del fi-<br />
le a Multiview sotto 3.0 e a Display sot-<br />
to 1.3, 2.0 e 2.1 (o a un altro program-<br />
ma scelto dall'utente), nel secondo ca-<br />
so leggerà il file direttamente. Si può<br />
anche istruire il programma perché usi<br />
le proprie routine interne invece dei da-<br />
tatype per le immagini IFF: in questo<br />
caso la lettura appare più veloce (e<br />
compatibile anche con 1.3 e 2.0).<br />
QUERY<br />
Come già dicevamo, il Form non è uti-<br />
lizzato solo per visualizzare dati in mo-<br />
do Record, ma anche per l'inserimento<br />
di nuovi record e le ricerche. In<br />
quest'ultimo caso, in ogni campo che<br />
appare sul Form si può inserire una<br />
stringa che servirà a Twist per effettua-<br />
re la ricerca. Nei campi di testo si potrà<br />
usare l'asterisco come wildcard. In tutti<br />
i campi, se necessario, si potrà anche<br />
inserire all'inizio un operatore (per e-<br />
sempio "." che indica "likeness") che<br />
sarà usato al posto di quello di default<br />
("like" per i testi e "==" per i numeri),<br />
oppure dei range di valori. Perché un<br />
record possa essere selezionato deve<br />
soddisfare tutte le condizioni indicate<br />
(che quindi vengono implicitamente as-<br />
sociate mediante l'operatore AND).<br />
Alternativamente è possibile inserire in<br />
un apposito requester una stringa com-<br />
plessa (con funzioni o che magari ac-<br />
ceda a campi non visualizzati dal<br />
Form): in questo caso si può usare<br />
un'espressione che indica di effettuare<br />
la ricerca solo fra i record selezionati<br />
nel modo List. Di qui è possibile anche<br />
caricare e salvare su disco delle strin-<br />
ghe di ricerca, in modo da poterle riuti-<br />
lizzare facilmente in seguito (appariran-<br />
no anche in un menu popup).<br />
L'utile gadget Find Text consente di ef-<br />
fettuare la ricerca di una stringa in tutti i<br />
campi testuali di un database, con o<br />
senza l'opzione "likeness".<br />
Una volta effettuata la ricerca, Twist<br />
permetterà di visualizzare i record sele-<br />
zionati come se costituissero un data-<br />
base.<br />
REPORT<br />
La gestione dei Report di Twist è po-<br />
tente, ma soprattutto comoda. Un Re-<br />
port può essere stampato su carta, ma<br />
Campi (Field): ogni record di un database<br />
è composto dallo stesso numero di campi.<br />
Ogni campo può contenere un solo tipo di<br />
dato (testi, numeri, date...).<br />
Database: un file che contiene dati divisi<br />
in record. Indica anche il programma che è<br />
capace di gestire tali file.<br />
Database relazionale: un programma ca-<br />
pace di gestire dati presenti in database di-<br />
stinti, ma collegati tra loro. Il collegamento<br />
fra i record di due database avviene me-<br />
diante un campo che contiene lo stesso va-<br />
lore in entrambi i record.<br />
Esportazione (Export): l'attività inversa<br />
della importazione (vedere).<br />
knn: l'insieme di elementi grafici definibili<br />
dall'utente che permette di visualiuare il<br />
contenuto di un record.<br />
Importazione (Import): la lettura di re-<br />
cord da file con un formato diverso da<br />
quello del database. Di solito si tratta di file<br />
ASCII in cui i record appaiono su ogni linea<br />
e i campi sono divisi da virgole o tab.<br />
Indice: un campo del database mediante il<br />
quale vengono ordinati i record.<br />
Lista (list): un modo di visualizzare il con-<br />
tenuto di un database in cui ogni riga è oc-<br />
cupata da un record.<br />
Mai1 Merge: la stampa multipla di un testo<br />
in cui determinate espressioni vengono<br />
man mano sostituite dai campi di un re-<br />
cord. È utile per creare lettere da inviare a<br />
persone diverse a partire da un unico origi-<br />
nale.<br />
Query: la ricerca di dati entro un database<br />
secondo criteri definiti dall'utente.<br />
Record: l'elemento unitario di un database.<br />
E composto di campi (Field). Con questo<br />
termine si indica anche un modo di visua-<br />
lizzazione del database, per cui in ogni<br />
schermo appare un solo record alla volta.<br />
Report: la visualiuazione dei dati di uno o<br />
più database secondo criteri stabiliti dall'u-<br />
tente.<br />
Update: la modificazione automatica dei<br />
record di un database secondo criteri stabi-<br />
liti dall'utente.