Newsgroup: it.comp.lang.visual-basic
Titolo: attesa

Scusate la domanda da totale neofita nel VB, ma volevo sapere qual'è il
metodo migliore e più veloce per creare durante l'esecuzione un'attesa di
tot secondi. Mi ricordo che con il vecchio qbasic si usava una struttura
iterativa vuota, del tipo
FOR x= 1 to 10000
NEXT x
ma evidentemente deve esserci un modo più efficiente!

 ha scritto nel messaggio
news:a6ntoo$2ag$1...@serv1.albacom.net...

Non è efficente perché dipende dalla velocità del processore.
Puoi però usare l'API Sleep():
Public Declare Sub Sleep Lib "kernel32" _
    Alias "Sleep" (ByVal dwMilliseconds As Long)
Ciao!
--
Esteban
Hosted by 
www.seber.it
(Remove nonspammare for reply)

 ma evidentemente deve esserci un modo piů efficiente!
Puoi usare la sleep come ti hanno consigliato, perň fai attenzione perchč a
me crea un freeze completo dell'applicazione e non una semplice pausa.
Ciao

 End Sub
Ecco, questo più uno o più timers è il modo migliore per farsi telefonare
dai clienti alle 3 di notte :P
Ciao

 me crea un freeze completo dell'applicazione e non una semplice pausa.
Mmmh, e tu cosa intendi per "pausa" allora?
Ciao

 ha scritto nel messaggio
news:00Oj8.61007$_u5.1...@news1.tin.it...

Intendo che se sto eseguendo una determinata elaborazione (che so, la
preparazione di una stampa) in determinati punti l'elaborazione si fermi un
attimino e aspetti un po' ad andare avanti, senza bloccare tutto però, anche
perchè contemporaneamente l'utente potrebbe fare qualcos'altro e si
beccherebbe dei freeze improvvisi... almeno credo, non ho mai provato.
Io per pausa (tanto per farti capire) intendo ad esempio uno splash screen
con un classico timer che aspetta 5 secondi prima di scaricare lo stesso e
visualizzarmi l'applicazione, questo non crea freeze!
Non voglio mettere uno splash screen mentre creo la stampa, è solo per farti
capire cosa intendo per pausa io.
lo sleep fa freeze ed io stesso non ho trovato una soluzione
all'inconveniente per mettere delle pause in mezzo al codice, mi becco i
miei freeze e sto zitto, secondo me non è possibile fare come dico io,
almeno in vb6, perchè essendo monothread se fermo il thread amen... blocco
tutto, non posso gestirne altri, o sbaglio, in 
vb.net
 forse si potrà fare.
Non badare a eventuali boiate che ho scritto, non programmo da una vita come
te...
Ciao

 miei freeze e sto zitto, secondo me non è possibile fare come dico io,
[SNIP]
C'e' stato un thread sull'argomento poco tempo fa... ti risporto il
suggerimento che ho fatto nell'occasione:
"Un buon compromesso e' usare ciclo e Sleep insieme, per esempio cosi':
'Pausa di 5 secondi, in alternativa a Sleep 5000 e al Do..Loop
For i = 1 To 5
    Sleep 1000
    DoEvents
Next
in questo modo l'occupazione della CPU e' moderata (solo 5 iterazioni), il
programma comunque risponde e l'interfaccia grafica si aggiorna."
In generale quindi, quando il tempo di stop e' avvertibile, puoi suddividere
la tua pausa in intervalli piu' brevi e applicare lo Sleep a questi, fino a
raggiungere la lunghezza desiderata.
Ciao
--
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown

 raggiungere la lunghezza desiderata.
Voi Nonni dell'NG ne sapete una pių del diavolo.
Ciao