Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Mostrar mensaje con ayuda de un TimePicker (https://www.clubdelphi.com/foros/showthread.php?t=80291)

Gerson12 16-09-2012 06:07:09

Mostrar mensaje con ayuda de un TimePicker
 
Hola amigo bueno vengo a presentarles mi duda es que tengo pensado hacer una aplicacion donde hay un timerPicker y un button , lo que quiero lograr es que yo en el timerpicker pondre una hora especificadapor ejemplo:
Código:

06:08:07
y quiero que cuando esa hora se cumpla me muestre un formulario automaticamente eh buscado en google pero no encuentro referencias a este tema espero me puedan ayuda de antemano
Gracias.

Caral 16-09-2012 20:41:01

Hola
Aqui tienes un ejemplo.
cambia la hora en el datetimepicker y cuando sea la hora actual se abrirá el from 2.
Saludos

Gerson12 16-09-2012 22:00:09

bueno gracias provare a penas entre a mi conputadora amigo muchas gracias por la ayuda

escafandra 17-09-2012 01:40:16

Una alternativa a la expuesta por Caral es la siguiente:

Dado que las 24h están dentro del rango del intervalo de un Timer, la estrategia puede ser calcular los milisegundos restantes desde el momento de poner en marcha el "despertador" hasta la hora a "despertar". Si luego seguimos deseando que cada 24h reaparezca el evento, pues ajustamos el timer a un intervalo de 24*3600*1000.

Código Delphi [-]
procedure TForm3.Timer1Timer(Sender: TObject);
begin
  Timer1.Interval:= 86400000;   //24 horas
  Beep;  
  Label1.Caption:= 'A despertar';
end;

procedure TForm3.Button1Click(Sender: TObject);
var
  msec: integer;
  h: Extended;
begin
  h:= DateTimePicker1.Time - Time;
  h:= h-Floor(h);
  Timer1.Interval:= Floor(h*86400000);
end;

Este sistema sólo ejecuta una vez el OnTimer.
Se debe tener en cuenta que si se apaga el PC o se cierra el programa, la cuenta se pierde... con lo que se debería guardar la hora "a despertar" en un archivo para recalcular la cuenta en ese caso.

Otra solución puede pasar por programar una "tarea programada" con API desde código.


Saludos.

Gerson12 21-09-2012 02:50:08

gracias por la recomendacion


La franja horaria es GMT +2. Ahora son las 22:28:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi