C# Realizzare sveglia

martedì 13 aprile 2010 - 00.32

program Profilo | Junior Member

Ciao,
ho memorizzato in una lista un elenco di oggetti che comprendono come campi una variabile DateTime contenente un orario.
Ora vorrei creare una specie di sveglia.
Mi servirebbe quindi un qualcosa che controlli se l'ora attuale è una sveglia.
Come posso realizzarlo? Con un thread? Cosa mi consigliate?

Grazie.

kataklisma Profilo | Senior Member

>Ciao,
Ciao!
>ho memorizzato in una lista un elenco di oggetti che comprendono
>come campi una variabile DateTime contenente un orario.
>Ora vorrei creare una specie di sveglia.
>Mi servirebbe quindi un qualcosa che controlli se l'ora attuale
>è una sveglia.
>Come posso realizzarlo? Con un thread? Cosa mi consigliate?

Beh, non hai molte scelte da fare, si tratta di verificare se l'istante corrente è presente in una lista.
Puoi utilizzare un dispatchertimer per verificare ogni tot ms/cs/ss/mm se l'ora corrente è presente nella lista, il dispatchertimer ti permette in maniera impressionalmente semplice la gestione di operazioni ripetute attraverso un timer svolgendo pero queste operazioni in un secondo thread.

Ovviamente la soluzioni si può ottimizzare con un'ordinamento della lista che permette di controllare solo l'ultimo orario inserito senza il bisogno di ciclare tutti gli oggetti.

Buono sviluppo! Se ti serve una mano chiedi pure!


>Grazie..
Di niente! :)
------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/

program Profilo | Junior Member

Ciao,
grazie per avermi risposto.
Sto provando a utilizzare questa classe ma il compilatore non mi trova lo spazio dei nomi di DispatcherTime.
Ho provato:
using System.Threading;
using System.Timers;

Ma rimane l'errore.
Uso VS2008.

void startTimer_Click() { DispatcherTimer timer = new DispatcherTimer(); timer.Tick += new EventHandler(timer_Tick); // Esegue ogni 5 secondi timer.Interval = TimeSpan.FromSeconds(5); // Avvio il timer timer.Start(); } void timer_Tick(object sender, EventArgs e) { // Eseguo }


Grazie.

kataklisma Profilo | Senior Member

>Ciao,
Ciao!
>grazie per avermi risposto.
Di niente :)

>Sto provando a utilizzare questa classe ma il compilatore non
>mi trova lo spazio dei nomi di DispatcherTime.
>Ho provato:
>using System.Threading;
>using System.Timers;

Lo spacename è System.Windows.Threading presente nella dll System.Windows.Dll.


>Grazie.
Di niente ;)

------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5