Intervall erzeugen



  • Hallo,

    ich möchte einen Intervall erzeugen, bei dem meine Funktion aufgerufen wird.
    Ich habe folgendes probiert

    var 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 !!


  • Mod

    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);
        }
    }
    

    https://ideone.com/DtUlai



  • 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 !!


  • Mod

    Du willst endlos laufen. Deine Maßnahme dazu ist, 25 Sekunden zu warten und dann aufzuhören? Merkst du was?



  • OK,verstanden


  • Gesperrt

    Dieser Beitrag wurde gelöscht!

  • Mod

    Dieser Beitrag wurde gelöscht!

Anmelden zum Antworten