Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi erste Timerausführung erst nach abgelaufener Zeit (https://www.delphipraxis.net/12177-erste-timerausfuehrung-erst-nach-abgelaufener-zeit.html)

groomy 22. Nov 2003 12:37


erste Timerausführung erst nach abgelaufener Zeit
 
Wie kann ich erreichen, dass der Timer mit seiner Ausführung nicht wartet, bis die Zeit einmal abgelaufen ist? Er soll sofort einmal sein zeug durchführen und dann anfangen zu zählen.
Danke schonmal.

Duffy 22. Nov 2003 12:44

Re: erste Timerausführung erst nach abgelaufener Zeit
 
Hallo groomy,
Der Timer löst doch nur einen Event nach der von Dir eingestellten Zeit aus. In der Eventroutine wird dann dein Programmcode ausgeführt.

Also wer hindert Dich daran, die Eventprocedure das erste Mal von Hand selber aufzurufen.

bye
Claus

Matze 22. Nov 2003 12:44

Re: erste Timerausführung erst nach abgelaufener Zeit
 
Hi!

Herzlich Willkommen in der DP!

Mir ist dein Problem noch nicht ganz klar. :gruebel:

Ich habe es so verstanden, dass der Timer sein "Zeugs" ausführen soll und wenn das ausgeführt ist, dann soll es zählen.

Delphi-Quellcode:
var
  Form1: TForm1;
  Zaehlen: boolean = false;
  i: integer;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if not Zaehlen then
  begin
    //Zeugs
    Zaehlen:=true;
  end
  else
  begin
    inc(i);
  end;
end;
Falls ich's falsch verstanden habe, dann sorry. ;)

toms 22. Nov 2003 12:45

Re: erste Timerausführung erst nach abgelaufener Zeit
 
Hi!

Indem du sein OnTimer Ereignis per Code aufrufst:

Delphi-Quellcode:
Timer1.Enabled := True;
Timer1Timer(nil);

himitsu 22. Nov 2003 12:46

Re: erste Timerausführung erst nach abgelaufener Zeit
 
Du kannst direkt in OnCreate-Ereignis des Forms schon mal das Timer-Ereignis aufrufen.

Delphi-Quellcode:
Procedure TForm1.FormCreate(Sender: TObject);
  Begin
    Timer1Timer(Sender);
  End;
(führt das Timer-Ereignis schon mal aus, wenn das Form geladen wird)

Matze 22. Nov 2003 12:46

Re: erste Timerausführung erst nach abgelaufener Zeit
 
:wall: Ich merke schon, ich hab's falsch verstanden. :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz