Timer1 em {$APPTYPE CONSOLE} ?

Delphi

26/01/2008

Como faço para usa um timer em um Project sem Form ?

Tem algum código do Timer que eu possa usar ?

Flw


Warfighter

Warfighter

Curtidas 0

Respostas

Warfighter

Warfighter

26/01/2008

Qualquer ajuda é bem vinda :wink:

:?:


GOSTEI 0
Onjahyr

Onjahyr

26/01/2008

Declare na uses a unit:

[b:d090220555]´ExtCtrls´[/b:d090220555];

uma variável do tipo:

[b:d090220555]Tempo: TTimer;[/b:d090220555]

E pronto, só basta informar as propriedades antes de usar:

[b:d090220555]Tempo.Enable := False;[/b:d090220555]
[b:d090220555]Tempo.Interval := (tempo desejado);[/b:d090220555] // o padrão é [b:d090220555]1000[/b:d090220555]
Tempo.OnTimer := TempoTimer;
[i:d090220555]{ Quando [b:d090220555]Enabled = True[/b:d090220555] dispara o evento na procedure }
{ que será criada. Veja abaixo }[/i:d090220555]

// Crie uma procedure
[b:d090220555]procedure[/b:d090220555] TempoTimer;
[b:d090220555]begin[/b:d090220555]
Tempo1.Enabled := False; {Prá ñ ficar repetindo todo tempo o evento}
[i:d090220555]// ...................
// Faz o que deseja que seja feito
// ...................[/i:d090220555]
[b:d090220555]end[/b:d090220555];

[b:d090220555][color=red:d090220555]Quando desejar usar é só fazer:[/color:d090220555][/b:d090220555][b:d090220555]

Tempo.Enabled := True;[/b:d090220555]

_____________________________________________________


GOSTEI 0
Warfighter

Warfighter

26/01/2008

Declare na uses a unit: [b:192124d14a]´ExtCtrls´[/b:192124d14a]; uma variável do tipo: [b:192124d14a]Tempo: TTimer;[/b:192124d14a] E pronto, só basta informar as propriedades antes de usar: [b:192124d14a]Tempo.Enable := False;[/b:192124d14a] [b:192124d14a]Tempo.Interval := (tempo desejado);[/b:192124d14a] // o padrão é [b:192124d14a]1000[/b:192124d14a] Tempo.OnTimer := TempoTimer; [i:192124d14a]{ Quando [b:192124d14a]Enabled = True[/b:192124d14a] dispara o evento na procedure } { que será criada. Veja abaixo }[/i:192124d14a] // Crie uma procedure [b:192124d14a]procedure[/b:192124d14a] TempoTimer; [b:192124d14a]begin[/b:192124d14a] Tempo1.Enabled := False; {Prá ñ ficar repetindo todo tempo o evento} [i:192124d14a]// ................... // Faz o que deseja que seja feito // ...................[/i:192124d14a] [b:192124d14a]end[/b:192124d14a]; [b:192124d14a][color=red:192124d14a]Quando desejar usar é só fazer:[/color:192124d14a][/b:192124d14a][b:192124d14a] Tempo.Enabled := True;[/b:192124d14a] _____________________________________________________



[b:192124d14a]Muito bom sua Dica[/b:192124d14a] :wink:

[b:192124d14a]Mais esse código está certo ?[/b:192124d14a]

[b:192124d14a]Tempo.OnTimer := TempoTimer; [/b:192124d14a]

[b:192124d14a]Está dando erro ao copilar nesse Código[/b:192124d14a]

Abraços :D


GOSTEI 0
Onjahyr

Onjahyr

26/01/2008

Primeiramente, vc tem que dizer qual é o erro que está dando pois não sou adivinhão, segundo, vc acha que vou testar e dar tudo prontinho para vc? vai atrás cara, se movimenta, pesquisa, tenta.... se dá algum erro, pelo menos informa qual é o erro, não testei não, fiz na lógica...


GOSTEI 0
Warfighter

Warfighter

26/01/2008

Primeiramente, vc tem que dizer qual é o erro que está dando pois não sou adivinhão, segundo, vc acha que vou testar e dar tudo prontinho para vc? vai atrás cara, se movimenta, pesquisa, tenta.... se dá algum erro, pelo menos informa qual é o erro, não testei não, fiz na lógica...


[b:a9834838fc]Ae tá o erro[/b:a9834838fc]


Ontimer Aceita Procedures ?

O que isso significa ?


Flw


GOSTEI 0
Onjahyr

Onjahyr

26/01/2008

Ok, vamos lá!!!!!

Não estou com o Delphi aqui, mas vejamos se vai funcionar.... testa aí:
___________________________________________________


uses
Windows, SysUtils, Classes, ExtCtrls;

var
Tempo : TTimer;

type
TExemplo = class
public
Procedure EventTimer(Sender:TObject);
end;

procedure TExemplo.EventTimer(Sender: TObject);
begin
/// Escreva aqui o que deseja fazer no tempo desejado...
end;

var
AClass : TExemplo;

begin
Tempo := TTimer.Create(nil);
AClass := TExemplo.Create;

Tempo.Interval := 5000;
Tempo.OnTimer := AClass.EventTimer;
Tempo.Enabled := True;

{

Tem que ter um while aqui, vc sabe, tem que constar um tipo de loop senão o aplicativo finaliza... Uma verificação de alguma variável no evento do timer, etc...

Chora aí se não der certo! Quem quiser opinar fique a vontade, a união faz a força..

}

end.

__________________________________________________


GOSTEI 0
Onjahyr

Onjahyr

26/01/2008

:lol:

Esqueci que no final, qdo o aplicativo for finalizado, tem que destruir o Tempo:

[b:8df1a9b8d4]Tempo.free[/b:8df1a9b8d4];


GOSTEI 0
Warfighter

Warfighter

26/01/2008

Vlw

Esse funciono corretamente :wink:

Até +


GOSTEI 0
POSTAR