Strumenti Utente

Strumenti Sito


it:ugbasic:user:kw:every...gosub
Traduzioni di questa pagina:


ugBASIC Manuale Utente

EVERY...GOSUB ✓

SINTASSI

   EVERY value TICKS GOSUB identifier
   EVERY value[,timer] TICKS GOSUB label

SCOPO

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.

ESEMPIO

  EVERY 50 TICKS GOSUB changeBorderColor
  EVERY 50 TICKS GOSUB 100
  EVERY 50,2 TICKS GOSUB label

Si vedano anche i seguenti file di esempio:

ABBREVIAZIONE

 Ev...Gs

DISPONIBILE SU

  • Dragon 32
  • Commodore 128 (MOS 8502)
  • Commodore 64
  • Commodore VIC-20
  • Atari (400/800)
  • Commodore PLUS/4
  • Olivetti Prodest PC128
  • Dragon 64
  • Thomson MO5
  • ColecoVision
  • TRS-80 Color Computer 3
  • TRS-80 Color Computer

PROBLEMI?

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!

POWERED BY