elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Dudas con mi agenda!! c#.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] Ir Abajo Respuesta Imprimir
Autor Tema: Dudas con mi agenda!! c#.  (Leído 14,966 veces)
Hartigan


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Dudas con mi agenda!! c#.
« Respuesta #20 en: 14 Septiembre 2010, 22:05 pm »

Buego sigo sin saber como programar mis alarmas. Os explico.

Esque como hago para que el timer sepa las alarmas que hay en la base de datos y las vaya comprobando??? YO había pensado crear un dataTable en el formulario principal, el cual obtiene los datos de la base de datos y el timer solo los tiene que usar...


Por otra parte. Supongamos que el timer está comprobando alarmas, y de repente añado una nueva alarma, como hago para que el timer se detenga y lea ahora los nuevos datos de la base de datos???

gracias de antemano


En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Dudas con mi agenda!! c#.
« Respuesta #21 en: 14 Septiembre 2010, 22:25 pm »

Yo hice un timer para apagar la pc a cierta hora, asi que lo que hago es esto

Creo un TimeSpan con la diferencia de horas desde "ahora" hasta la hora destinada de la tarea (apagado)
Con el timer cada 1 segundo le resto... precisamente 1 segundo
En el timer, si el timeSpan llega a 0 (y/o la hora de la tarea es la actual) simplemente hacer la tarea :P

O sea ,  puedes usar en el timer tantos if o timespan como tareas... aunque dudo que tengas muuchas tareas al mismo tiempo (como para ralentizar el timer) asi que es efectivo :P


En línea

Hartigan


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Dudas con mi agenda!! c#.
« Respuesta #22 en: 14 Septiembre 2010, 22:49 pm »

Yo hice un timer para apagar la pc a cierta hora, asi que lo que hago es esto

Creo un TimeSpan con la diferencia de horas desde "ahora" hasta la hora destinada de la tarea (apagado)
Con el timer cada 1 segundo le resto... precisamente 1 segundo
En el timer, si el timeSpan llega a 0 (y/o la hora de la tarea es la actual) simplemente hacer la tarea :P

O sea ,  puedes usar en el timer tantos if o timespan como tareas... aunque dudo que tengas muuchas tareas al mismo tiempo (como para ralentizar el timer) asi que es efectivo :P

gracias de momento he probado con la cadena del compañero 43H4FH44H45H4CH49H56H45H a ver si me funcionar, y lo he hehco como dije. Acabo de programar un aviso a ver si me sale. Ahora os digo

EDITO: no me ha saltado el menasje ... voy a revisar. he puesto esto:

Primero leo los datos de la base de datos en un DataTable, y a continuación hago que el ticker se pare y vuelva a empezar con la función enabled. Es decir:

Código
  1.  
  2. private void Funcion_Reprogramar_Timer(bool valor)
  3.        {
  4.  
  5.            if (valor == true)
  6.            {
  7.                GestorAvisos ga = new GestorAvisos();
  8.                DataTable tabla = ga.Obtener_Lista_Avisos(factoriaDAO, login);
  9.                if (tabla != null)
  10.                {                    
  11.                    this.timerAlarmas.Enabled = false;
  12.                    Tabla = tabla;
  13.                    this.timerAlarmas.Enabled = true;
  14.                }
  15.                else
  16.                {
  17.                    this.timerAlarmas.Enabled = false;
  18.                }
  19.            }
  20.            else
  21.            {
  22.                this.timerAlarmas.Enabled = false;
  23.            }
  24.        }
  25.  
  26.       private void timerAlarmas_Tick(object sender, EventArgs e)
  27.        {
  28.            int i = 0;
  29.            int max = Tabla.Rows.Count;
  30.            int anno;
  31.            int hora, minutos, segundos;
  32.            int dia, mes, año;
  33.  
  34.            for (i = 0; i < max; i++)
  35.            {
  36.                dia = Convert.ToInt32(Tabla.Rows[i][4].ToString().Substring(0, 2));
  37.                mes = Convert.ToInt32(Tabla.Rows[i][4].ToString().Substring(3, 2));
  38.                anno = Convert.ToInt32(Tabla.Rows[i][4].ToString().Substring(6, 4));
  39.                hora = Convert.ToInt32(Tabla.Rows[i][5].ToString().Substring(0, 2));
  40.                minutos = Convert.ToInt32(Tabla.Rows[i][5].ToString().Substring(3, 2));
  41.                segundos = Convert.ToInt32(Tabla.Rows[i][5].ToString().Substring(6, 2));
  42.                if ((DateTime.Now.Year == anno) &&(DateTime.Now.Month == mes) && (DateTime.Now.Day == dia) && (DateTime.Now.Hour == hora) && (DateTime.Now.Minute == minutos) &&
  43.                    (DateTime.Now.Second == segundos))
  44.                {
  45.                    this.timerAlarmas.Enabled = false;
  46.                    MessageBox.Show(Tabla.Rows[i][2].ToString(), "ALARMA", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  47.                }
  48.            }
  49.        }
  50.  

En principi los datos los coge bien. Como detalle decir que en la bdd almaceno la fecha y la hora como strings porque me es más fácil manejarlas.

A ver si me ayudais.

EDITO:

Vale Solucionado. Ya me funcionar. (modifico el código)

Por cierto tengo una duda, es mejor por el timer en Enabled = false y luego volver a ponerlo en Enabled = true o usar stop y start??? lo digo por el tema de reiniciarlo, ya que me comentaron que el timer tiene un límite aunque es bastante grande, pero sino lo reinicio nunca pues...
« Última modificación: 14 Septiembre 2010, 23:26 pm por Hartigan » En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Dudas con mi agenda!! c#.
« Respuesta #23 en: 14 Septiembre 2010, 23:40 pm »

Justamente la comparacion que estoy haciendo es muy similar

Pues la verdad nunca uso los timer comunes, simpre los creo por codigo de la clase System.Timers y siempre hago Timer.Start y Timer.Stop
En línea

Hartigan


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Dudas con mi agenda!! c#.
« Respuesta #24 en: 15 Septiembre 2010, 00:49 am »

Justamente la comparacion que estoy haciendo es muy similar

Pues la verdad nunca uso los timer comunes, simpre los creo por codigo de la clase System.Timers y siempre hago Timer.Start y Timer.Stop

mmm bueno pues ya veré alomerjo lo cambio y lo creo por código en lugar de usar el control.
En línea

Hartigan


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Dudas con mi agenda!! c#.
« Respuesta #25 en: 15 Septiembre 2010, 04:02 am »

Bueno chic@s, pues deciros que ya tengo mis alarmas creadas y funcionando perfectamente. jejejeje.

Gracias a todos por la ayuda  ;-)
En línea

Hartigan


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Dudas con mi agenda!! c#.
« Respuesta #26 en: 17 Septiembre 2010, 22:21 pm »

Tengo una nueva duda y lo pregunto aquí para no crear tropecientos hilos. xDD

El caso es que tengo un string con el siguiente formato de fecha "dd/MM/yyyy" y quiero convertirlo a string con el formato "yyyy/MM/dd".

Como puedo hacerlo???

Salu2.l
En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Dudas con mi agenda!! c#.
« Respuesta #27 en: 18 Septiembre 2010, 00:00 am »

Este es el mejor link sobre ese tema! : http://msdn.microsoft.com/en-us/library/az4se3k1.aspx
En línea

Hartigan


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Dudas con mi agenda!! c#.
« Respuesta #28 en: 18 Septiembre 2010, 01:36 am »

Gracias ya lo conseguí aunque tampoco era así como lo quería, sino "yyyyMMdd" sin las barras, para que me lo leyera bien el vCard que no lo estaba haciendo bien, pero ahora sí. xD
En línea

Páginas: 1 2 [3] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines