Newsgroup: it.comp.lang.visual-basic
Titolo: "on idle" ? ovvero come gestire l'evento "nessun evento"

Scuate se rompo ancora le scatole, sono un principiante ma questo si era
capito.
Mi ricordo, ai tempi del macintosh plus, che sotto Hypercard esisteva
l'evento "IDLE" ovvero quando la macchina era libera da altri eventi
facendo quindi on idle e poi il relativo codice sotto, si poteva far fare
delle routine quando il computer non aveva altri eventi tipo mouseclick ecc.
Questo tipo di evento fittizio sarebbe molto utile per creare giochi o per
tutte le applicazioni che devono svolgere un lavoro rimanendo pero' in
attesa degli eventi veri
Esiste il corrispondente di "on idle" in visual basic? quale č?
grazie

 ha scritto nel messaggio
news:pQ9H7.31230$zl4.8...@news2.tin.it...

Sono novellino pure io quindi non dare tanto peso a quello che scrivo, forse
non ho neppure capito bene la tua domanda, perň forse puoi sfruttare un
timer...

 ha scritto nel messaggio
news:8raH7.59351$sq5.2...@news.infostrada.it...

Buona idea! Un timer ogni 5 millisecondi potrebbe essere un idea.

 [...] Buona idea! Un timer ogni 5 millisecondi potrebbe essere un idea.
L'evento On Idle in VB non esiste.
Ad ogni modo, la sua utilità sarebbe quella di non appesantire troppo il
sistema per effettuare operazioni assolutamente non urgenti, esattamente il
contrario rispetto ad un timer che scateni un'attività ogni 5
millisecondi...
Perdonami, ma un'idea va con l'apostrofo ;-)
Ciao,
Carlo.

 millisecondi...
Ma da quello che ho capito io lui deve fare in modo che il programma faccia
qualcosa anche quando l'utente sta fermo.

 qualcosa anche quando l'utente sta fermo.
Scusate se mi intrometto, ma io ho interpretato cosě il messaggio di Unilě:
lui vorrebbe che, quando il sistema č fermo o non ci sono eventi rilevanti
da eseguire, venga generato un on-idle. Questo evento, quindi verrebbe
generato solo quando il prog č preaticamente fermo, permettendo al
programmatore di far eseguire in automatico al programma alcune azioni nei
momenti "liberi", senza rischiare di sovrapporre gli eventi.
ciao, assa.
--
Sito Comune
http://www.it-lang-vb.net/

 [...] permettendo al programmatore di far eseguire in automatico al
programma alcune azioni nei momenti "liberi", senza rischiare di sovrapporre
gli eventi.
Esatto. Ciň che il Timer non fa.
Carlo.


Avevo solo interpretato male la domanda, chiedo scusa...
Davide

 > Esatto. Ciò che il Timer non fa.


 indispensabile per creare piccoli giochi arcade
ah-ah!
allora il timer è quello che ti serve ;)
devi solo sapere che il minimo intervallo di tempo in cui il timer funziona
sono 50ms e che i messaggi di tipo timer hanno una priorità molto bassa in
windows, quindi potrebbe accadere che qualche volta il tuo evento ritardi o
non venga eseguito perchè il so ha incombenze più importanti. detto questo,
ti lascio alla guida ;)


 sono 50ms
perň sul sito comune puoi scaricare un controllo timer (penso sia un ocx,
non sono ancora molto esperto di queste cose) che lavora con la precisione
di un millisecondo.
l'ho provato e funziona molto bene
Ciao

 writes:
U> Scuate se rompo ancora le scatole, sono un principiante ma questo si era
U> capito.
U> Mi ricordo, ai tempi del macintosh plus, che sotto Hypercard esisteva
U> l'evento "IDLE" ovvero quando la macchina era libera da altri eventi
U> facendo quindi on idle e poi il relativo codice sotto, si poteva far fare
U> delle routine quando il computer non aveva altri eventi tipo mouseclick ecc.
Sotto Win32 la cosa non è  più necessaria perché, anche se orrido, c'è
uno  scheduler preemptive  e  quindi le  applicazioni  che non  devono
lavorare quando c'è  user input basta metterle a  priorità bassa (1 se
non ricordo male) e quelle partono solo quando nessun'altro ha bisogno
della  cpu. Anzi  la cosa  funziona così  proprio per  la  presenza di
questo scheduler orrido.
-- 
Gian Uberto| main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Lauri      |                        David Korn, 1987 ioccc best one liner 
(aka saint)|-------------------------------------------------------------------
em@ail: 
sa...@eng.it
 ( vedere X-nospam nello header - see X-nospam in header )