2) K$=INKEY$(0.4).
L'istruzione INKEY$ attende una pressione dei tasti della tastiera, e ne conserva il valore per un confronto successivo con le strutture di selezione IF. Nel nostro caso alla variabile stringa K$ è stato assegnato il valore del tasto premuto dall'utente.
3) FI.
L'struzione FI ha la stessa funzione dell'istruzione ENDIF: chiude la struttura di selezione IF.
4) REDRAW().
Richiama la SUBROUTINE omonima.
5) HEAL().
Richiama la SUBROUTINE omonima.
6) CONTINUE().
Inizia la prossima struttura di selezione.
7) GOSUB.
Continua l'esecuzione del programma in un altra parte del codice, e ritorna al termine dell'elaborazione.
8) BEEP.
L'istruzione BEEP produce un suono.
do // loop for keys pressed
rev=1
do // loop for blinking
k$=inkey$(0.4)
if (k$="") then
if (seleziona=NUMERO) then
if (rev=1) then
print colour("blue","green")
at(1,yoff+NUMERO+1)TESTO$(NUMERO);
rev=0
else
print colour("yellow","red") at(1,yoff+NUMERO+1)
TESTO$(NUMERO);
rev=1
endif
endif
else // key has been pressed, leave loop
break
endif
loop // loop for blinking
yalt=seleziona
if (k$="up" or k$="u") then
if (seleziona=1) then
seleziona=NUMERO
else
seleziona=seleziona-1
fi
redraw():heal():continue
fi
if (k$="down" or k$="d") then
if (seleziona=NUMERO) then
seleziona=1
else
seleziona=seleziona+1
fi
redraw():heal():continue
fi
if (k$=" " or k$="enter" or k$="right") then
on seleziona gosub STARTTEST,INFORMAZIONI,SALVAINFO,PAGINAHTMLSALVA,endit,notyet
goto MENUPRINCIPALE
fi
if (k$="esc") then
endit()
fi
beep
print at(3,sh-5) "Tasto invalido: ",k$," "
loop // loop for keys pressed
Le istruzioni SUB e END SUB delimitano il codice di una SUBROUTINE: una sequenza di comandi chiamati da un programma principale con l'ausilio di una singola istruzione (nel nostro esempio l'istruzione REDRAW() produce l'esecuzione del codice contenuto entro le due istruzioni SUB e END SUB).
// Riscrivi la linea
sub redraw()
if (yalt=NUMERO) then ydisp=1:else ydisp=0:fi
print at(1,yoff+yalt+ydisp) TESTO$(yalt);
if (seleziona=NUMERO) then ydisp=1:else ydisp=0:fi
print colour("blue","green") at(1,yoff+seleziona+ydisp) TESTO$(seleziona);
return
end sub
Le cinque righe seguenti definiscono il codice per la SUBROUTINE HEAL(), la quale è utilizzata per cancellare la linea visualizzata dall'esecuzione del programma nella posizione 3,SH-5 (x,y).
// Cancella la linea
sub heal()
print at(3,sh-5) " "
return
end sub
Il gruppo di cinque righe seguenti utilizzano la struttura LABEL ENDIT per terminare l'esecuzione del programma.
// Esce dal programma
label endit
print at(3,sh-8) "Addio per sempre...o quasi\n ";
exit
return
Menu Sezione/Pagina Successiva/Pagina Precedente/Torna alla Homepage
Sito:www.megaoverclock.it