Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 30.03.2018
Сообщений: 19

Как сделать так, чтобы показания таймера считывались как числовой показатель?

23.04.2018, 15:59. Показов 1542. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, идеи кончились. Есть подобие клавиатурного тренажера, в котором мы выбираем уровень сложности, после чего предлагается условный текст, засекается время, при наборе считается кол-во ошибок. По итогу программа оценивает качество набора с точки зрения кол-ва ошибок и затраченного времени. Если с ошибками все понятно, то как присобачить сюда затраченное время, не понятно... Вот как выглядит код на текущий момент:
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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;
 
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        string light = "прорвало водопровод";
        string medium = "сачок зацепился за сучок";
        string hard = "сиреневенькая зубовыковыривательница";
        int o;//для оценки количества ошибок
        int s;//для оценки затраченного времени
 
        //настраиваем таймер:
        DateTime mStart;
 
        public Form1()
        {
            InitializeComponent();
            this.mStart = DateTime.Now;
        }
 
        private void timer1_Tick(object sender, EventArgs e)
        {
            this.label2.Text = DateTime.Now.Subtract(this.mStart).ToString(@"hh\:mm\:ss");
            
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            this.mStart = DateTime.Now;
            this.timer1.Start();
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            this.timer1.Stop();
 
            //оценка результатов тренировки:
            s = Convert.ToInt32(label2.Text);
            if (o == 0 && s < 30)
            {
                MessageBox.Show("You're a professional!");
            }
            else
            {
                if (o < 4 && s < 60)
                { MessageBox.Show("Not bad"); }
                else
                {
                    MessageBox.Show("Keep going");
                }
            }
            textBox1.Text = "";
            textBox2.Text = "";
            label2.Text = "00:00:00"; //сброс
        }
 
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            //настраиваем автозаполнение предлагаемого текста после выбора уровня сложности:
            switch (comboBox1.Text)
            {
                case "Light":
                    textBox1.Text = light;
                    break;
                case "Medium":
                    textBox1.Text = medium;
                    break;
                case "Hard":
                    textBox1.Text = hard;
                    break;
            }
        }
 
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            int count_different = 0;
            for (int i = 0; i < textBox2.Text.Length; i++)
            {
                if (textBox1.Text[i] != textBox2.Text[i])
                    count_different++;
            }
            label8.Text = textBox2.Text.Length.ToString();
            label9.Text = count_different.ToString();
            o = count_different;
        }
    }
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.04.2018, 15:59
Ответы с готовыми решениями:

Как сделать так, чтобы считывались символы из всех файлов из папки?
помогите, если можете: class dict { List&lt;string&gt; sumvols = new List&lt;string&gt;(); public List&lt;dictor&gt; dic =...

Файл: как сделать так, чтобы вводимые данные (которые считывались с клавиатуры) сразу записывались в файл?
Подскажите, пожалуйста, как сделать так, чтобы вводимые данные (которые считывались с клавиатуры) сразу записывались в файл, а потом уже...

Как сделать, чтобы значения считывались с клавиатуры
Хочу сделать игру-головоломку, и мне надо, чтобы при нажатии на стрелку(на клавиатуре) происходило какое-то действие. Как это сделать в...

9
0 / 0 / 0
Регистрация: 30.03.2018
Сообщений: 19
23.04.2018, 16:03  [ТС]
т.е. как будто все работает, но после нажатия кнопки стоп вместо результата ругается:
Миниатюры
Как сделать так, чтобы показания таймера считывались как числовой показатель?  
0
Эксперт .NET
 Аватар для Wolfdp
3789 / 1766 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
23.04.2018, 19:02
наведи курсором на label.Text2 и посмотри что пытаешься привести к числу. А еще лучше почитай как дебажить.
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
23.04.2018, 20:04
Цитата Сообщение от NataSobol Посмотреть сообщение
this.label2.Text = DateTime.Now.Subtract(this.mStart).ToStr ing(@"hh\:mm\:ss");
Цитата Сообщение от NataSobol Посмотреть сообщение
s = Convert.ToInt32(label2.Text);
вот и вся ошибка
1
0 / 0 / 0
Регистрация: 30.03.2018
Сообщений: 19
24.04.2018, 07:21  [ТС]
Diamante, не поняла ответ. Вроде все так и написано, как исправить-то?)
0
Эксперт .NET
 Аватар для Usaga
14122 / 9341 / 1350
Регистрация: 21.01.2016
Сообщений: 35,094
24.04.2018, 08:00
NataSobol, вам уже два человека предложили глазами головы посмотреть ЧТО вы пытаетесь к числу привести. Если всё совсем плохо, то сами подумайте, какое это число: 15:37:00?
0
Эксперт .NET
 Аватар для Wolfdp
3789 / 1766 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
24.04.2018, 13:49
Лучший ответ Сообщение было отмечено NataSobol как решение

Решение

допустим
C#
1
s = Convert.ToInt32(label2.Text.Split(':').Last());
хотя правильнее парсить к дате и брать секунды явно.

C#
1
s = DateTime.ParseExact(label2.Text, @"hh\:mm\:ss", provider).Second;
и скажите спасибо Diamante, мне лично впадло было анализировать ваше творение.
1
0 / 0 / 0
Регистрация: 30.03.2018
Сообщений: 19
24.04.2018, 15:01  [ТС]
Если впадлу, зачем вообще ввязываться, это ж не принудиловка.
Видимо на форуме стоит сделать отдельный раздел для СОВСЕМ начинающих, чтобы те, кого бесят тупые вопросы, вообще туда не заходили. Я в теме не шарю, поэтому и спрашиваю такие вещи, уж извините.
В ЛЮБОМ СЛУЧАЕ, ВСЕМ СПАСИБО.
0
Эксперт .NET
 Аватар для Wolfdp
3789 / 1766 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
24.04.2018, 15:37
Цитата Сообщение от NataSobol Посмотреть сообщение
Я в теме не шарю, поэтому и спрашиваю такие вещи, уж извините.
Проблема не в вопросе, а в том, что когда даешь человеку условную удочку, он все равно просит рыбу, желательно сразу приготовленую.
0
0 / 0 / 0
Регистрация: 30.03.2018
Сообщений: 19
24.04.2018, 16:08  [ТС]
Сорри, для меня это не очевидная вещь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.04.2018, 16:08
Помогаю со студенческими работами здесь

Подскажите, как сделать, чтобы считывались русские буквы
Вот код программы. Она ищет дату в текстовом файле. И ищет только с латинскими буквами. Как сделать, чтобы она искала ещё и русские буквы? ...

Как сделать, чтобы данные считывались из файла, а не вводились
Помогите плиз using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Как сделать чтобы данные считывались, но новая строка не начиналась
Мне нужно считать данные с консоли, но хочу чтобы было красиво и считывалось как-то так: a = {Мои данные}, b = {Мои данные}, c = {Мои...

Сделать так, чтобы координаты мыши считывались постоянно — на протяжении всего времени работы программы
Есть один код: uses crt,dos; var rx,ry:integer; r:registers; begin repeat r.ax:=3; intr($33,r); ...

Как сделать так чтобы страничка при увеличения разрешения не двигалась в разные стороны, и как сделать чтобы при открытии в опере и в других браузерах
все обьекты на странице не двигались в разные стороны???


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru