 |
Generalità |
GENERALITA'
[1 di 1] |
 | La
Gestione dei Caratteri prevede 5
procedure; per accedere al dettaglio di ciascuna di esse
selezionare il suo nome nella colonna interattiva a
sinistra o dal seguente elenco:
|
 | La
stampa a video, insieme alla lettura della tastiera, rappresenta la condizione indispensabile per garantire interattività tra computer e utente; per questo qualunque ambiente di programmazione prevede
procedure si scrittura (write) e
di lettura (read).
Ci sono tuttavia alcune particolari esigenze difficilmente assicurate dai linguaggi di programmazione (incluso il
Pascal). |
 |
La
scrittura dell’ultimo carattere in basso a
destra crea grossi problemi, in Pascal; se proviamo a
fare questa operazione, con l'aiuto di
write, notiamo che viene provocato lo
scrolling verso l’alto di una riga di tutta l’immagine. Questa fastidiosa evenienza
preclude di fatto la possibilità di
scrivere tutti gli 80 caratteri dell’ultima riga, per esempio per proporre un menu o per dare messaggi interattivi. |
 | Ciò è dovuto al fatto che
write, dopo aver scritto il carattere a video, incrementa automaticamente la posizione di stampa corrente (cioè sposta il cursore di una posizione alla sua destra) il ché significa, per l’ottantesimo dell’ultima riga, mandare a capo il cursore
su una riga “che non c’è” ma che deve essere creata, con inevitabile scrolling di tutto il resto verso l’alto. |
 | Pertanto
o si stampano solo 79 caratteri sull’ultima riga o si sostituisce
write con qualcosa di più
efficiente (vedi procedura StaChr). |
 |
Le
primitive del Pascal non consentono di cambiare il
solo colore di una stringa, lasciando cioè
inalterati suoi caratteri. Questa opportunità si rivela talvolta molto utile, per esempio
per creare l’effetto “ombra” sotto una
cornice. |
 | La
procedura ATTRchr consente di sopperire a
questa deficienza funzionale; la ONLYchr
si occupa invece della operazione opposta, consentendo di cambiare i
caratteri di una stringa lasciando inalterato il suo colore. |
 |
Se
si esclude il carattere in basso a destra la scrittura di caratteri
non crea problemi, in Pascal; ma quando l’immagine posta a video viene
parzialmente sovra scritta, per esempio
quando si visualizza un Menu a tendina: i caratteri coperti dalle aree del Menu sono perduti e, quando il Menu non serve più, per ripristinare l’aspetto originale è necessario riscrivere tutto di nuovo. |
 | Per risolvere questo problema sono state
progettate
SalvaChr e RecupChr;
la prima salva da qualche parte i caratteri a rischio, prima che vengano
sovra scritti, la seconda si occupa di riportarli nel piano di
visualizzazione. |
 |
Le
2 procedure di questa categoria affrontano il problema a
livello Carattere,
cioè salvano o recuperano un solo Carattere; in questa Libreria
sono disponibili molte altre procedure, che risolvono questo
problema, a
livello Schermo Totale (Salva e
Recup),
a livello Box (SalvaBox,
RecupBox e
Box2) o
a livello Cornice
(Cornice3 e
RECUPcorn). |
 | A questo si presta ottimamente la
Ram del Video,
l’area di 32kBytes di memoria convenzionale
allocata a partire dall’indirizzo fisico
B8000H fino a BFFFFH, nel primo
mega [per saperne di più consulta
la
Scheda nella Sezione
Dentro il Computer].
Tale area è divisa in
otto parti da 4k ciascuna, dette
Pagine Video. |
 | Solo la prima di esse (detta
Pagina 0) viene coinvolta nella visualizzazione dei 2000 caratteri visibili sul monitor: per ciascuno di essi servono 2 bytes (uno per il codice Ascii e uno per il codice di colore) per un totale di
4000 bytes, meno dei 4096 (appunto
4k) disponibili. |
 |
Le rimanenti 7 Pagine Video (da Pagina 1 a
Pagina 7), non visibili dall’utente, e si prestano ottimamente per salvare caratteri o testi che possono essere persi, anche perché
sono in parallelo, cioè le coordinate di un carattere sono le stesse in ogni pagina. Esse sono poi facilmente ricopiabili nell’area dell’unica pagina visibile (appunto la
Pagina 0). |
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|