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

Un saluto a tutti.
Sto provando 
vb.net
 (non ho mai programmato in vb) ed a tale scopo mi 
sono inventato come esercizio lo sviluppo di un'agenda con appuntamenti 
(simile a quella sui telefonini).
All'avvio dell'applicativo, ovviamente, accedo al db per recuperare gli 
appuntamenti del giorno e configuro il timer con l'evento piï¿œ recente. 
La domanda ï¿œ: esiste una qualche funzione alla quale passare l'ora come 
parametro senza doversi fare il conto in millisecondi? Non per la 
difficoltï¿œ ma solo perchï¿œ se dovesse esistere mi sembra piï¿œ 'pulito' 
utilizzarla.
Vi ringrazio anticipatamente.

 utilizzarla.
Non ho capito a che serve il timer, potresti essere pi� chiaro?

 parametro senza doversi fare il conto in millisecondi?
...
Uhm, non ho mica capito la domanda.
Puoi essere piu' chiaro?

Andrea [Work] ha scritto:

Certamente. La strategia che intendevo utilizzare � la seguente:
Una volta che il programma si avvia, visto che intendo avvisare 
l'utilizzatore del suo appuntamento, tra le prime azioni che dovr� 
compiere ci sar� quella di accedere al db e verificare se per il giorno 
corrente ci sono degli appuntamenti e se si, configurare un timer per 
visualizzare l'appuntamento all'ora selezionata, quindi, invece di 
controllare di tanto in tanto quando � il momento di avvisare l'utente 
del suo appuntamento, mi � sembrato pi� sensato che il timer scattasse 
al momento giusto e cio� dopo un tot di tempo dall'ora corrente (oppure 
se � gi� trascorso l'orario). Insomma, se sono le 11 e l'appuntamento � 
per le 12, configurare il timer in modo che scatti dopo 1 ora in modo 
che il programma si esibisca nelle sue varie pirotecn�e di avviso.
In ogni caso Vi sto semplicemente domandando se la strada � quella di 
utilizzare i timer oppure esiste una funzione alla quale, semplicemente, 
dire: avvisami quando sono arrivate le 12. Tutto li.
Grazie per l'attenzione.

Andrea [Work] ha scritto:

Certamente. La strategia che intendevo utilizzare � la seguente:


 dire: avvisami quando sono arrivate le 12. Tutto li.
Io farei al contrario
Ti crei una collection di classe o un array di Type dove metti IDAvviso,
OraDaCuiAvvisare, Messaggio, Abilitato o altro che ti serve.
Poi all'avvio e/o ogni tanto, o a ogni modifica degli appuntamenti
ricontrolli l'elenco e lo aggiorni con i nuovi appuntamenti, o modificando
quelli presenti.
Poi ciclicamente scorri questa struttura e dai tutti gli avvisi, qui basta
che ti fai un timer es. ogni 5 minuti (vedi routine sotto).
Poi disabiliti i vari avvisi una volta mostrati (o come vuoi), tramite
apposita property.
Anche perch� nel tuo modo se si attivano tante notifiche diventa un po'
complicato.
Private Sub tmrUpdate_Timer()
' suppone timer con interval=60000 (60secondi)
Const MINUTI_CONTROLLO As Integer = 10
Static Count As Integer
    Count = Count + 1
 
    If Count >= MINUTI_CONTROLLO Then
        Count = 0                         'riazzero il contatore
 
	' eseguo task...
 
    End If
End Sub

 End Sub
Grazie Andrea ma mi stai suggerendo proprio quello che stavo tentando di 
evitare. Proprio per questo motivo ero alla ricerca di una funzione che 
operasse da sveglia. Sar� la mia, ormai, tarda et� ma mi affliggo al 
pensiero di dover disturbare cos� spesso il processore :-)

 pensiero di dover disturbare cos� spesso il processore :-)
Non essendoci nulla che funziona per interrupt con orologio interno, penso
che verificare l'orario 1 volta al minuto sia la cosa meno stressante per
il pc.
In .net forse potresti attivare un thread separato, me non ne vedrei
comunque l'utilit�.