Intervall erzeugen
-
Hallo,
ich möchte einen Intervall erzeugen, bei dem meine Funktion aufgerufen wird.
Ich habe folgendes probiertvar timer = new System.Timers.Timer(); timer.Interval = 500; timer.Elapsed += meinefunktion; timer.Enabled = true;Aber wie bringe ich den Timer dazu direkt meine eigene Funktion/Methode aufzurufen ?
Danke !!
-
Funktioniert doch?
using System; using System.Timers; using System.Threading; public class Test { public static void Main() { var timer = new System.Timers.Timer(); timer.Interval = 100; timer.Elapsed += meinefunktion; timer.Enabled = true; Console.WriteLine("Warte auf Events"); Thread.Sleep(500); } private static void meinefunktion(Object source, System.Timers.ElapsedEventArgs e) { Console.WriteLine("Timer aufgerufen um {0}", e.SignalTime); } }
-
Hallo,
ich habe folgendes probiert.
Ziel: Es soll eine Endlosprogramm sein, das alle 500ms aufgerufen wird.. In der Main
var timer = new System.Timers.Timer(); timer.Interval = 500; timer.Elapsed += event_readdatapoints; timer.Enabled = true; curTime = DateTime.Now; Thread.Sleep(25000); Console.WriteLine("Programm wurde normal verlassen");Eine neue Funktion, die meine Funktion aufruft.
private static void event_readdatapoints(Object source, System.Timers.ElapsedEventArgs e) { bool retval = CommLPE.CommLPEProgramm.readsymbols(); Console.WriteLine("Timer aufgerufen um {0}", e.SignalTime); }Leider wird das Programm nach 25 Sekunden beendet.
Konsole: Programm wurde normal verlassen.Ich verstehe nicht warum ?
Muss ich anstelle von Thread.Sleep eine Endlosschleife machen ?
Danke !!
-
Du willst endlos laufen. Deine Maßnahme dazu ist, 25 Sekunden zu warten und dann aufzuhören? Merkst du was?