Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Auslösung von Ereignisen Timecodegenau (https://www.delphipraxis.net/70656-ausloesung-von-ereignisen-timecodegenau.html)

moritz 2. Jun 2006 10:36


Auslösung von Ereignisen Timecodegenau
 
Moin!

Ich bin zur Zeit dabei ein Stepper-Programm zu schreiben, dass zu einem gewissen Timecode ein Ereignis auslöst. Es gibt nur eine Form von Ereignis, das ist hier im Prinzip mal egal.
Also z.B. (Zeit in ms)
2000 Step
2500 Step
...

Ihr wisst was ich mein ;) Also, auf jeden Fall sollten diese Ereignisse möglichst Zeitgenau ausgelöst werden, d.h. wenn ich 1562 eingebe, sollte das Ereginis auch ziemlich genau da ausgelöst werden.
Bisher hatte ich mir das ganze wie folgt überlegt:
Ich lasse in einem Thread eine while-schleife laufen, die in etwa wie folgt aussieht:
Delphi-Quellcode:
while 1 do
begin
  lTime := GetMicroTime; //lTime ist eine lokale Variable, die erst hier verwendet wird
  Time := Time + (lTime - prevTime); // prevTime ist noch vom vorherigen Durchlauf definiert
  prevTime := lTime;
  sleep(1);
end;
in Time ist dann der aktuelle Timecode gespeichert. Würde ich jetzt vor sleep noch ein Ereignis auslösen, könnte ich in diesem prüfen, ob ein Step ausgelöst werden muss.

Die Frage ist: Geht das auch CPU-Freundlicher? Das ganze soll auf einem 233MhZ-PC laufen.

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:16 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