Social Icons

^^

sábado, 28 de maio de 2011

Tempo sem timer no Delphi

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 inspira a cada vez postar mais dicas}

Autor: -=|PiRuKa|=-

6 comentários:

  1. Gostei muito so não intendi as seguintes partes

    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 inspira a cada vez postar mais dicas}

    ?

    ResponderExcluir
  2. Define uma procedure que vai receber 3 valores, integer, integer e bollean.

    ResponderExcluir
  3. Jefferson gostaria de saber como fasso pra colocar + 1 de desse tempo ser timer no delphi
    pq quando eu vou declarar 2

    // procedure Timer(Timer: Integer; Intervalo: Integer; Ativado: Boolean);
    procedure TimerMensagem(var Msg: TWMTimer); message WM_TIMER;

    da um erro no // WM_TIMER; // fala que não pode ser duplicate algo assim

    vc poderia posta um exemplo aqui ?

    Agradeceria muito.

    ResponderExcluir
  4. É amigo, eu também não consigo usar 2.

    ResponderExcluir
  5. Olá estou fazendo um projeto que não contém Form, eu poderia usar esse método??

    ResponderExcluir

Popular Posts

- Arquivo -

 

Seguidores

Hora exata:

Total de visualizações de página