pascalabcnet/TestSamples/FormatterTests/input/TTimer.pas
Бондарев Иван e6e67c193c initial commit
2015-05-14 21:35:07 +02:00

44 lines
956 B
ObjectPascal

//Òåñò èíòåðôåéñîâ è äåëåãàòîâ
uses
System, System.Timers;
type
IStarter = interface
procedure Start;
function get_Enabled: boolean;
procedure set_Enabled(value: boolean);
property Enabled: boolean read get_Enabled write set_Enabled;
end;
MyTimer = class(Timer, IStarter)
public
class procedure OnTimedEvent(source: object; e: ElapsedEventArgs);
begin
Console.WriteLine('Hello World!');
end;
end;
var
aTimer: MyTimer;
begin
aTimer := new MyTimer;
// Hook up the Elapsed event for the timer.
aTimer.Elapsed += MyTimer.OnTimedEvent;
// Set the Interval to 1 second (1000 milliseconds).
aTimer.Interval := 1000;
writeln(IStarter(aTimer).Enabled);
IStarter(aTimer).Enabled := true;
writeln(IStarter(aTimer).Enabled);
Console.WriteLine('Press the Enter key to exit the program.');
Console.ReadLine();
// Keep the timer alive until the end of Main.
GC.KeepAlive(aTimer);
end.