31 lines
664 B
ObjectPascal
31 lines
664 B
ObjectPascal
//События, +=, -=, демонстрация работы таймера System.Timers.Timer
|
|
uses System;
|
|
|
|
var Timer:System.Timers.Timer;
|
|
x:integer;
|
|
exit:boolean;
|
|
|
|
procedure OnTimer2(sender:object; e:System.Timers.ElapsedEventArgs);
|
|
begin
|
|
Writeln(x);
|
|
x:=x+1;
|
|
exit:=x>=10;
|
|
end;
|
|
procedure OnTimer1(sender:object; e:System.Timers.ElapsedEventArgs);
|
|
begin
|
|
Writeln(e.SignalTime);
|
|
x:=x+1;
|
|
if x>=5 then begin
|
|
Timer.Elapsed-=OnTimer1;
|
|
Timer.Elapsed+=OnTimer2;
|
|
end;
|
|
end;
|
|
|
|
begin
|
|
Exit:=false;
|
|
Timer:=System.Timers.Timer.Create(1000);
|
|
Timer.Elapsed+=OnTimer1;
|
|
Timer.Start;
|
|
while not exit do
|
|
Sleep(Round(Timer.Interval));
|
|
end. |