Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Hartigan

#61
Hola de nuevo. os comento la situación.

He encontrado una web donde mediante una dll de codeproject puedo crear las tareas facilmente, el problema es que lo he probado y no me funciona. Alguien podría probarlo y decirme si le funciona????  Se tarda menos de 5 minutos en hacerlo asíque os lo agradecería mucho, porque he probado de todo y no hay manera.


La web: http://escarbandocodigo.wordpress.com/2009/10/21/crear-tareas-programadas-desde-c/   (Aquí os dice de donde podeis descargar la dll).

mi código:

Código (csharp) [Seleccionar]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TaskScheduler;
using System.Security.Principal;

namespace ConsoleApplication1
{
   class Program
   {
       static void Main(string[] args)
       {
           using (ScheduledTasks Tareas = new ScheduledTasks())
           {
               //Tareas.DeleteTask("Prueb");
               Task tarea = Tareas.CreateTask("Prueba6");
               tarea.ApplicationName = @"C\Users\Litos\Desktop\pepito.xls";
               tarea.Priority = System.Diagnostics.ProcessPriorityClass.High;
               tarea.SetAccountInformation(WindowsIdentity.GetCurrent().Name, "password");
               tarea.Triggers.Add(new DailyTrigger(17, 50));
               tarea.Save();
               
           }

           
       }
   }
}


Salu2 y gracias de antemano.
#62
No, eso no funciona, más que nada porque no afecta a la configuración del excel... Crearia una carpeta sin más en el sistema pero ahi no guardaría el archivo. lol. xDD

gracias de todos modos. Alguna solución más?

EDITO: ya lo he conseguido. es tan secillo como poner:

Código (csharp) [Seleccionar]

...
string filename = this.textboxDestino.Text + "\\" + this.textBoxNombre.Text;
...
....
xlWorkBook.SaveAs(@filename, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);

....


Salu2. ;)
#63
Hola amig@s. Tengo un pequeño problema.

Estoy haciendo que se puedan exportar los datos de un datagridview a varios formatos y uno de ellos es excel. El caso es que no se como ponerle la ruta que yo queira donde guardar el fichero de destino. Es decir yo quiero que se guarde en una ruta que especifico en un textbox, pero no se como hacerlo.

Mi código por si sirve de algo es:

Código (csharp) [Seleccionar]

.....                
               Excel.Application xlApp;
               Excel.Workbook xlWorkBook;
               Excel.Worksheet xlWorkSheet;
               
               object misValue = System.Reflection.Missing.Value;

               try
               {
                   xlApp = new Excel.ApplicationClass();
                   xlWorkBook = xlApp.Workbooks.Add(misValue);
                   xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
                   int i = 0;
                   int j = 0;

                   for (i = 0; i < dataGridView1.Columns.Count; i++)
                   {
                       if (dataGridView1.Columns[i].Visible == true)
                       {
                           xlWorkSheet.Cells[1, i] = dataGridView1.Columns[i].HeaderText;
                       }
                   }

                   for (i = 0; i <= dataGridView1.RowCount - 1; i++)
                   {
                       for (j = 1; j <= dataGridView1.ColumnCount - 1; j++)
                       {
                           DataGridViewCell cell = dataGridView1[j, i];
                           xlWorkSheet.Cells[i + 2, j] = cell.Value;
                       }
                   }

                   xlWorkBook.SaveAs(textBoxDestino.Text + "\\" + textBoxNombre.Text, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
                   xlWorkSheet.Columns.AutoFit();
                   xlWorkBook.Close(true, misValue, misValue);
                   xlApp.Quit();

                   releaseObject(xlWorkSheet);
                   releaseObject(xlWorkBook);
                   releaseObject(xlApp);

                   MessageBox.Show("Archivo Excel creado con éxito", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
               }
               catch (Exception ex)
               {
                   MessageBox.Show("No se ha podido crear el archivo Excel", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
               }
.....


A ver si me podeis ayudar. Salu2. xD
#64
Cita de: KuraraGNU en 26 Agosto 2010, 21:33 PM
Yo creo que con servicio o no sigue teniendo el mismo problema, no sabe cual es el desencadenante que va a rastrear el programa en busca de las alarmas, que me he puesto a pensar y yo tampoco sabría que decirle ¿me explico? tiene el reloj, tiene las alarmas, pero no sabe qué hacer para que se vayan comprobando las alarmas para que salten. ¿Es ese tu problema? Que no te de vergüenza parecer inexperto, que peor soy yo segurísimo XD

ajajaja, no me da verguenza, si además ya he dicho en alguna ocasión que estoy empezando en esto de .net y es mi primera aplicación asíque soy bastante novato jejeej.

Efectivamente ese es mi problema, que no se que hacer o como hacer para que se vayan comprobando las alarmas con el reloj del ordenador para que salten.... porque como compruebo continuamente la fecha y la hora de cada alarma???, la fecha con una vez valdría, si esa es la fecha ya solo tendría que comprobar hasta que se cumpla la hora pero como lo hago???

Gracias compi ;)
#65
Cita de: [D4N93R] en 26 Agosto 2010, 21:20 PM
Bueno primero termina la aplicación :) y luego si te da tiempo o no haces el servicio..

:P

jejejeje, ya tio, pero esque algo tengo que hacer con las alarmas, porque el pryecto tengo que entregarlo con alarmas... sino... asíque seguramente lo haga con timers y listo, si luego me sobra tiempo me meto en el tema de los servicios...

Saludos ;)
#66
Cita de: [D4N93R] en 26 Agosto 2010, 20:51 PM
Una sugerencia con respecto al desarrollo de servicios windows:

