SLEEP

Da Gambas-it.org - Wikipedia.

La sintassi di SLEEP è:

<<codice 1>>
Sleep n
<<codice 2>>

Arresta il programma durante un ritardo specificato con n facendolo dormire, ovvero restituendo il suo tempo di CPU al sistema operativo.

Il ritardo è un numero di secondi e può essere un numero in virgola mobile.

Il ciclo di eventi non viene chiamato durante SLEEP e quindi gli eventi non vengono elaborati.

Per vederne il funzionamento rispetto a WAIT, creiamo un nuovo progetto grafico riportando questo codice:


 Public Timer1 As Timer
 Private $sMode As String = "LIBERO"
 
 Public Sub Form_Open()
 
   Timer1 = New Timer As "Timer1"
   Timer1.Delay = 1000
   Timer1.Enabled = True
 
 End
 
 Public Sub Form_Close()
 
   Timer1.Enabled = False
 
 End
 
 Public Sub Form_MouseUp()
 
   If Mouse.Left Then
     $sMode = "WAIT"
     Wait 10
   Endif
   If Mouse.Right Then
     $sMode = "SLEEP"
     Sleep 10
   Endif
   $sMode = "LIBERO"
 
 End
 
 Public Sub Form_MouseDown()
 
   If Mouse.Left Then
     Print "---Partenza per 10 secondi di WAIT---"
   Else
     Print "---Partenza per 10 secondi di SLEEP---"
   Endif
 
 End
 
 Public Sub Timer1_Timer()
 
   Print CInt(Timer);; $sMode
 
 End

In vero, sia SLEEP che WAIT interrompono l'esecuzione corretta e completa di un Evento, qualora posti all'interno della routine di tale Evento.

SLEEP però, in più rispetto a WAIT, non si limita a bloccare, per il tempo stabilito, il sollevarsi dell'Evento e la procedura ove tale istruzione di attesa è posta, ma blocca ogni altro Evento che possa essere sollevato dal progetto.

Vedi anche

WAIT