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). |
Caratteri | Generalità | ||||||
1 di 20 |
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|