![]() | LEZIONE 2: | Miscellanea dei primi comandi |
AMOS apre di default uno schermo in NTSC (320x200) a 16 colori
con cursore e flash attivati.
In AMOS si possono aprire fino ad 8 schermi contemporaneamente,
dal numero 0 al numero 7 e di qualsiasi risoluzione. Se si pensa che questa
sia una forte limitazione ci si sbaglia di grosso!!!
Bisogna ricordare, inoltre, che ogni parola riservata viene resa dall'editor
minuscola, eccetto la prima lettera, mentre le variabili vengono rese
interamente maiuscole. Per utilizzare dunque parole riservate come nomi di
variabili, senza generare nessun errore, bisogna farle precedere da un
qualsiasi carattere (per es.: _ trattino in basso).
Per la sintassi dei vari comandi sono stati previsti alcuni accorgimenti:
I parametri opzionali sono riportati sempre fra parentesi quadre, i doppi
argomenti, i cosidetti swicths dell'AmigaDOS, sono separati dalla solita barra
inclinata / (per es. MENU ON//OFF). I nomi dei
parametri nella maschera del comando sono resi minuscoli (per es.:
DATA lista di dati).
Infine, i nomi dei comandi, riportati nel corso della spiegazione, e dunque
non nella maschera, sono sempre resi in maiuscolo e racchiusi fra due
apostrofi, come si è già avuto modo di osservare. Inoltre con
alcuni comandi è possibile omettere dei parametri, che bisognerà
specificare in altro modo, o che saranno settati con valori di default. Se il
parametro è una variabile numerica basterà immettere al suo
posto una virgola; se è una variabile stringa si dovrà
immettere una stringa nulla.
Esempi.:
Screen Display 0,,45,,
sono omessi i parametri X,Y,W e H;
Set Raimbow 0,0,256,"","",""
sono omessi i parametri R$.G$,B$.
I comandi di AMOS si distinguono in istruzioni normali, che producono un effetto particolare, e in funzioni. Queste ultime sono particolari perchè ritornano dei valori (sono precedute nella loro sintassi da un segno di uguale =).
Bisogna ricordarsi che la velocità di esecuzione di comandi come Print e Locate (comandi di stampa) dipende dal numero di colori, dalla risoluzione e dalla attivazione del cursore. Segue una lista di comandi da immettere in ambiente editor (N.B.: le parole riservate sono scritte volutamente con la lettera iniziale in maiuscolo).
` oppure @
Permette di introdurre una linea vuota occupando solo 4 bytes, utile per aumentare la leggibilità del tuo listato.
Data lista di dati
Mette una lista di dati all'interno di un programma AMOS Basic.
I dati saranno assegnati alle variabili dichiarate con Read.
Ogni dato deve essere separato dal successivo da una virgola. Notare che
l'istruzione Data deve essere sempre all'inizio della riga,
altrimenti sarà generato l'errore corrispondente. I comandi successivi
sulla stessa riga di Data saranno ignorati.
Un comando Data all'interno di una procedura sarà
completamente separato dal programma principale!!!
Es.: Data "Genova",1992,"Cristoforo Colombo"
Dec variabile
Decrementa di una unità la variabile.
Es.: Dec a# equivale all'operazione a#=a#-1
Default
Stabilisce le condizioni di partenza (chiude tutti gli schermi aperti e ristabilisce la risoluzione 320*200 in 16 colori).
D Mod d
Restituisce il resto intero della divisione fra D(dividendo) e d(divisore);
se D o d è decimale anche il resto sarà decimale.
Es.: If (6 MOD 2) = False Then Print "Il sei è multiplo di due"
False
Funzione opposta a True; ritorna il valore 0. E` usata nei
cicli condizionali così come True: un ciclo Repeat...
Until sarà ripetuto finchè la condizione ritorna il
valore True e interrotto non appena la condizione ritorna il valore
False.
Es.: If(6-3) = Not(False) Then PROCEDI
poichè il
risultato (6-3) è positivo, la condizione Not(False)
sarà verificata, e sarà chiamata la procedura PROCEDI.
Follow variabili
Testa le righe che seguono quella corrente tenendo aggiornato lo stato
delle variabili specificate.
Inc variabile
Incrementa di una unità la variabile.
Es.: Inc a# che corrisponde a a#=a#+1
Key$(n) = comando$
Permette di definire una macro. Assegna l'istruzione comando$ al tasto
funzione n (da 1 a 20). I primi dieci si attivano con Amiga sx, gli
altri dieci, da F11 a F20, con Amiga dx.
Es.: Key$(1) = "Cls"
che assegna al tasto F1 il comando per pulire lo schermo.
Premendo in modo diretto il tasto Amiga sx.+F1, pulirete lo schermo, come se aveste immesso Cls.
=Key$(n)
Legge il comando assegnato al tasto funzione n, che varia da 1 a 20.
New
Cancella dalla memoria i programmi presenti, compresi i banchi di memoria,
(spiegheremo più avanti cosa sono).
=Not(d)
Nega l'espressione d; se d è vera diventa falsa, se ad
esempio d=%11111111 not(d)=%0.
Print oppure ? lista variabili
Stampa la lista di variabili sullo schermo. Se questo comando non viene
seguito da niente, o se la lista di variabili supera il numero di caratteri
contenibili sullo schermo o sulla finestra corrente, il cursore si
posizionerà all'inizio della riga successiva. Se Print
viene seguito dal punto e virgola ;, il cursore si
posizionerà immediatamente dopo la fine delle variabili stampate; se
invece il comando è seguito dalla virgola , il cursore
si posizionerà al successivo Tab.
Es.: a$="Amos" : Print A$
fornirà come risultato la stampa della stringa A$ sullo
schermo alla posizione corrente del cursore di testo.
Print Using formato$ lista variabili
Setta il formato dell'output generato dal comando Print.
'lista variabili' rappresenta le variabili che saranno visualizzate e
'formato$' rappresenta il formato dell'output. Esaminiamone i diversi tipi:
~ Ogni simbolo tilde rappresenta un carattere dell'output;
immettendo
?"~~~~";"Amiga"
verranno settati solo quattro
caratteri di output, dunque la stringa sarà troncata della vocale
finale: "Amig", mentre la stringa "Amos" sarebbe stata visualizzata
interamente; se la stringa fosse stata "Tre" sarebbe stato stampato uno
spazio; il formato ~ permette dunque di fissare il numero di caratteri
dell'output.
# Rimpiazza ogni cifra dell'output e non ogni carattere come fa il formato ~; se la variabile è più lunga del formato stabilito, verranno eliminate le cifre più significative (da sx verso dx); viceversa se la variabile è più corta il numero sarà giustificato a destra.
+ Aggiunge il segno + o - ad ogni numero;
Es.: ? Using "+##";10 stamperà '+10' e
? Using "+##";-10 stamperà '-10'.
_ Dopo avere settato il formato +, il formato _ ripristina le condizioni di default: solo i segni meno saranno stampati.
. Mette un punto decimale nel numero e lo centra sullo schermo.
; Mette uno spazio al posto del punto decimale e centra un numero in base al punto decimale (per l'allineamento si deve usare assieme a #).
^ Stampa il numero sottoforma esponenziale; per esempio se si
immette
? Using "^";12345.678
l'output sarà 1.2345678E5.
|