HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Időzítés Timer komponens nélkül


Példaprogram letöltése

3571 bájt

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.
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.
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.

Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 140. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |