GARANTIR DESCONTO

Fórum Agendar Rotina #356470

03/04/2008

0

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.


Leufmt

Leufmt

Responder

Posts

03/04/2008

Rodc

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.


Responder

Gostei + 0

03/04/2008

Leufmt

Mas como faço isto?


Responder

Gostei + 0

03/04/2008

Rodc

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.
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.


Responder

Gostei + 0

03/04/2008

Leufmt

Cara, coloca um exemplo ai mais claro pois testei ai e não deu certo.


Responder

Gostei + 0

03/04/2008

Rodc

O que não deu certo? Que erro deu? Como você fez?


Responder

Gostei + 0

03/04/2008

Leufmt

Simplesmente não funciona


Responder

Gostei + 0

03/04/2008

Rodc

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ódigo
ShowMessage(´Rodou o evento´);
Coloque um TButton no formulário.
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]


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar