//
// Copyright (c) 2002
// Ronald Kevin Burton
//
// Z poniższym kodem nie jest związana żadna gwarancja poprawności działania.
// Program został dołączony do książki ".NET CLR. Księga eksperta" w celu
// ilustracji koncepcji i zasad przedstawionych w tej książce. Program może być 
// używany na własne ryzyko.
//
// Przyznaje się prawo do użycia lub kopiowania tego oprogramowania do dowolnego celu
// bez konieczności ponoszenia żadnych opłat pod warunkiem, że powyższe uwagi zostaną 
// zachowane we wszystkich kopiach. Przyznaje się także prawo do modyfikacji kodu
// i dystrybucji zmodyfikowanego kodu pod warunkiem zachowania powyższych uwag
// oraz dołączenia informacji mówiącej o modyfikacji kodu.
//
// 
using System;
using System.Timers;

namespace FrameworkLibraries
{
	public class TimerMain 
	{
		private static long lastTickCount = 0;
		public static void OnElapsedEvent(object source, ElapsedEventArgs e)
		{
			if(lastTickCount == 0)
			{
				lastTickCount = Environment.TickCount;
				Console.WriteLine("Witaj!!");
			}
			else
			{
				long currentTickCount = Environment.TickCount;
				Console.WriteLine("Witaj!! {0}", currentTickCount - lastTickCount);
				lastTickCount = currentTickCount;
			}
		}
		static void Main(string [] args)
		{
			Timer timer = new Timer();
			timer.Elapsed+=new ElapsedEventHandler(OnElapsedEvent);
			// Ustawienie interwału na 1 sekundę.
			timer.Interval = 1000;
			timer.Enabled = true;
 
			Console.WriteLine("Wciśnij <enter>, aby opuścić program.");
			Console.ReadLine();
		}
	}
}
