Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Ejecucion de codigo segun dia de la semana

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Ejecucion de codigo segun dia de la semana Responder citando

Hola. He hecho una aplicacion y ya me funciona todo. La aplicacion va a estar ejecutandose siempre y necesito que segun el dia de la semana que sea, a una hora determinada del dia ejecute una parte del codigo u otra. Bueno pues esta ultima parte no se como hacerla, alguien puede ayudarme? Utilizo bcb 2006
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Inserta un componente TTimer de la paleta System con un Interval de 1000 que equivale a 1 seg.

en el evento de este componenete usa el siguiente codigo...
que muestra un mensaje los dias 1 de cada mes a las 17:00 hrs

Código:

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
   TTimer *ptt = dynamic_cast<TTimer*>(Sender);
   unsigned short A,M,D,Ho,Mi,Se,mSe;
   unsigned short TuHora,TuMinuto,TuDia;
   // supongamos que quieres que sea los dias 1 de cada mes
   TuDia = 1; // el dia 1 de cada mes
   TuHora= 17; // depende del formato de Windows
   TuMinuto=0; // cero minutos serian las 17:00 pm
   // descomponemos la hora y la fecha
   Time().DecodeDate(&A,&M,&D);
   Time().DecodeTime(&Ho,&Mi,&Se,&mSe);
   // comparamos
   if(D==TuDia && Ho==TuHora && Mi==TuMinuto)
   {
      // suspendemos el tiempo
      ptt->Enabled = false;
      // mostramos un mensaje que puede ser cambiado por las
      // actividades a realizar
      ShowMessage("Ya es la hora!!");

      // al terminar las actividades restauramos el Tiempo
      ptt->Enabled = true;
   }
}
//---------------------------------------------------------------------------

_________________
Cool


Ultima edición por Cesar C. Salazar Gonzalez el Vie 01 Dic, 2006 9:36 pm, editado 1 vez
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: timer Responder citando

muchas gracias cesar, probare a ver que tal
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: re Responder citando

Hola de nuevo, el codigo que me has puesto funciona a la perfeccion. Solo hay una pequeña pega: El reloj tiene la misma hora que la que yo tengo en el sistema, pero la fecha esta un poco atrasada: 30/12/1899 y claro, como ya dije necesito el dia de la semana y teniendo el año mal, entonces el dia de la semana tambien lo obtiene mal. Hay alguna solucion???
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Modifica la linea que tiene

Time().DecodeDate((&A,&M,&D);

por

Date().DecodeDate((&A,&M,&D);


Código:
unsigned short A,M,D,Ho,Mi,Se,mSe;
   unsigned short TuHora,TuMinuto,TuDia;
   // supongamos que quieres que sea los dias 1 de cada mes
   TuDia = 1; // el dia 1 de cada mes
   TuHora= 17; // depende del formato de Windows
   TuMinuto=0; // cero minutos serian las 17:00 pm
   // descomponemos la hora y la fecha

   // al parecer no te funciona con Time, cambia a Date
   Date().DecodeDate(&A,&M,&D);   <-- en esta linea
   Time().DecodeTime(&Ho,&Mi,&Se,&mSe);

_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: re Responder citando

Has dado en el clavo, ya funciona a la perfeccion. Muchas gracias
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.