BORDER, PAPER, INK coloriamo l’output!

Chi proviene dal mondo dello Spectrum conoscerà perfettamente questi comandi che sono il pane quotidiano. Sul QL non c’è tanta differenza senonché l’area del border non esiste (per fortuna) ma il comando serve solo per disegnare un bordo, dallo spessore deciso dall’utente, nel riquadro di output. Ne consegue che di default lo spessore è 0. La sintassi è la seguente:
BORDER spessore,colore
Tale comando, nell’area di output disegna un rettangolo colorato. Pertanto se si vuole creare un bordo in un’altra zona dello schermo è necessario usare lo statement WINDOW che, grazie ai 4 paramentri, “disegna” un rettangolo in una porzione di schermo desiderata. Ecco quindi che l’utilità del comando BORDER fa sì che l’area dell’output WINDOW venga ben delineata sullo schermo. Volendo si puo’ fare un “border multicolor” semplicemente creando un border di un colore con uno spessore maggiore per quello più esterno fino ad un border più sottile per quello più interno.

Esempio:

470 BORDER 7.2
480 BORDER 6,3
490 BORDER 5,4
500 BORDER 4,5
510 BORDER 3,6

Questo creerà un bordo dentro un altro dando così un effetto di profondità. C’è da dire che i comandi di print finiranno nell’area del bordo sovrapponendosi così al riquadro generato dal comando pertanto è consigliato usare
AT x,y: PRINT “stringa”
 Paper è esattamente come per lo Zx anche se il suo effetto da riga di comando si ottiene solo dopo un CLS.
Se il print è successivo al paper, tale comando come sullo zx colorerà lo sfondo della singola scritta.
INK infine è il colore della scritta o del comando grafico (sul QL si puo’ applicare anche a punti e linee)
Per quanto riguarda i valori sul QL non ci sono di limiti nel senso che oltre ai classici di sistema (dipende se si usa un QL classico o un emulatore o un sistema espanso) verranno miscelati con il sistema di retinatura per poter offrire più sfumature di colori.

L’utente Andrea Carpi suggerisce un piccolo trucchetto. Con il comando:

520 BORDER 7

Creo un bordo trasparente spesso 7 sopra i bordi che ho creato, mantenendone il colore e ripristinando nel posto giusto l’area di PRINT senza danneggiare l’effetto grafico realizzato. In questo modo non c’è bisogno di usare AT x,y come suggerito.

Photo: Dirty numbers   by Håkan Dahlström /  CC BY