Exemple #1
0
        void Clock_Alarm1(object sender, TickEventArgs args)
        {
            int s = args.Second;
            int m = args.Minute;
            int h = args.Hour;

            Console.WriteLine($"ALARM  {TickEventArgs.AddZero(h)}{h}:{TickEventArgs.AddZero(m)}{m}:{TickEventArgs.AddZero(s)}{s}");
        }
Exemple #2
0
        public void Tick()
        {
            int h = args.Hour;
            int m = args.Minute;
            int s = args.Second;

            Console.WriteLine($"tick starts on {TickEventArgs.AddZero(h)}{h}:{TickEventArgs.AddZero(m)}{m}:{TickEventArgs.AddZero(s)}{s}");

            while (true)
            {
                System.Threading.Thread.Sleep(10);

                if (args.Second >= 59)
                {
                    args.Second = 0;
                }
                else
                {
                    args.Second++;
                }

                if (args.Second == 0)
                {
                    if (args.Minute < 59)
                    {
                        args.Minute++;
                    }
                    else
                    {
                        args.Minute = 0;
                    }
                }

                if (args.Minute == 0 && args.Second == 0)
                {
                    if (args.Hour < 23)
                    {
                        args.Hour++;
                    }
                    else
                    {
                        args.Hour = 0;
                    }
                }

                OnTick(this, args);
                if (args.Hour == args.SetHour && args.Minute == args.SetMinute && args.Second == args.SetSecond)
                {
                    OnAlarm(this, args);
                }
            }
        }