none
como colocar uma pausa ou break de meio segundo no meu codigo ? RRS feed

  • Pergunta

  • Como colocar uma pausa ou break de meio segundo no meu codigo ?

                foreach(GridViewRow row in gwDados.Rows)
                {
                    //Indice do campo e-mail
                    email = row.Cells[2].Text;
                    cliente = row.Cells[0].Text;

                    try
                    {
                        if (duplicado != email)
                        {
                            EnviarEmail(tbAssunto.Text.ToString(), email);
                            cont = cont + 1;
                        }
                        duplicado = email;
                        
                    }
                    catch
                    {
                        //EnviarEmail(cliente + " - " + email, "prmedeiros.ti@gmail.com");
                    }
                }

    domingo, 6 de novembro de 2016 14:54

Respostas

Todas as Respostas

  • Olá,

    Você pode fazer de diversas formas. Uma delas é usando o Sleep:

    System.Thread.Threading.Sleep(1500);

    Outra forma é utilizando um timer e definindo o tempo para 1.5 segundos. Olha um artigo sobre uso do Timer: https://msdn.microsoft.com/pt-br/library/3tszykws(v=vs.110).aspx

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    domingo, 6 de novembro de 2016 15:37
  • Obrigado pela resposta.

    Porem fiquei confuso quanto ao tempo.

    Eu quero exatamente 0,5 segundos... ou meio segundo...

    Fico no aguardo.

    Obrigado

    domingo, 6 de novembro de 2016 16:32
  • Ricardo, não tinha lido bem a quantidade que desejava. A unidade do sleep está em milissegundos, então basta multiplicar por 1000.

    No seu caso o valor que terá que setar é 500.

    Valeu, não esqueça de marcar a resposta!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco


    domingo, 6 de novembro de 2016 17:30
  • Bom dia André

    Esta dando esse erro:

    Error 2 The type or namespace name 'Thread' does not exist in the namespace 'System' (are you missing an assembly reference?) C:\ARTSIM\SGSIM\ControledeUsuarios\Mailing.aspx.cs 808 32 ControledeUsuarios

    Pode me ajudar por favor.

    Obrigado

    segunda-feira, 7 de novembro de 2016 11:28
  • Ricardo,

    Você tem que adicionar no início da sua classe (na parte dos using):

    using System.Threading;


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    segunda-feira, 7 de novembro de 2016 11:33
  • Coloquei a classe acima da minha pagina.

    Porem o erro continua.

    Error 2 The type or namespace name 'Thread' does not exist in the namespace 'System' (are you missing an assembly reference?) C:\ARTSIM\SGSIM\ControledeUsuarios\Mailing.aspx.cs 809 32 ControledeUsuarios

    Meu codigo:

    using System;
    using System.Collections.Generic;
    using System.Data.Entity.Migrations.Model;
    using System.IO;
    using System.Linq;
    using System.Net;
    using System.Net.Mail;
    using System.Text;
    using System.Text.RegularExpressions;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Threading;

     foreach(GridViewRow row in gwDados.Rows)
                {
                    //Indice do campo e-mail
                    email = row.Cells[2].Text;
                    cliente = row.Cells[0].Text;

                    try
                    {
                        if (duplicado != email)
                        {
                            EnviarEmail(tbAssunto.Text.ToString(), email);
                            cont = cont + 1;
                            ///BREAK
                            System.Thread.Threading.Sleep(1500);
                        }
                        duplicado = email;
                        
                    }
                    catch
                    {
                        //EnviarEmail(cliente + " - " + email, "prmedeiros.ti@gmail.com");
                    }
                }


    segunda-feira, 7 de novembro de 2016 11:43
  • Ricardo, havia me enganado,

    substitui por essa linha:

    System.Threading.Thread.Sleep(500);

    OBS: Eu havia invertido a posição


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    • Marcado como Resposta Ricardo-ti2016 segunda-feira, 7 de novembro de 2016 13:21
    segunda-feira, 7 de novembro de 2016 12:21