Agendar Rotina
Aguém sabe como faço para criar um procedimento para agendar a execução de uma rotina?
Exemplo: Agendo para 10:30 de todo o dia a execução da cópia de uma arquivo de uma pasta para outra.
Exemplo: Agendo para 10:30 de todo o dia a execução da cópia de uma arquivo de uma pasta para outra.
Leufmt
Curtidas 0
Respostas
Rodc
03/04/2008
Você poder fazer um TTimer e agendar para ele disparar o evento após decorrer o tempo (em milisegundos) que falta para o evento ser rodado.
GOSTEI 0
Leufmt
03/04/2008
Mas como faço isto?
GOSTEI 0
Rodc
03/04/2008
Coloque um TTimer na tela (palheta System), no evento OnTimer() do componente coloque o código que deve ser rodado.
Depois coloque o código abaixo para agendar a execução.
Vale lembrar que o componente deve estar com a propriedade Enabled igual a False antes de chamar o código acima e ao executar o processamento agendado (evento OnTimer) a propriedade Enabled deve ser setada para False novamente.
Depois coloque o código abaixo para agendar a execução.
Timer1.Interval := MilliSecondsBetween(Now(), DataFutura); Timer1.Enabled := true;
Vale lembrar que o componente deve estar com a propriedade Enabled igual a False antes de chamar o código acima e ao executar o processamento agendado (evento OnTimer) a propriedade Enabled deve ser setada para False novamente.
GOSTEI 0
Leufmt
03/04/2008
Cara, coloca um exemplo ai mais claro pois testei ai e não deu certo.
GOSTEI 0
Rodc
03/04/2008
O que não deu certo? Que erro deu? Como você fez?
GOSTEI 0
Leufmt
03/04/2008
Simplesmente não funciona
GOSTEI 0
Rodc
03/04/2008
Inicie um novo projeto.
Coloque com TTimer no formulário.
Marque a propriedade Enabled dele para false.
Dê um duplo-clique no Timer.
No evento coloque o códigoColoque um TButton no formulário.
No onClick do botão coloque o código
Rode o programa e clique no botão. Depois de 5 segundos apareceu a mensagem?
Sim? Então agora troque o valor de 5000ms pelo cálculo de quantos milisegundos falta para rodar o seu evento.
Não apareceu a mensagem? Então posta aqui todo o seu código para eu ver.[/code]
Coloque com TTimer no formulário.
Marque a propriedade Enabled dele para false.
Dê um duplo-clique no Timer.
No evento coloque o código
ShowMessage(´Rodou o evento´);
No onClick do botão coloque o código
Timer1.Interval := 5000; Timer1.Enabled := true;
Rode o programa e clique no botão. Depois de 5 segundos apareceu a mensagem?
Sim? Então agora troque o valor de 5000ms pelo cálculo de quantos milisegundos falta para rodar o seu evento.
Não apareceu a mensagem? Então posta aqui todo o seu código para eu ver.[/code]
GOSTEI 0