 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
manolosanchez Cdt

Registrado: 26 Nov 2006Mensajes: 13
|
Publicado: Jue 30 Nov, 2006 8:47 pm Asunto: Ejecucion de codigo segun dia de la semana |
|
|
| 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 |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Vie 01 Dic, 2006 1:03 am Asunto: |
|
|
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;
}
}
//--------------------------------------------------------------------------- |
_________________

Ultima edición por Cesar C. Salazar Gonzalez el Vie 01 Dic, 2006 9:36 pm, editado 1 vez |
|
| Volver arriba |
|
 |
manolosanchez Cdt

Registrado: 26 Nov 2006Mensajes: 13
|
Publicado: Vie 01 Dic, 2006 4:16 pm Asunto: timer |
|
|
| muchas gracias cesar, probare a ver que tal |
|
| Volver arriba |
|
 |
manolosanchez Cdt

Registrado: 26 Nov 2006Mensajes: 13
|
Publicado: Vie 01 Dic, 2006 9:22 pm Asunto: re |
|
|
| 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 |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Vie 01 Dic, 2006 9:35 pm Asunto: |
|
|
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); |
_________________
 |
|
| Volver arriba |
|
 |
manolosanchez Cdt

Registrado: 26 Nov 2006Mensajes: 13
|
Publicado: Vie 01 Dic, 2006 10:18 pm Asunto: re |
|
|
| Has dado en el clavo, ya funciona a la perfeccion. Muchas gracias |
|
| Volver arriba |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|