Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
5 / 5 / 2
Регистрация: 13.10.2015
Сообщений: 407
1

Вывод времени расчета

21.03.2017, 22:53. Показов 1916. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Подскажите пожалуйста, можно ли как-то вывести время вычисления допустим какое-то математическое действие и в лейбл вывести секунды и милисекунды (00:02) за которое оно будет вычислено. Заранее спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2017, 22:53
Ответы с готовыми решениями:

Вывод результатов расчета во второй форме
Всем добрый день. Извините, что беспокою, но не могу побороть одну простую проблему для кодеров...

Вывод времени на экран
подскажите как исправить время на вывод после времени фигня какая то идет private void...

Вывод времени в консоль.
Не подскажите как можно сделать вывод времени в консоль в C#.То есть запускаешь консольное...

Вывод времени всегда по мск
Как вывести время всегда по московскому времени? пытаюсь сделать, не выходит, если меняю время на...

6
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
21.03.2017, 23:03 2
Лучший ответ Сообщение было отмечено _Faradey как решение

Решение

_Faradey,
C#
1
2
3
4
5
6
Stopwatch sw = new Stopwatch();
sw.Start();
//действия
sw.Stop();
long ms = sw.ElapsedMilliseconds;
Console.WriteLine("{0}:{1}", ms / 1000, ms % 1000);
Stopwatch в пространстве имен System.Diagnostics.
В лейбл вместо консоли вывести сможете?
1
5 / 5 / 2
Регистрация: 13.10.2015
Сообщений: 407
22.03.2017, 08:47  [ТС] 3
Как-то так?
C#
1
label1.Text = "{0}:{1}" + (ms/1000).ToString() + (ms % 1000).ToString();
Хотя на счет % не уверен )
0
69 / 69 / 28
Регистрация: 12.09.2013
Сообщений: 237
22.03.2017, 09:08 4
Лучший ответ Сообщение было отмечено _Faradey как решение

Решение

_Faradey, Лучше использовать такие способы:
C#
1
2
label1.Text = string.Format("{0}:{1}", ms / 1000, ms % 1000);
label1.Text = $"{ms / 1000}:{ms % 1000}"
1
5 / 5 / 2
Регистрация: 13.10.2015
Сообщений: 407
22.03.2017, 09:32  [ТС] 5
Посмотрите пожалуйста, если не сложно правильно ли я сделал расчет времени
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Numerics;
using System.IO;
using System.Threading;
using System.Globalization;
using System.Diagnostics;
 
namespace Fact
{
    public partial class Factorial : Form
    {
        public Factorial()
        {
            InitializeComponent();
        }
        private void Btn_Eval_Click(object sender, EventArgs e)
        {
            int f = 0;
            f = Convert.ToInt32(Tb_In.Text);
            
            System.Threading.Thread tdCalc = new System.Threading.Thread(threadCalc);
            tdCalc.IsBackground = true;
            tdCalc.Start();
            
        }
        private void threadCalc()
        {
            int count = Convert.ToInt32(Tb_In.Text);
            BigInteger result = Calc(count);
            BeginInvoke(new MethodInvoker(() =>
            {
                Stopwatch _St = new Stopwatch();
                _St.Start();
                Tb_Out.Text = result.ToString();
                _St.Stop();
                long ms = _St.ElapsedMilliseconds;
                lb_Time.Text = $"{ms / 1000}:{ms % 1000}";
            }));
        }
        private BigInteger Calc(int count)
        {
            BeginInvoke(new MethodInvoker(() => {
                Btn_Eval.Enabled = false;
                p_Bar.Maximum = count;
            }));
            BigInteger result = 1;
            for (int i = 1; i < count; i++)
            {
                result += result * i;
                BeginInvoke(new MethodInvoker(() =>
                {
                    p_Bar.Value++;
                }
                ));
            }
            BeginInvoke(new MethodInvoker(() => {
                p_Bar.Value = 0;
                Btn_Eval.Enabled = true;
            }));
            
            return result;
        }
0
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
22.03.2017, 09:57 6
Лучший ответ Сообщение было отмечено _Faradey как решение

Решение

Цитата Сообщение от _Faradey Посмотреть сообщение
правильно ли я сделал расчет времени
Замерять нужно время расчета, а не время вывода в лабел:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void threadCalc()
{
    int count = Convert.ToInt32(Tb_In.Text);
    Stopwatch _St = new Stopwatch();
    _St.Start();
    BigInteger result = Calc(count);
    _St.Stop();
    long ms = _St.ElapsedMilliseconds;
    BeginInvoke(new MethodInvoker(() =>
    {
        Tb_Out.Text = result.ToString();
        lb_Time.Text = $"{ms / 1000}:{ms % 1000}";
    }));
}
1
5 / 5 / 2
Регистрация: 13.10.2015
Сообщений: 407
22.03.2017, 10:07  [ТС] 7
Спасибо!
0
22.03.2017, 10:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2017, 10:07
Помогаю со студенческими работами здесь

Вывод времени до срабатывания таймера
Здравствуйте. У меня в приложении есть два таймера: m_timerAutoRefresh = new...

Вывод даты и времени в label
Сразу к делу.. у меня есть файл &quot;http://mysity.ru/asterisk.php&quot; в нем есть текст вот такой......

Вывод в DateTimePicker даты и времени
Добрый вечер! Подскажите, пожалуйста, как отобразить в компоненте DateTimePicker даты и времени....

Вывод через интервалы времени
Подскажите пожалуйста. Необходимо загрузить из файла строки (формат int). Затем выводить через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru