PROGRAMMARE IN ERRE
Programming in ERRE language - fourth
Programming in ERRE language - fourth
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Una limitazione di <strong>IN</strong>PUT è che in caso di ingresso di stringhe non si può usare “,” perché questa<br />
verrebbe interpretata come separatore: ad esempio se si ha<br />
<strong>IN</strong>PUT(A$)<br />
rispondendo<br />
PIPPO,PLUTO si ottiene un errore perché <strong>ERRE</strong> interpreta la risposta come input di due variabili a<br />
causa della presenza della ‘,’. In questo caso basterà rispondere “PIPPO,PLUTO” e tutto va a posto.<br />
Nella versione per PC è però possibile utilizzare invece questa forma<br />
<strong>IN</strong>PUT(L<strong>IN</strong>E,A$)<br />
dove in A$ finisce tutto quello che viene battuto sulla tastiera fino alla pressione del RETURN.<br />
Per il C-64 allo scopo di ottenere lo stesso risultato, bisogna ricorrere all’utilizzo del buffer di<br />
tastiera (4.2) : si scriverà cioè<br />
POKE(198,1) POKE(631,34) <strong>IN</strong>PUT(A$)<br />
dove le prime due istruzioni forzano un<br />
doppio apice iniziale (anziché farlo battere<br />
dall’utente – come visto nel paragrafo<br />
precedente) consentendo l’inserimento<br />
anche del carattere separatore “,”.<br />
Altri linguaggi mettono a disposizione il<br />
tipo di variabile ‘CHAR’ che consente di<br />
memorizzare un carattere nella variabile<br />
specificata: questo tipo in <strong>ERRE</strong>, essendoci<br />
già 'STR<strong>IN</strong>G', non è indispensabile ma a<br />
volte c’è il bisogno di poter leggere un<br />
carattere dalla tastiera senza visualizzarlo.<br />
Per fare ciò si usa l’istruzione<br />
GET(var_stringa)<br />
che memorizza in var_stringa il carattere<br />
corrispondente all'eventuale tasto battuto.<br />
La differenza tra le due piattaforme<br />
riguarda la gestione dei tasti speciali.<br />
Mentre il C-64 memorizza tutto usando un<br />
solo byte, il PC in certi casi ne utilizza due: il primo è CHR$(0), il secondo è ricavabile dalla tabella<br />
riportata qui a fianco (detta dei “Codici estesi di tastiera”) (4.3) .<br />
________________________________________________________________________________<br />
4.2) Il buffer di tastiera è una zona di memoria nella quale vengono immagazzinati i codici ASCII dei tasti battuti sulla<br />
tastiera. Sul C-64 va da 631 a 640 e sul PC da &H41E a &H43E (segmento 0).<br />
4.3) L’istruzione GET non rileva i tasti speciali “singolarmente” e bisogna usare l’istruzione PEEK per controllare i byte<br />
di stato della tastiera che sono posti in &H417 e &H418 (segmento 0) per il PC e in 653 per il C-64.<br />
- 40 -