33 lines
697 B
ObjectPascal
33 lines
697 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. |