Primero ,desarrolla toda la aplicación, que funcione bien, y luego lo conviertes en servicio, por lo que la aplicación debe ser una librería.

Segundo, El servicio de windows no se comunica con GUI en ningún momento, por lo que no vas a poder depurar, ni mandar MessageBox, ni abrir formularios. Por lo que depura primero con una aplicacion de prueba (Ver punto 1)

Tercero, tienes que buscar una forma de comunicación entre la interfaz de configuración y el servicio, puede ser un archivo XML, Base de datos, etc.

Saludos y suerte!

bufff, lo veo muy complicado... no se que hacer...
#68
Cita de: [D4N93R] en 26 Agosto 2010, 20:42 PM
Te digo lo de los servicios porque la aplicacion de tareas de windows corre bajo un servicio windows. Por que sino, dime que pasaría si una tarea debe ser ejecutada y tu aplicación está cerrada..?

Un saludo!

umm tienes razón, a la noche me pongo a estudiar los servicios a ver si me entero de algo y ya os comento. xD  Solo espero que no sea demasiado complicado porque me queda poco tiempo para entregar mi proyecto. xD

Gracias D4N93R. xD

#69
Hola, lo primero gracias por contestar a ambos.

A ver aun no tengo nada, pero el planteamiento es como he dicho. Yo tengo un formulario para crear alarmas y por ejemplo quiero crear una alarma nueva para que cuando llegué a X fecha y X hora salte un mensaje en pantalla por ejemplo.

Otro ejemplo sería que se apagase el ordenador, o que se ejecute un programa. Entoncs como se hace para que salte la señal de alarma cuando llegue a la fecha y hora indicadas??? es decir, al iniciar mi aplicación como hago para que se vayan comprobando todas las alarmas que tengo almacenadas y que si se cumple alguna salte un mensaje o apague el ordenador... etc....  como por ejemplo el programador de tareas de windows.. algo así estoy haciendo, pero si puedo NO meterme en los servicios de windows mejor que mejor porque nunca los he usado...

Saludos. 
#70
Pues una forma que se me ocurre es que hagas un select del usuario y la contraseña, y lo almacences el resultado de la búsqueda en un dataTable. si te devuelve una fila esque el usuario existe, entonces muestras el mensaje en pantalla e inicias el programa.. Algo así: (te lo pongo en c# que es en lo que yo programo pero en vb es igual, poniendo tu nomenclatura)

Código (csharp) [Seleccionar]


String sentenciaSql = "select login, pass from usuario where login = '" + login + "' AND pass = '" + password + "'";

            SqlConnection conexion = null;
            try
            {
                conexion = new SqlConnection(cadena_conexion);
                SqlDataAdapter adapter = new SqlDataAdapter(sentenciaSql, conexion);

                DataTable tabla = new DataTable();
                conexion.Open();
                adapter.Fill(tabla);

                if (tabla.Rows.Count == 1)
                {
                    exito = true;
                }
                else
                {
                    exito = false;
                }
            }

....


Yo lo tengo así en mi aplicación pero se podrá de más maneras...

Salu2.