OT: Időzítés win-ban (Delphi)

attila.nagy at ni.com attila.nagy at ni.com
Thu Mar 13 06:49:01 CET 2003


Ki ismeri az alábbiakat? Mennyire működik? (Bocs, ha HTML-ben menne át!
Beállítottam a plain text-et.)
                                                                                                                       
 Amikor  valamit megadott időközönként, vagy egy adott idő múlva végre akarunk hajtani, használhatjuk a Delphi Timer   
 komponensét.   Azonban   van   más  lehetőség  is.  Az  operációs  rendszer  rendelkezik  egy  multimédiás  időzítő   
 szolgáltatással,  és képes több időzítőt is futtatni egyidejűleg. Minden időzítő külön szálon fut. Ilyen időzítőket   
 mi is indíthatunk, vagy megállíthatunk már meglévőket.                                                                
                                                                                                                       



A   multimédiás   időzítő  felbontása  állítható,  ezzel  sokkal  pontosabb
ütemezést tesz lehetővé, mint más időzítők.
Egy  új időzítőt a timeSetEvent API függvény segítségével indíthatunk el. A
függvény  használatához a uses listában fel kell sorolnunk az MMSystem unit
nevét is.
(Embedded image moved to file: pic29358.gif)timeSetEvent
function timeSetEvent(
   uDelay,
   uResolution: UINT;
   lpFunction: TFNTimeCallBack;
   dwUser: DWORD;
   uFlags: UINT
): MMRESULT;
Elindít egy új időzítőt.
Paraméterek
uDelay
A késleltetés értéke, ezredmásodpercben.
uResolution: UINT
Az  időzítés felbontása, ezredmásodpercben. Minél kisebb értéket adunk meg,
az  időzítés  annál  pontosabb  lesz.  Növekvő  értékek  esetén a pontosság
csökken.
lpFunction: TFNTimeCallBack
Egy  Callback  függvény,  amely  tartalma  akkor  fut  le, ha az uDelay-ben
megadott  idő  letelik.  A  függvény  neve  tetszőleges lehet, de az alábbi
paraméterlistával kell rendelkeznie.
procedure DoTimer(uTimerID,uMessage: UINT; dwUser,dw1,dw2: DWORD) stdcall;

dwUser: DWORD
Egy érték átadását teszi lehetővé a Callback függvénynek.
uFlags: UINT
Az  időzítő  működését  szabályozza. TIME_ONESHOT ? az időzítő csak egyszer
fut le, TIME_PERIODIC ? periodikus futást eredményez, míg le nem állítjuk.
Visszatérési érték
Ha  az  időzítő  elindítása  sikeres  volt, a visszatérési érték az időzítő
azonosítója, ellenkező esetben 0.
Egy futó időzítőt a timeKillEvent függvénnyel állíthatunk le.
(Embedded image moved to file: pic26962.gif)timeKillEvent
function timeKillEvent(
   uTimerID: UINT
): MMRESULT;
Egy futó időzítő megállítására szolgál.
Paraméterek
uTimerID: UINT
Az időzítő azonosítója.
Visszatérési érték
Ha az időzítő leállítása sikeres volt, 0 értékkel tér vissza.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pic29358.gif
Type: image/gif
Size: 506 bytes
Desc: not available
Url : http://www.centralnet.hu/pipermail/elektro/attachments/20030313/57f5fea7/attachment.gif 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pic26962.gif
Type: image/gif
Size: 506 bytes
Desc: not available
Url : http://www.centralnet.hu/pipermail/elektro/attachments/20030313/57f5fea7/attachment-0001.gif 


More information about the Elektro mailing list