Buscar

Fazendo um Timer sem usar o componente TTimer

Código

{pra quem precisar fazer com que uma rotina seja repetida a cada intervalo de tempo e não quer usar o componente TTimer eu criei esse código. Alguns vão me perguntar: "Não é mais fácil simplesmente usar o componente?" Sim! é mais fácil, porém com essas funções vc não vai precisar declarar todos os recursos do componente TTimer, utilizando menos memória (é pouca coisa mas sempre temos que visar a melhor performace para o sistema)}

//Declare as procedures que vamos utilizar
    procedure Timer(Timer: Integer; Intervalo: Integer; Ativado: Boolean);
    procedure TimerMensagem(var Msg: TWMTimer); message WM_TIMER;


procedure TForm1.TimerMensagem(var Msg: TWMTimer);
begin
//Aqui vc digita qualquer rotina que deseja executar (mesma coisa que o evento OnTimer do componente TTimer)
end;

procedure TForm1.Timer(Timer: Integer; Intervalo: Integer; Ativado: Boolean);
begin
  if Ativado then
    SetTimer(Handle, Timer, Intervalo, nil)
  else
    KillTimer(Handle, Timer);
end;

//Ativando o nosso timer
Timer(1, //ID do timer, pode ser qualquer número inteiro
100, //Intervalo de repetição
True); //Se passar True ativa o timer, se passar false desativa

//Desativando o nosso timer
Timer(1, 100, False);

{bom galera é isso aí, espero que tenham gostado da dica. Por favor comentem, isso nos inpira a cada vez postar mais dicas}

Publicidade

Vote na dica




Quantidade de votos: 1 voto
Aceitação: 20%


Detalhes da dica

Categoria: Object pascal
Adicionada dia: 18/06/10
Por: -=|PiRuKa|=-
Visualizada: 14167 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009