Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. using System;
  2. using System.IO;
  3. using System.Threading;
  4.  
  5. namespace Recetas.Cap04
  6. {
  7.     public sealed class UsoTimerEjecucionProgramada
  8.     {
  9.         public static void Main()
  10.         {
  11.             // Creación del archivo donde se guardaran los registros:
  12.             using (StreamWriter archivo = new StreamWriter("registros.txt")) { }
  13.        
  14.             Console.WriteLine ("\nEl archivo `registros.txt` se ha creado.\n");
  15.            
  16.             // Creación delegado `TimerCallback`:
  17.             TimerCallback delGuardarRegistro = new TimerCallback(GuardarRegistroEnArchivo);
  18.            
  19.             // Creación de temporizador que se ejecutará por primera vez
  20.             // pasados 10 segundos, y se repiterá cada 5 segundos:
  21.             Timer tareaProgramada = new Timer (delGuardarRegistro, null,
  22.                                                new TimeSpan(0, 0, 7),
  23.                                                new TimeSpan(0, 0, 5));
  24.            
  25.             Console.WriteLine ("A espera de la ejecución del temporizador. Presione Enter para finalizar.");
  26.             Console.ReadLine ();
  27.         }
  28.        
  29.         private static void GuardarRegistroEnArchivo(Object obj)
  30.         {
  31.             using (StreamWriter archivo = new StreamWriter ("registros.txt", true))
  32.             {
  33.                 archivo.WriteLine("Registro guardado: ({0})", DateTime.Now);                    
  34.             }
  35.         }
  36.     }
  37. }