whats new ¦  programming tips ¦  indy articles ¦  intraweb articles ¦  informations ¦  links ¦  interviews
 misc ¦  tutorials ¦  Add&Win Game

Tips (1541)

Database (90)
Files (137)
Forms (107)
Graphic (114)
IDE (21)
Indy (5)
Internet / LAN (130)
IntraWeb (0)
Math (76)
Misc (126)
Multimedia (45)
Objects/
ActiveX (51)

OpenTools API (3)
Printing (35)
Strings (83)
System (266)
VCL (242)

Top15

Tips sort by
component


Search Tip

Add new Tip

Add&Win Game

Advertising

29 Visitors Online


 
...create a multimedia timer?
Autor: Simon Grossenbacher
Homepage: http://www.swissdelphicenter.ch
[ Print tip ]  

Tip Rating (31):  
     


{
  The timeSetEvent function starts a specified timer event.
  The multimedia timer runs in its own thread. After the event is activated,
  it calls the specified callback function or sets or pulses the spe
  cified event object.

  MMRESULT timeSetEvent(
  UINT           uDelay,
  UINT           uResolution,
  LPTIMECALLBACK lpTimeProc,
  DWORD_PTR      dwUser,
  UINT           fuEvent
  );

  uDelay:
   Event delay, in milliseconds

  uResolution:
   Resolution of the timer event, in milliseconds.
   A resolution of 0 indicates periodic events should occur with the
   greatest possible accuracy.
   You should use the use the maximum value appropriate to reduce system overhead.

  fuEvent:
   TIME_ONESHOT Event occurs once, after uDelay milliseconds.
   TIME_PERIODIC Event occurs every uDelay milliseconds.
}


uses
  
MMSystem;

var
  
mmResult: Integer;


// callback function
procedure TimeCallBack(TimerID, Msg: Uint; dwUser, dw1, dw2: DWORD); pascal;
begin
  
// Do something here. This procedure will be executed each 10 ms
  
Form1.Label1.Caption := Form1.Label1.Caption + '%';
end;

// Set a new timer with a delay of 10 ms
procedure TForm1.Button1Click(Sender: TObject);
begin
  
mmResult := TimeSetEvent(10, 0, @TimeCallBack, 0, TIME_PERIODIC);
end;


// Cancel the timer event.
procedure TForm1.FormDestroy(Sender: TObject);
begin
  
TimeKillEvent(mmResult);
end;



 

Rate this tip:

poor
very good


Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners