|
51
|
Programación / .NET (C#, VB.NET, ASP) / Re: Error programando las tareas (C#)
|
en: 9 Septiembre 2010, 21:50 pm
|
jejeje, el problema estaba en que el valor de la duración tenia que ser mayor que la del intervalo de repetición por eso me daba error. Lo he dejado así: .... TaskSchedulerClass scheduler = new TaskSchedulerClass (); scheduler.Connect(null, null, null, null); ITaskDefinition task = scheduler.NewTask(0); task.RegistrationInfo.Author = autor; task.RegistrationInfo.Description = descripcion; ITaskSettings settings = task.Settings; settings.Enabled = true; settings.Hidden = false; try { switch (recurrencia) { case "horaria": ITimeTrigger timeTrigger = (ITimeTrigger)task.Triggers.Create(_TASK_TRIGGER_TYPE2.TASK_TRIGGER_TIME); timeTrigger.Enabled = true; timeTrigger.Id = nombre; timeTrigger.StartBoundary = fecha.Substring(6, 4).ToString() + "-" + fecha.Substring(3, 2).ToString() + "-" + fecha.Substring(0, 2).ToString() + "T" + hora; if (fechaFin != string.Empty) { timeTrigger.EndBoundary = fechaFin.Substring(6, 4).ToString() + "-" + fechaFin.Substring(3, 2).ToString() + "-" + fechaFin.Substring(0, 2).ToString() + "T" + horaFin; } if (checkBoxRepetir .Checked == true) { if (duracion != string.Empty) timeTrigger.Repetition.Duration = duracion; timeTrigger.Repetition.Interval = "PT" + repeticion.ToString() + "M"; } break; case "diaria": IDailyTrigger dailyTrigger = (IDailyTrigger)task.Triggers.Create(_TASK_TRIGGER_TYPE2.TASK_TRIGGER_DAILY); dailyTrigger.Enabled = true; dailyTrigger.Id = nombre; dailyTrigger.StartBoundary = fecha.Substring(6, 4).ToString() + "-" + fecha.Substring(3, 2).ToString() + "-" + fecha.Substring(0, 2).ToString() + "T" + hora; if (fechaFin != string.Empty) { dailyTrigger.EndBoundary = fechaFin.Substring(6, 4).ToString() + "-" + fechaFin.Substring(3, 2).ToString() + "-" + fechaFin.Substring(0, 2).ToString() + "T" + horaFin; } dailyTrigger.DaysInterval = Convert.ToInt16(textBoxDia.Text.ToString()); if (checkBoxRepetir .Checked == true) { if (duracion != string.Empty) dailyTrigger.Repetition.Duration = duracion; dailyTrigger.Repetition.Interval = "PT" + repeticion.ToString() + "M"; } break; ..... ...
Espero que le sirva a alguien. Salu2
|
|
|
54
|
Programación / .NET (C#, VB.NET, ASP) / Error programando las tareas (C#)
|
en: 9 Septiembre 2010, 04:47 am
|
HOla compis bueno pues os comento que al final he decidido programar yo mismo las tareas de mi agenda usando las clases del programador de tareas de windows. Entonces he conseguido ya programar algunas tareas pero no consigo establecer algunos parametros referentes al IRepetitionPattern y son el Duration y el INterval. mi código: TaskSchedulerClass scheduler = new TaskSchedulerClass (); scheduler.Connect(null, null, null, null); ITaskDefinition task = scheduler.NewTask(0); task.RegistrationInfo.Author = autor; task.RegistrationInfo.Description = descripcion; ITaskSettings settings = task.Settings; settings.Enabled = true; settings.Hidden = false; switch(recurrencia) { case "horaria": ITimeTrigger trigger = (ITimeTrigger)task.Triggers.Create(_TASK_TRIGGER_TYPE2.TASK_TRIGGER_TIME); trigger.Enabled = true; trigger.Id = nombre; trigger.StartBoundary = fecha.Substring(6, 4).ToString() + "-" + fecha.Substring(3, 2).ToString() + "-" + fecha.Substring(0, 2).ToString() + "T" + hora; if(fechaFin != string.Empty) { trigger.EndBoundary = fechaFin.Substring(6, 4).ToString() + "-" + fechaFin.Substring(3,2).ToString() + "-" + fechaFin.Substring(0, 2).ToString() + "T" + horaFin; } break; case "diaria": IDailyTrigger dailyTrigger = (IDailyTrigger)task.Triggers.Create(_TASK_TRIGGER_TYPE2.TASK_TRIGGER_DAILY); dailyTrigger.Enabled = true; dailyTrigger.Id = nombre; dailyTrigger.DaysInterval = Convert.ToInt16(textBoxDia.Text.ToString()); IRepetitionPattern rp = (IRepetitionPattern)dailyTrigger.Repetition; /* if (checkBoxRepetir.Checked == true) { rp.Duration = TimeSpan.FromMinutes(int.Parse(this.textBoxDuracion.Text.ToString()); rp.Interval = TimeSpan.FromMinutes(60); }*/ dailyTrigger.StartBoundary = fecha.Substring(6, 4).ToString() + "-" + fecha.Substring(3, 2).ToString() + "-" + fecha.Substring(0, 2).ToString() + "T" + hora; if (fechaFin != string.Empty) { dailyTrigger.EndBoundary = fechaFin.Substring(6, 4).ToString() + "-" + fechaFin.Substring(3, 2).ToString() + "-" + fechaFin.Substring(0, 2).ToString() + "T" + horaFin; } break; } IShowMessageAction mensaje = (IShowMessageAction)task.Actions.Create(_TASK_ACTION_TYPE.TASK_ACTION_SHOW_MESSAGE); mensaje.Id = "My mensaje"; mensaje.Title = titulo; mensaje.MessageBody = mensaje.ToString(); ITaskFolder root = scheduler.GetFolder("\\"); IRegisteredTask regTask = root.RegisterTaskDefinition(nombre, task, (int)_TASK_CREATION.TASK_CREATE_OR_UPDATE, null, null, _TASK_LOGON_TYPE.TASK_LOGON_NONE, ""); ... ....
Lo que está comentado es lo que no consigo hacer funcionar he visto algunos ejemplos y debería estar bien pero a mi no me funcoina porque me dice que no se puede convertir el tipo string en TimeSpan. Como podria hacerlo??? Salu2.
|
|
|
57
|
Programación / Bases de Datos / Re: Insertar bool en bdd, (slq server y c#)???
|
en: 8 Septiembre 2010, 00:25 am
|
En sql server el tipo de dato bool es bit, así que por la manera en la que lo estas haciendo, inserta un 0 o un 1 Y por el bien de la humanidad, deja de usar esos arrays de datos Saludos jajajajaja, esque me es más cómodo hacerlo así que pasar todos los valores uno por uno a las funciones... xDD En cuanto a la pregunta, no se supne que si yo le paso un true o un false automaticamente lo entiende como 1 o 0 respectivamente???
|
|
|
58
|
Programación / Bases de Datos / Insertar bool en bdd, (slq server y c#)???
|
en: 7 Septiembre 2010, 22:59 pm
|
Pues eso, os parecerá una bobada pero he buscado y no he dado con la solución. Como leñe inserto un valor bool en sql server???? Yo tengo lo siguiente en c#: sentenciaSql = "INSERT into avisos(loginUsuario,autor,nombre,descripcion,fecha,hora,accion,recurrencia,sonido) values('" + login + "','" + datos[0] + "','" + datos[1] + "','" + datos[2] + "','" + datos[3] + "','" + datos[4] + "','" + datos[5] + "','" + datos[6] + "'," + valorBool + ")";
pero no me funciona... Gracias de antemano.
|
|
|
59
|
Programación / .NET (C#, VB.NET, ASP) / Re: Dudas con mi agenda!! c#.
|
en: 7 Septiembre 2010, 01:40 am
|
Lo mejor es que lo hagas tú a mano, usa una base de datos, y cuando la aplicación arranque cargas todo en memoria, y chequeas cada cierto tiempo comparado con los valores y si ya se ejecutó esa alarma.
Un saludo.
sí, sería lo suyo pero el problema es la falta de tiempo....
|
|
|
60
|
Programación / .NET (C#, VB.NET, ASP) / Re: Dudas con mi agenda!! c#.
|
en: 6 Septiembre 2010, 18:08 pm
|
Eso te hace todo, cual es la gracia entonces xD
Jajajaja pues que necesitaba algo así para programar mis alarmas porque no he sido capaz de hacerlo manualmente. De todos modos como digo no he conseguido que me funcione, las tareas no arrancan y no se porqué!!!! xDD
|
|
|
|
|
|
|