Promotic

AddEventTimer - method of the PmaRoot object

Description:
Registers a function into the application timer for unrepeated or repeated calling after a defined time period.
Syntax:
Empty AddEventTimer(Long nTime, Long nType, String sFuncId, Function Func)
Parameters:
nTime(Long) Either time period (period or timeout) in milliseconds, after which the function is called. Or the time and date when the function is called.
nType(Long) Inner timer request type.
0 - The function will be called repeatedly with defined period.
1 - The function will be called once with defined delay (timeout).
2 - The function will be called once with the specified date and time. This method is not functional in Web panels.
sFuncId(String) Identifier of registered event function.
- Allows removal of function by the RemoveEventTimer method.
- Prevents duplicate registering of the same function.
- May contain any characters (this is not a system name).
- Must not be an empty string.
- It is recommended to use e.g. the whole path to Pma object.
Func(Function) JavaScript event function that will be called by application timer.
See also:
Example:
The example of repeated (10x) running of a function executed in two ways. The first approach is to repeatedly register new function for single execution while it is needed.
JavaScriptSelect and copy to clipboard

function OnTick()
{
Pm.Debug("OnTick: tClick=" + Pm.FormatDate(tClicked, 1) + ", nCounter=" + nCounter);
if (nCounter-- > 0)
{
pMe.Root.AddEventTimer(1000, 1, pMe.GetPathName(), OnTick);
}
}
var tClicked = Pm.Time;
var nCounter = 10;
pMe.Root.AddEventTimer(1000, 1, pMe.GetPathName(), OnTick);
Another approach is to register the function once for repeated execution and then un-registering it after it is no longer needed. Simultaneously executes animation of object "Ellipse" in the panel.
JavaScriptSelect and copy to clipboard

function OnTick()
{
Pm.Debug("OnTick: tClick=" + Pm.FormatDate(tClicked, 1) + ", nCounter=" + nCounter);
if (nCounter-- < 0)
{
pMe.Root.RemoveEventTimer(pMe.GetPathName());
}
}
var tClicked = Pm.Time;
var nCounter = 10;
pMe.Root.AddEventTimer(60, -1, pMe.GetPathName(), OnTick);

History:
Pm9.00.25: New option 2 in the nType parameter
Pm9.00.16: New the sFuncId parameter
Pm9.00.09: Created
PROMOTIC 9.0.25 SCADA system documentation MICROSYS, spol. s r.o.

Send page remarkContact responsible person
© MICROSYS, spol. s r. o.