//События, +=, -=, демонстрация работы таймера 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.