SLEEP: differenze tra le versioni
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
| Riga 8: | Riga 8: | ||
Il ritardo è un numero di secondi e può essere un numero in virgola mobile. | Il ritardo è un numero di secondi e può essere un numero in virgola mobile. | ||
Il ciclo di eventi non viene chiamato durante ''' | Il ciclo di eventi non viene chiamato durante '''SLEEP''' e quindi gli eventi non vengono elaborati. | ||
Per vederne il funzionamento rispetto a ''' | Per vederne il funzionamento rispetto a '''WAIT''', creiamo un nuovo progetto grafico riportando questo codice: | ||
Public Timer1 As Timer | Public Timer1 As Timer | ||
Private $sMode As String = " | Private $sMode As String = "LIBERO" | ||
Public Sub Form_Open() | Public Sub Form_Open() | ||
| Riga 40: | Riga 40: | ||
Sleep 10 | Sleep 10 | ||
Endif | Endif | ||
$sMode = " | $sMode = "LIBERO" | ||
End | End | ||
| Riga 47: | Riga 47: | ||
If Mouse.Left Then | If Mouse.Left Then | ||
Print "---Partenza per 10 secondi di | Print "---Partenza per 10 secondi di WAIT---" | ||
Else | Else | ||
Print "---Partenza per 10 secondi di | Print "---Partenza per 10 secondi di SLEEP---" | ||
Endif | Endif | ||
| Riga 60: | Riga 60: | ||
End | End | ||
In vero, sia ''' | 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= | =Vedi anche= | ||
[https://www.gambas-it.org/wiki/index.php?title=WAIT WAIT] | [https://www.gambas-it.org/wiki/index.php?title=WAIT WAIT] | ||
Versione delle 10:18, 4 set 2020
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.