source: components/CoolTrayIcon/docs/SimpleTimer.html

Last change on this file was 1, checked in by maron, 16 years ago

3.1 verze, první revize

File size: 6.0 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3<head>
4<title>SimpleTimer, ver. 2.0.1</title>
5
6<style type='text/css'>
7/* body { font-family: MS Sans Serif; font-size: 12pt; } */
8 h1 { font: bold 14pt Arial; margin-bottom: 10px; }
9 h2 { font: bold 12pt Arial; margin-bottom: 10px; margin-top: 40px; }
10 td.name { background-color: #00FFCC; width: 120px; font-weight: bold; }
11 td.desc { background-color: #F0F0F0; }
12 td.default { background-color: #F0F0F0; }
13 ul { margin-left: 15px; margin-top: 5px; }
14 li { margin-bottom: 10px; }
15 .declaration { font-weight: bold; }
16</style>
17
18</head>
19
20
21<body topmargin='15' bottommargin='15' leftmargin='10' rightmargin='10'>
22
23<a name='Top'><h1>SimpleTimer, ver. 2.0.1</h1>
24
25
26<a href='#Properties'>[Properties]</a> <a href='#Methods'>[Methods]</a> <a href='#Events'>[Events]</a> <a href='#StandAloneMethods'>[Stand-alone Methods]</a>
27<br>
28<a href='#Howto'>[How To Use]</a> <a href='#Bugs'>[Known Bugs]</a> <a href='#Comments'>[Comments]</a>
29<br>
30
31
32<p>
33SimpleTimer is a timer class. It has the same timer resolution as TTimer, but it is more
34lightweight because it's derived from TObject in stead of TComponent. Furthermore, the same
35handle is shared between multiple instances of SimpleTimer. This makes it ideal for developers
36who need a timer in their own components or applications, but want to keep the resource
37usage minimal.
38</p>
39
40
41<a name='Properties'></a><h2>Properties</h2>
42
43<table cellpadding='2' cellspacing='2' border='0' width='100%'>
44<tr>
45 <td class='name' valign='top'>Enabled</td>
46 <td class='desc' valign='top'><span class='declaration'>property Enabled: Boolean;</span><br>
47 Enables (starts) or disables (stops) the timer.</td>
48 <td class='default' valign='top' nowrap>Default False</td>
49</tr>
50<tr>
51 <td class='name' valign='top'>Interval</td>
52 <td class='desc' valign='top'><span class='declaration'>property Interval: Cardinal;</span><br>
53 The interval of the timer in millisecs.<br>
54 <b>NOTE:</b> Specifying a value of 0 will cause the timer to stop, but will not set the
55 Enabled property to false.</td>
56 <td class='default' valign='top' nowrap>Default 1000</td>
57</tr>
58<tr>
59 <td class='name' valign='top'>AutoDisable</td>
60 <td class='desc' valign='top'><span class='declaration'>property AutoDisable: Boolean;</span><br>
61 If true, the timer will disable itself (Enabled is set to False) immediately after the next
62 time it fires. Useful when you want a one-shot timer.</td>
63 <td class='default' valign='top' nowrap>Default False</td>
64</tr>
65</table>
66
67
68
69<a name='Methods'></a><h2>Methods</h2>
70
71<table cellpadding='2' cellspacing='2' border='0' width='100%'>
72<tr>
73 <td class='name' valign='top'>Create</td>
74 <td class='desc' valign='top'><span class='declaration'>constructor Create;</span><br>
75 Creates a new TSimpleTimer object.</td>
76</tr>
77<tr>
78 <td class='name' valign='top'>CreateEx</td>
79 <td class='desc' valign='top'><span class='declaration'>constructor CreateEx(AInterval: Cardinal; AOnTimer: TNotifyEvent);</span><br>
80 Creates a new TSimpleTimer object with the specified Interval property and OnTimer event.</td>
81</tr>
82<tr>
83 <td class='name' valign='top'>Destroy</td>
84 <td class='desc' valign='top'><span class='declaration'>destructor Destroy; override;</span><br>
85 Destroys the TSimpleTimer object.</td>
86</tr>
87</table>
88
89
90
91<a name='Events'></a><h2>Events</h2>
92
93<table cellpadding='2' cellspacing='2' border='0' width='100%'>
94<tr>
95 <td class='name' valign='top'>OnTimer</td>
96 <td class='desc' valign='top'><span class='declaration'>property OnTimer: TNotifyEvent;</span><br>
97 Called when the timer fires.</td>
98</tr>
99</table>
100
101
102
103<a name='StandAloneMethods'></a><h2>Stand-alone Methods</h2>
104
105<table cellpadding='2' cellspacing='2' border='0' width='100%'>
106<tr>
107 <td class='name' valign='top'>GetSimpleTimerCount</td>
108 <td class='desc' valign='top'><span class='declaration'>function GetSimpleTimerCount: Cardinal;</span><br>
109 Returns the number of TSimpleTimer objects currently allocated.</td>
110</tr>
111<tr>
112 <td class='name' valign='top'>GetSimpleTimerActiveCount</td>
113 <td class='desc' valign='top'><span class='declaration'>function GetSimpleTimerActiveCount: Cardinal;</span><br>
114 Returns the number of TSimpleTimer objects that are currently active (enabled).</td>
115</tr>
116</table>
117
118
119
120<a name='Howto'></a><h2>How To Use</h2>
121
122This example creates a SimpleTimer object, initializing Interval to 500 milliseconds and
123the OnTimer event to TForm1.TimerProc1, then starts the timer:
124<pre>procedure TForm1.FormCreate(Sender: TObject);
125begin
126 SimpleTimer1 := TSimpleTimer.Create(500, TimerProc1);
127 SimpleTimer1.Enabled := True;
128end;</pre>
129
130This is what TimerProc1 might look like:
131<pre>procedure TForm1.TimerProc1(Sender: TObject);
132begin
133 ListBox1.Items.Add('SimpleTimer1 fired');
134end;</pre>
135</li>
136
137Remember to destroy the SimpleTimer object when your app. terminates.
138
139
140
141<a name='Bugs'></a><h2>Known Bugs</h2>
142
143<ul>
144<li>You may experience occasionally that you lose a timer event when you work with
145small intervals (approx. below 100 ms.). This is normal, and the same thing happens
146with a TTimer object. If you want precision you need a multimedia timer, not
147TTimer or TSimpleTimer which use the low-priority WM_TIMER message. WinXP has better
148handling of timers and will generally lose fewer timer events than other Windows versions.
149</li>
150</ul>
151
152
153
154<a name='Comments'></a><h2>Comments</h2>
155
156SimpleTimer is <i>freeware</i>. Feel free to use and improve it,
157but <i>please include all original files if you redistribute the zip-file</i>.
158If you have any comments or corrections I would very much like to hear them.
159</p>
160
161<p>
162Get the latest version from <a href='http://www3.brinkster.com/troels/delphi.asp' target='_blank'>
163http://www3.brinkster.com/troels/delphi.asp</a>.
164</p>
165
166<p>
167Troels Jakobsen<br>
168<a href='mailto:delphiuser@get2net.dk'>delphiuser@get2net.dk</a>
169</p>
170
171</body>
172</html>
173
Note: See TracBrowser for help on using the repository browser.