EVERY value TICKS GOSUB identifier EVERY value[,timer] TICKS GOSUB label
Definisce una chiamata a una sottoprogramma a intervalli regolari, senza interferire con il programma principale. È necessario specificare il periodo di tempo tra ogni chiamata, misurata in TICKS.
Si fa notare che la durata dell'esecuzione della subroutine dovrebbe essere inferiore al tempo dell'intervallo indicato, altrimenti le temporizzazioni del programma principale ne risentiranno.
Dopo essere entrati nella subroutine, il sistema disabilita la chiamata
periodica. Ciò significa che, per richiamare questa funzione in modo continuo,
è necessario invocare il comando EVERY ON
prima dell'istruzione RETURN
finale.
Introduce la chiamata di una subroutine a intervalli regolari, senza interferire
con il programma principale. È necessario specificare l'intervallo di tempo tra
ogni chiamata, misurato in TICKS
. Il compilatore ugBASIC passa alla subroutine
ogni value
/TICKS PER SECOND
secondi.
Si noti che il tempo di esecuzione della subroutine dovrebbe essere inferiore al tempo dell'intervallo, altrimenti i tempi del programma principale verranno influenzati.
Vi sono 8 timer di ritardo da 0 a 7 che possono essere specificati con timer
.
Se omesso, il valore predefinito timer
è 0. Nel caso di attività parallela,
0 ha la priorità più alta e 8 la priorità più bassa.
Con EVERY OFF
e EVERY ON
è possibile disabilitare o abilitare le chiamate
temporizzate. Le subroutine vengono eseguite finché viene eseguito il
ciclo/programma principale, anche se il programma principale è in pausa.
È importante sapere o realizzare che le subroutine a bassa priorità che si
verificano contemporaneamente alle subroutine a priorità più alta non vanno perse.
Il loro compito rimane o viene gestito nuovamente dopo aver terminato
l'interruzione con priorità più alta.
EVERY 50 TICKS GOSUB changeBorderColor EVERY 50 TICKS GOSUB 100 EVERY 50,2 TICKS GOSUB label
Si vedano anche i seguenti file di esempio:
Ev...Gs
Se si riscontra un problema nell'utilizzare questo comando, se si ritiene che vi sia un bug oppure che la spiegazione sia poco chiara, è possibile aprire una segnalazione per questa parola chiave su GitHub. Grazie!