Fórum executar rotina em intervalos de tempo #328716
05/09/2006
0
como faço para o meu sistema executar uma rotina a cada 1 minuto ???
Arc
Curtir tópico
+ 0
Responder
Posts
05/09/2006
Diviex
dentro da paleta [i:c4ea747952]System[/i:c4ea747952] do delphi existe o componente não visual xamado [u:c4ea747952][i:c4ea747952]Timer[/i:c4ea747952][/u:c4ea747952] (o icone dele eh um relogio).
esse componente executa o procedimento que estiver no evento [u:c4ea747952][i:c4ea747952]OnTimer[/i:c4ea747952][/u:c4ea747952] a cada ciclo de tempo. O tempo de cada ciclo pode ser alterado atravez da propriedade [u:c4ea747952][i:c4ea747952]Interval[/i:c4ea747952][/u:c4ea747952]. A propriedade [u:c4ea747952][i:c4ea747952]Interval[/i:c4ea747952][/u:c4ea747952] trabalha em [u:c4ea747952]milesegundos[/u:c4ea747952], sendo assim, 1 segundo vale 1000 milesegundos. Vc tbm pode fazer com que ele pare de repetir os ciclos alterando o valor da propriedade [u:c4ea747952][i:c4ea747952]Enabled[/i:c4ea747952][/u:c4ea747952] para [u:c4ea747952]false[/u:c4ea747952].
para fazer o que vc precisa, siga os passos:
[list:c4ea747952]Adicione um [u:c4ea747952][i:c4ea747952]TTimer[/i:c4ea747952][/u:c4ea747952] no formulario que vc desejar;
Mude a propriedade [i:c4ea747952][u:c4ea747952]Interval[/u:c4ea747952][/i:c4ea747952] do [i:c4ea747952][u:c4ea747952]TTimer[/u:c4ea747952][/i:c4ea747952] para 60000 (isso equivale a 1 minuto, visto que cada segundo vale 1000 milesegundos);
No evendo [u:c4ea747952][i:c4ea747952]onTimer[/i:c4ea747952][/u:c4ea747952] do componete digite o seguinte;
[/list:u:c4ea747952]
esse componente executa o procedimento que estiver no evento [u:c4ea747952][i:c4ea747952]OnTimer[/i:c4ea747952][/u:c4ea747952] a cada ciclo de tempo. O tempo de cada ciclo pode ser alterado atravez da propriedade [u:c4ea747952][i:c4ea747952]Interval[/i:c4ea747952][/u:c4ea747952]. A propriedade [u:c4ea747952][i:c4ea747952]Interval[/i:c4ea747952][/u:c4ea747952] trabalha em [u:c4ea747952]milesegundos[/u:c4ea747952], sendo assim, 1 segundo vale 1000 milesegundos. Vc tbm pode fazer com que ele pare de repetir os ciclos alterando o valor da propriedade [u:c4ea747952][i:c4ea747952]Enabled[/i:c4ea747952][/u:c4ea747952] para [u:c4ea747952]false[/u:c4ea747952].
para fazer o que vc precisa, siga os passos:
[list:c4ea747952]Adicione um [u:c4ea747952][i:c4ea747952]TTimer[/i:c4ea747952][/u:c4ea747952] no formulario que vc desejar;
Mude a propriedade [i:c4ea747952][u:c4ea747952]Interval[/u:c4ea747952][/i:c4ea747952] do [i:c4ea747952][u:c4ea747952]TTimer[/u:c4ea747952][/i:c4ea747952] para 60000 (isso equivale a 1 minuto, visto que cada segundo vale 1000 milesegundos);
No evendo [u:c4ea747952][i:c4ea747952]onTimer[/i:c4ea747952][/u:c4ea747952] do componete digite o seguinte;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
{rotina que deve ser executada a cada minuto}
end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)