none
emitir um alerta de 5 em 5 minutos RRS feed

  • Pergunta

  • ola boa tarde...
    como que eu faço para o meu sistema mandar uma janela de mensagem de 5 em 5 minutos, ou o tempo determinado no banco de dados?



    falou
    Aprendendo e evoluindo
    quinta-feira, 17 de setembro de 2009 17:56

Respostas

  • Se for SqlServer
    adicione: using System.Data.SqlClient;
    Crie um função no seu form

    public int BuscaInterval()
    {
    SqlConnection connection = new SqlConnection("Data Source=nomeDaMaquina\SQLEXPRESS; Initial Catalog=nomeDoBanco; Integrated Security=true");
    connection.Open();
    SqlCommand command = connection.CreateCommand();
    command.CommandText = "select tempo from tabela";
    int tempo = Convert.ToInt32(command.ExecuteScalar());
    connection.Close();
    return tempo;
    }

    Ai no lugar de
    this.timer1.Interval = 3000000
    Coloque:
    this.timer1.Interval = BuscaInterval();
    quinta-feira, 17 de setembro de 2009 18:19

Todas as Respostas

  • Thiago é windows forms?

    Se for:

    1) arraste um timer para seu form
    2)No form load, ou no construtor adicione as seguintes linhas:
    this.timer1.Enabled = true;
    this.timer1.Interval = 300000 (5 min em milisegundos)
    this.timer1.Tick += timer1_Tick;

    // evento do tick
    private void timer1_Tick(object sender, EventArgs e) { MessageBox.Show("mensagem"); }
    Se quiser pegar o intervalo do banco é só recuperar dele e jogar em this.timer1.Interval
    quinta-feira, 17 de setembro de 2009 18:03
  • obrigado pela resposta, mais para eu puxar do banco eu faço como?


    falou e mto obrigado

    Aprendendo e evoluindo
    quinta-feira, 17 de setembro de 2009 18:14
  • Se for SqlServer
    adicione: using System.Data.SqlClient;
    Crie um função no seu form

    public int BuscaInterval()
    {
    SqlConnection connection = new SqlConnection("Data Source=nomeDaMaquina\SQLEXPRESS; Initial Catalog=nomeDoBanco; Integrated Security=true");
    connection.Open();
    SqlCommand command = connection.CreateCommand();
    command.CommandText = "select tempo from tabela";
    int tempo = Convert.ToInt32(command.ExecuteScalar());
    connection.Close();
    return tempo;
    }

    Ai no lugar de
    this.timer1.Interval = 3000000
    Coloque:
    this.timer1.Interval = BuscaInterval();
    quinta-feira, 17 de setembro de 2009 18:19
  • obrigado pela resposta, valeu mesmo


    boa tarde

    Aprendendo e evoluindo
    quinta-feira, 17 de setembro de 2009 18:22
  • Você quer deixar um programa rodando para fazer isso ou criar um Windows Service?

    De qualquer forma você precisara instanciar um timer:

    public class Alerta
        {

            //Instanciamos o timer
            System.Timers.Timer timer = new System.Timers.Timer();

            //Construtor onde setamos o intervalo o iniciamos o timer
            public Alerta()
            {
                timer.Interval = 300000;
                //Event handler que ira disparar quando o tempo se esgotar
                timer.Elapsed += new System.Timers.ElapsedEventHandler(MostrarDialog);
                timer.Enabled = true;
            }

            protected void MostrarDialog(object sender, System.Timers.ElapsedEventArgs e)
            {
                MessageBox.Show("alerta");
                timer.Enabled = true;
            }

        }

    Com essa classe basta você instancia-la que as mensagens aparecerão de 5 em 5 min.


    • Sugerido como Resposta Raphael Cruzeiro quinta-feira, 17 de setembro de 2009 18:34
    quinta-feira, 17 de setembro de 2009 18:26