Differenze tra le versioni di "SLEEP"
(3 versioni intermedie di 2 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
+ | =SLEEP= | ||
La sintassi di SLEEP è: | La sintassi di SLEEP è: | ||
<<codice 1>> | <<codice 1>> | ||
Riga 4: | Riga 5: | ||
<<codice 2>> | <<codice 2>> | ||
− | Arresta il programma durante un ritardo specificato con '''n''' facendolo dormire, ovvero restituendo il suo tempo di CPU al sistema operativo. | + | 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 ritardo è un numero di secondi e può essere un numero in virgola mobile. | ||
Riga 10: | Riga 11: | ||
Il ciclo di eventi non viene chiamato durante '''SLEEP''' e quindi gli eventi non vengono elaborati. | Il ciclo di eventi non viene chiamato durante '''SLEEP''' e quindi gli eventi non vengono elaborati. | ||
− | Per vederne il funzionamento rispetto a '''WAIT''', creiamo | + | Per vederne il funzionamento rispetto a '''WAIT''', creiamo due nuovi progetti grafici riportando questi codici: |
− | + | Il nome '''''"Sleep"''''', attribuito a questa istruzione, sembra chiarificatore della sua funzione: mette a ''dormire'' l'intero processo. | |
− | |||
− | |||
− | |||
Public Sub Form_Open() | Public Sub Form_Open() | ||
− | + | Me.Show | |
− | + | Wait 0.5 <FONT Color=gray>' ''Il '''Wait''', non bloccando l'intero processo, consente che il Form si apra completamente''</font> | |
− | + | ||
+ | <FONT Color=red>'''Sleep'''</font> 5 | ||
+ | |||
+ | Print "Fine azione dello 'Sleep' " | ||
End | End | ||
− | |||
− | + | Public Sub Button1_Click() <FONT Color=gray>' ''Si noterà che lo '''Sleep''' impedisce lo scatenarsi dell'Evento '''_Clic()''' del Button ! ''</font> | |
+ | |||
+ | Print "Clic" | ||
End | End | ||
+ | |||
+ | |||
+ | =WAIT= | ||
+ | '''''"Wait"''''', invece, arresta la sola particolare procedura del codice giunta alla riga di quell'istruzione di attesa, non interferendo però con altre eventuali parti in corso del processo. | ||
+ | Public Sub Form_Open() | ||
+ | |||
+ | Me.Show | ||
− | + | <FONT Color=red>'''Wait'''</font> 5 | |
− | + | Print "Fine azione del 'Wait'" | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
End | End | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | Public Sub | + | Public Sub Button1_Click() |
− | Print | + | Print "Clic" |
End | 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 della procedura ove tale istruzione di attesa è posta, ma <U>blocca ogni altro Evento</u> che possa essere sollevato dal progetto. | |
− | |||
− | =Vedi anche= | + | ====Vedi anche==== |
− | [ | + | [[WAIT]] |
Versione attuale delle 16:19, 6 lug 2024
SLEEP
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 due nuovi progetti grafici riportando questi codici:
Il nome "Sleep", attribuito a questa istruzione, sembra chiarificatore della sua funzione: mette a dormire l'intero processo.
Public Sub Form_Open() Me.Show Wait 0.5 ' Il Wait, non bloccando l'intero processo, consente che il Form si apra completamente Sleep 5 Print "Fine azione dello 'Sleep' " End Public Sub Button1_Click() ' Si noterà che lo Sleep impedisce lo scatenarsi dell'Evento _Clic() del Button ! Print "Clic" End
WAIT
"Wait", invece, arresta la sola particolare procedura del codice giunta alla riga di quell'istruzione di attesa, non interferendo però con altre eventuali parti in corso del processo.
Public Sub Form_Open() Me.Show Wait 5 Print "Fine azione del 'Wait'" End Public Sub Button1_Click() Print "Clic" 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 della procedura ove tale istruzione di attesa è posta, ma blocca ogni altro Evento che possa essere sollevato dal progetto.