Jump to content
cffm

Iniciar evento a cada hora

Recommended Posts

cffm

Boa tarde

Estou com um problema e gostava que me ajudassem. Tenho uma aplicação que vai somando valores e queria saber se é possível colocar a cada hora esses valores numa bd. Ou seja por exemplo as 15:00 grava, ás 16:00 grava e assim sucessivamente. Mas queria fazer a gravação numa hora certa em que o minuto fosse 00.

Se souberem alguma forma simples digam.

Obrigado

Share this post


Link to post
Share on other sites
cffm

Eu resolvi o problema, no entanto talvez pudesse simplificar. Deixo aqui o código que usei mas neste caso ele conta 1 minuto e ao segundo 0 mostra numa textbox.

public partial class Form1 : Form
    {
        static System.Windows.Forms.Timer t;
        const int intervalo = 60;//intervalo de temp 60 segundos
        public Form1()
        {
            InitializeComponent();
            t = new System.Windows.Forms.Timer();
            t.Interval = CalculateTimerInterval(intervalo);
            t.Tick += new EventHandler(timArranque_Tick);
            t.Start();
        }

        int CalculateTimerInterval(int minute)
        {
            if (minute <= 0)
                minute = 60;

            DateTime now = DateTime.Now;
            DateTime future = now.AddSeconds((minute - (now.Second % minute)));
            int x;
            TimeSpan interval = future - now;
            x = Convert.ToInt32(interval.TotalSeconds);
            if ((x == 60) && (!listBox1.Items.Contains(DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second)))
            {
                listBox1.Items.Add(DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second);
            }
            return (int)interval.TotalMilliseconds;
        }

        private void timArranque_Tick(object sender, EventArgs e)
        {
            t.Interval = CalculateTimerInterval(intervalo);
        }
    }

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.