![]() | LEZIONE 8: | Le Finestre |
Con Amos è possibile fare un largo utilizzo delle finestre potendone aprire un numero elevatissimo memoria permettendo; è possibile spostarle, ridimensionarle e ad esse si può aggiungere titoli sulla riga superiore od inferiore, inoltre è possibile tracciarle con o senza bordo, ecc.
Border n,paper,pen
Cambia il bordo della finestra numero n, specificandone il colore di
background e di foreground.
Clw
Cancella il contenuto della finestra corrente.
Title Bottom b$
Permette di inseriure un titolo (la stringa B$) sul burdo inferiore
della finestra corrente.
Title Top t$
Permette di inseriure un titolo (la stringa T$) sul burdo superiore
della finestra corrente.
Wind Open n,x,y,w,h[,bor[,set]]
Apre la finestra numero n con angolo superiore sinistro (x,y)
di larghezza e altezza specificate in caratteri; si può specificare
anche il tipo di cornice da un archivio di 16 stili tutti diversi.
Wind Close
Chiude la finestra corrente; per non sporcare la finestra sottostante usare
prima il comando Wind Save.
Wind Move x,y
Muove l'angolo superiore sinistro della finestra corrente di x pixels
in larghezza y in altezza. Anche qui, per non sporcare le finestre
sottostanti, si fa necessario l'uso del comando Wind Save.
Window n
Rende attiva la finestra numero n.
=Window
Ritorna il numero della finestra corrente.
Wind Save
Salva la parte di schermo sottostante la finestra attiva in modo che, una
volta chiusa, sia possibile ripristinare la zona di schermo che altrimenti
resterebbe sporca dalla finetra appena chiusa o spostata.
Wind Size w,h
Permette di reimpostare l'altezza e la larghezza (in caratteri) della
finestra corrente.
-FUNZIONI MATEMATICHE E MANIPOLAZIONE DI NUMERI E SEQUENZE-
Amos offre una grande varietà di comandi per qualsiasi tipo
di calcolo matematico. C'è da precisare che Amos usa, per
default, variabili intere in modo da accelerare ulteriormente la
velocità dei calcoli; tuttavia è sufficiente aggiungere un
# al nome della variabile per farla considerare REALE. Ad
esempio la variabile CONT è intera mentre CONT# è
reale.
La costante PI-GRECO è disponibile per default.
Le quattro operazioni sono espresse dai seguenti caratteri: +, -, *, /,
mentre l'elevato a potenza è espresso da ^. Ad esempio 3
alevato alla seconda è uguale a: 3^2.
Degree
Imposta la misura degli angoli in gradi sessagesimali.
Radian
Imposta, per la misura degli angoli, i radianti (è settato di default).
a#=Pi#
Assegna ad A# il valore di Pi-Greco (3.14...).
=Sin(a[#])
Ritorna il seno dell'angolo a, o del reale a#; si deve
assegnare ad una variabile reale.
=Cos(a[#])
Ritorna il coseno dell'angolo a, o del reale a#; si deve
assegnare ad una variabile reale.
=Tan(a[#])
Ritorna la tangente dell'angolo a, o a#; si deve assegnare ad
una variabile reale.
=Acos(n#)
Ritorna l'arcocoseno dell'angolo n#; si deve assegnare ad una variabile
reale.
=Asin(n#)
Ritorna l'arcooseno dell'angolo n#; si deve assegnare ad una variabile
reale.
=Atan(n#)
Ritorna l'arcotangente dell'angolo n#; si deve assegnare ad una
variabile reale.
=Hsin(a[#])
Ritorna il seno iperbolico dell'angolo a o a#.
=Hcos(a[#])
Ritorna il coseno iperbolico dell'angolo a o a#.
=Htan(a[#])
Ritorna la tangente iperbolica dell'angolo a o a#.
=Log(v[#])
Ritorna il logaritmo in base 10 dell'espressione v o v#.
=Exp(e#)
Ritorna l'esponenziale del reale e#.
=Ln(l#)
Ritorna il logaritmo naturale, o neperiano, del reale l#.
=sqr(v[#])
Calcola la radice quadrata dell'espressione intera v o reale v#.
=Abs(v[#])
Ritorna il valore assoluto dell'espressione v o v#.
=Int(v#)
Ritorna il valore intero dell'espressione reale v#
=Sgn(v[#])
Ritorna il segno dell'espressione v[#]: -1 se è negativa, 1 se
è positiva.
=Rnd(n)
Genera un numero casuale fra 0 e n; se n non si specifica
viene usata come 1. Ad es.: A=RND(3) assegna ad A un numero
casuale compreso fra 0 e 3.
Randomize Seed/Timer
Premette di scegliere il seme (seed) di partenza per le funzioni casuali;
per generare un seme veramente casuale utilizza come seme la funzione
Timer la cui unità è di 50' di secondo.
=Max(x,y)
Ritorna il numero maggiore tra x e y.
=Max(x#,y#)
Ritorna il numero reale maggiore tra x# e y#.
=Max(x$,y$)
Ritorna la stringa maggiore fra x$ e y$, utile ovviamente per
programmare ordinatori alfabetici.
=Min(x,y)
Ritorna il numero minore tra x e y.
=Min(x#,y#)
Ritorna il numero reale minore tra x# e y#.
=Min(x$,y$)
Ritorna la stringa minore fra x$ e y$, utile ovviamente per
programmare ordinatori alfabetici.
Swap x,y/x#,y#/x$,y$
Scambia il contenuto dellevariabili x e y a prescindere dal
tipo usato.
Fix(n)
Permette di stabilire il numero di cifre decimali che saranno visualizzate
o stampate per i numeri decimali.
Ci sono 4 possibilità:
0 < n < 16: Stabilisce il numero di cifre decimali dopo la
virgola; n > 16: il risultato sarà proporzionale a n
e tutti gli zeri sarammo rimossi;
n = 16: viene ripristinato il formato normale;
n < 16: Forza il modo esponenziale e tante cifre dopo la virgola
pari al valore assoluto di n.
Def Fn f$ [(lista)]=esp
Crea una funzione di nome f$, che accetta i parametri contenuti in
lista. Altrimenti f$ è una funzione fissa, che si
può definire tramite l'espressione esp
Fn f$ [(lista)]
Chiama la funzione f$ e gli passa come parametri quelli della lista.
Es.:
Def FN SUP=(B*H)/2
Input"Digita il valore della base: ";BASE
Input"Digita il valore dell'altezza: ";ALTEZZA
Print "L'area del triangolo è: ";FN SUB(BASE,ALTEZZA)
-LA TASTIERA-
Con Amos anche la gestione della tastira diventa veramente facile
e veloce.
E' possibile controllare tutti i tasti compresi quelli speciali, generare
stati d'attesa, costruire le macro più impensabili e addirittura
rallentare la velocità di ripetizione dei tasti.
=Inkey$
Controlla se un tasto della tastiera è stato premuto e lo fornisce come
risultato. Non riconosce tasti come DEL, HELP e i tasti funzione, i quali
vengono comunque gestiti dal comando Scancode. Non generando uno
stato d'attesa, il suo contenuto si perde subito, quindi è necessario
assegnarlo ad una variabile stringa.
=Scancode
Ritorna il codice di scansione dell'ultimo tasto premuto. A differenza di
Inkey$, riconosce i tasti funzione, DEL ed HELP.
=Key State(s)
Controlla lo stato del tasto, che corrisponde al codice di scansione s.
Ritorna True se quel tasto è stato premuto, altrimenti ritorna False.
Keys=Key Shift
Ritorna lo stato dei tasti speciali tramite i valori:
x$=Input(n)
Permette di inserire solo n caratteri dalla tasatiera, che non saranno
visualizzati, ma immessi nella variabile x$.
Wait Key
Attende che sia premuto un tasto della tastiera. Da usare mettendo in
precedenza il comando Clear Key.
Key Speed lag,speed
Permette di inserire in 50' di secondo il tempo d'attesa necessario per la
ripetizione di un tasto (lag), e la velocità con cui lo stesso
viene ripetuto (speed); incrementando i valori la velocità
diminuisce.
Clear Key
Inizializza il buffer della tastiera;è utilissimo per il comando
Wait Key.
Put Keya$
Immette una stringa a$ (lunga massimo 31 caratteri) nel buffer di
tastiera; ad un successivo Input verrà ritornata la stringa
a$; è possibile immettere anche il carattere ascii 13, che
corrisponde al tasto INVIO, per avere un input automatico.
Input var[;]
Permette di introdurre, durante l'esecuzione del programma, dei dati che
saranno assegnati alla variabile var; con il ; finale si
attacca il cursore alla posizione corrente.
Input "Promt";var[;]
A differenza di Input stampa la stringa "Promt" prima di accettare
l'immissione da tastiera.
Line Input"Promt";var,var...[;]
Permette di inserire, a differenza di input, più variabili separate dal
tasto INVIO. Da usare per l'input di più variabili, come ad esempio le
tre misure dei lati di un triangolo ecc.
-CONTROLLO DEGLI OGGETTI-
Hide [On]
Nasconde il puntarote del mouse.
L'opzione On fa si che il comando abbia effetto su tutti gli schermi aperti e questo, naturalmente è valido anche per Show.
Show [On]
Torna a visualizzare il puntatore del mouse.
Change mouse m
Carica come puntatore del mouse lo sprite m. Sono predefiniti tre
sprite.
Se m è maggiore di 3 sarà caricata dal banco degli
sprite l'immagine numero m-3: per caricare la prima immagine si deve
immettere m=4.
=Mouse Key
Legge lo stato dei bottoni del mouse; ritorna 1 se viene premuto il tasto
sinistro, 2 per il tasto destro e 3 per entrambi i tasti premuti.
=Mouse Click
Controlla se è stato premuto un tasto del mouse; ritorna 0 se nessun
tasto è stato premuto, 1 per il sinistro, 2 per il destro e 4 per il
terzo tasto; sono anche possibili le combinazioni.
=X Mouse=
Legge o stabilisce la posizione del mouse nell'asse delle X.
=Y Mouse=
Legge o stabilisce la posizione del mouse nell'asse delle Y.
=Joy(n)
Permette di controllare lo stato del joystick, o del mouse, collegato nella
porta destra se n=1 o nella porta sinistra se n=0. Ritorna il
valore 1 per il joystick mosso verso l'alto, 2 per il basso, 4 per sinistra,
8 per destra e 16 per il tasto di fuoco.
=Jleft(n)
Ritorna True se il joystick è stato mosso verso sinistra. (n=0
per la porta sinistra e 1 per la destra).
=Jright(n)
Ritorna True se il joystick è stato mosso verso destra. (n=0
per la porta sinistra e 1 per la destra).
=Jup(n)
Ritorna True se il joystick è stato mosso verso l'alto. (n=0
per la porta sinistra e 1 per la destra).
=Jdown(n)
Ritorna True se il joystick è stato mosso verso il basso. (n=0
per la porta sinistra e 1 per la destra).
=Fire(n)
Ritorna True se è stato premuto il tasto di Fuoco. (n=0 per
la porta sinistra e 1 per la destra).
=Mouse Screen
Ritorna il numero dello screen in cui si trova il puntatore del mouse.
Bene! L'ottava lezione termina qui, dalla prossima finalmente tratteremo un degli argomenti più interessanti: gli screen, dove si parlerà di come si apre uno screen, quali caratteristiche vi possiamo attribuire, caricare schermate di nostra fattura dentro ad uno screen ed ulteriori comandi per creare effetti grafici e scrolls.
|