ich habe einen kleinen Counter gebaut. Jede Sekunden wird das aktuelle Datum, Uhrzeit angezeigt und die Endzeit. Wenn die Endzeit erreicht ist, soll der Timer einfach stoppen. Nur timer.Stop(); funktioniert nicht.
Code: Alles auswählen
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Timers;
namespace HackingCalculator
{
class Program
{
static DateTime endZeit;
static void Main(string[] args)
{
Console.WriteLine("HackingCalculator - Lösen Sie die Rechnenaufgaben bevor die Zeit abgelaufen ist");
Console.WriteLine(" ");
Timer(false);
Console.ReadLine();
}
static void Timer(bool ende) {
Timer timer = new Timer();
timer.Interval = 1000;
timer.Elapsed += new ElapsedEventHandler(timer_ausgeloest);
endZeit = DateTime.Now.AddSeconds(7);
if (ende) { timer.Stop(); } else { timer.Start(); }
}
static void timer_ausgeloest(object sender, ElapsedEventArgs e) {
Console.WriteLine(DateTime.Now);
Console.WriteLine("Endzeit: " + endZeit);
TimeSpan leftTime = endZeit.Subtract(DateTime.Now);
if (leftTime.TotalSeconds < 0)
{
Timer(true);
Console.WriteLine("You were hacked!");
}
}
}
}