WAIT
WAIT [ Ritardo ]
Chiama ricorsivamente il ciclo degli eventi.
Se
Ritardo viene specificato, allora la funzione ritorna solo dopo che il tempo specificato in
Ritardo non è passato.
Se
Ritardo non viene specificato, la funzione processa tutti gli eventi pendenti e ritorna immediatamente.
In questo caso gli eventi di input (tastiera e mouse) sono ignorati.
Ritardo è un numero in virgola mobile. Quindi se volete per esempio attendere 100 ms dovete digitare:
Wait 0.1
WAIT NEXT
Dal 3.15
WAIT NEXT
Chiama il ciclo di eventi in modo ricorsivo e attende che venga elaborato almeno un evento.
Esempi
'Attende un pò, lasciando che l'utente interagisca con l'interfaccia grafica
WAIT 0.05
' L'utente può solo guardare quello che accade.
WAIT
Attenzione! è possibile chiamare
WAIT
da un'evento collegato, è possibile creare ricorsioni infinite fino a quando lo stack di memoria va in supero capacità (overflows).
Per esempio, Guardare il codice seguente:
PUBLIC SUB MySerialPort_Read()
DIM sData, sTemp AS String
DIM iTries AS Integer
FOR iTries = 1 TO 5
' Aspetta un po per leggerne il contenuto.
WAIT 0.01
'Controlla se abbiamo ottenuto alcuni dati.
READ #LAST, sTemp, Lof(LAST)
sData &= sTemp
...
NEXT
END
Si chiama
WAIT
senza leggere nulla sulla porta seriale. Così è di nuovo pronto per una nuova lettura, l'evento viene generato in modo ricorsivo, legge e rilegge fino a quando non avviene un supero di capacità nella memoria (overflows).
In questo caso, è possibile risolvere il problema usando invece l'istruzione
SLEEP.
Vedi anche