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

Время в переменную из maskedTextBox

26.01.2018, 17:10. Показов 5204. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, знающие люди, возник такой вопрос можно-ли в С# введя время в maskedtextbox присвоить его переменной?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.01.2018, 17:10
Ответы с готовыми решениями:

Как сделать чтобы maskedTextBox выводило текущее время
Как сделать чтобы в поле maskedTextBox1 при запуске проги писалось текущее время в формате...

Можно ли ограничить maskedtextbox чтобы время было ограничено до 24 часов у будильника
Можно ли ограничить maskedtextbox чтобы время было ограничено до 24 часов у будильника windows...

Как вывести время в переменную.
Доброго дня всем прочитавшим. Мне очень нужна помощь. Как вывести в переменную определенное...

Записать время отправления в переменную
Здравствуйте, каким образом можно записать время в переменную?

20
Эксперт .NET
5876 / 4753 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
26.01.2018, 20:58 2
C#
1
DateTime time = DateTime.Parse(maskedTextBox1.Text);
1
0 / 0 / 0
Регистрация: 26.01.2018
Сообщений: 9
26.01.2018, 22:01  [ТС] 3
Не выходит Он записывает текущую дату и время, а надо чтобы записывал время именно которое я ввиду в maskedtextbox
0
3564 / 2505 / 1174
Регистрация: 14.08.2016
Сообщений: 8,213
26.01.2018, 22:04 4
маску покажи
0
0 / 0 / 0
Регистрация: 26.01.2018
Сообщений: 9
26.01.2018, 22:07  [ТС] 5
Вот
Миниатюры
Время в переменную из maskedTextBox  
0
3564 / 2505 / 1174
Регистрация: 14.08.2016
Сообщений: 8,213
26.01.2018, 22:12 6
ну все, верно...
выводишь наверное так
C#
1
Console.WriteLine(time);
?
сделай так
C#
1
Console.WriteLine(time.ToShortTimeString());
0
0 / 0 / 0
Регистрация: 26.01.2018
Сообщений: 9
26.01.2018, 22:16  [ТС] 7
У меня все выводится не в консоль, а в txt-файл. Вот так вот:
Миниатюры
Время в переменную из maskedTextBox  
0
3564 / 2505 / 1174
Регистрация: 14.08.2016
Сообщений: 8,213
26.01.2018, 22:26 8
что из этого время я не знаю, но ту переменную, которая DateTime выводи так: имя_твоей_переменной.ToShortTimeString()
0
0 / 0 / 0
Регистрация: 26.01.2018
Сообщений: 9
26.01.2018, 22:42  [ТС] 9
Diamante, попробовал так-как ты сказал, но результат как и раньше=(
Миниатюры
Время в переменную из maskedTextBox  
0
3564 / 2505 / 1174
Регистрация: 14.08.2016
Сообщений: 8,213
26.01.2018, 22:44 10
код покажи с момента получения даты из маскед до записи этого значения в файл
0
0 / 0 / 0
Регистрация: 26.01.2018
Сообщений: 9
26.01.2018, 22:46  [ТС] 11
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
        private void maskedTextBox1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
        {
            DateTime a = DateTime.Parse(maskedTextBox1.Text);
            a.ToShortTimeString();
 
        }
 
        string a = DateTime.Now.ToString();
        private void toolStripMenuItem2_Click(object sender, EventArgs e)
        {
            string way1 =$@"{browse}\SaveEnergy\SaveEnergy.cmd";
            string way3 =$@"{browse}\SaveEnergy";
            if (File.Exists(way1))
            {
                File.SetAttributes(way1, FileAttributes.Normal);
                File.Delete(way1);
            }
 
            if (Directory.Exists(way3))
            {
                Directory.Delete(way3);
            }
     
        }
 
        private void toolStripMenuItem1_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog folderBrowserDialog1 = new FolderBrowserDialog();
            folderBrowserDialog1.Description = "Select the directory where the program files should be stored.";
            if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
            {
                browse = folderBrowserDialog1.SelectedPath;
            }
        }
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Button1_Click(object sender, EventArgs e)
        {
            string way1 =$"{browse}SaveEnergy\\SaveEnergy.cmd";
            string ms1 = $"{browse}SaveEnergy\\Message1.vbs";
            string clean = $"{browse}SaveEnergy\\Clean.cmd";
 
            Directory.CreateDirectory(browse+"SaveEnergy");
 
            if (File.Exists(ms1))
            {
                File.SetAttributes(ms1, FileAttributes.Normal);
                StreamWriter ms = new StreamWriter(ms1,false, Encoding.GetEncoding("Windows-1251"));
                ms.WriteLine("MyVar = MsgBox (\"Компьютер будет выключен через 2 минуты. Сохраните данные во избежании их потери.\",vbOKOnly+vbExclamation, \"Предупреждение\")");
                ms.Close();
 
            }
            else
            {
                StreamWriter ms2 = new StreamWriter(ms1, false, Encoding.GetEncoding("Windows-1251"));
                ms2.WriteLine("MyVar = MsgBox (\"Компьютер будет выключен через 2 минуты. Сохраните данные во избежании их потери.\",vbOKOnly+vbExclamation, \"Предупреждение\")");
                ms2.Close();
            }
 
 
            if (File.Exists(way1))
            {
                File.SetAttributes(way1, FileAttributes.Normal);
                StreamWriter sw = new StreamWriter(way1, false, Encoding.GetEncoding("UTF-8"));
                sw.WriteLine("@echo off");
                sw.WriteLine("powercfg hibernate off");
                if (checkBox1.Checked)
                {
                    sw.WriteLine("at {0} Rundll32.exe powrprof.dll,SetSuspendState Sleep", a);
                    sw.WriteLine("schtasks /create /tn Сообщение /sc once /st {0} /tr {1}", a, ms1);
0
3564 / 2505 / 1174
Регистрация: 14.08.2016
Сообщений: 8,213
26.01.2018, 23:13 12
4ю строку сотри и никогда так больше не делай
73 и 74:
C#
1
2
                    sw.WriteLine("at {0} Rundll32.exe powrprof.dll,SetSuspendState Sleep", a.ToShortTimeString());
                    sw.WriteLine("schtasks /create /tn Сообщение /sc once /st {0} /tr {1}", a.ToShortTimeString(), ms1);
0
Эксперт .NET
5876 / 4753 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
27.01.2018, 01:09 13
Цитата Сообщение от Diamante Посмотреть сообщение
4ю строку сотри
Не поможет.
Нужно еще и 3-ю поправить:
C#
3
a = DateTime.Parse(maskedTextBox1.Text);
Ибо в локальную а читалось.

А вообще, так как нет никакой обработки исключений, то и тип даты не нужен:
C#
1
2
3
4
5
6
private void maskedTextBox1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
{
    a = maskedTextBox1.Text;
}
string a = DateTime.Now.ToString();
//...
Ну и конвертировать в ToShortTimeString не нужно.
C#
1
sw.WriteLine("at {0} Rundll32.exe powrprof.dll,SetSuspendState Sleep", a);
0
3564 / 2505 / 1174
Регистрация: 14.08.2016
Сообщений: 8,213
27.01.2018, 01:20 14
Даценд, на локальность переменной не обратил внимания, каюсь, он так заморочил тем, что никак не может вывести в строку без даты, что сконцентрировался на выводе...
так или иначе, 4я строка - ересь
Цитата Сообщение от Даценд Посмотреть сообщение
Ну и конвертировать в ToShortTimeString не нужно.
C#
1
sw.WriteLine("at {0} Rundll32.exe powrprof.dll,SetSuspendState Sleep", a);
не заморачивался, ну вот приспичило ему вот так(только время), ради бога...
0
0 / 0 / 0
Регистрация: 26.01.2018
Сообщений: 9
27.01.2018, 15:30  [ТС] 15
Даценд, попробовал все равно выводит текущую дату и время. Многое перепробовал, но чтобы он выводил в txt именно время которое я ввел, не в какую не выходит

Добавлено через 2 минуты
Diamante,
Цитата Сообщение от Diamante Посмотреть сообщение
не заморачивался, ну вот приспичило ему вот так(только время), ради бога...
В txt-файл записывается команда для windows, и чтобы она работала ее надо выводит в формате Hh:mm, если там будет что-то помимо часов и минут, то команда будет выводить ошибку.
0
Эксперт .NET
5876 / 4753 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
27.01.2018, 17:52 16
Цитата Сообщение от DeGrime Посмотреть сообщение
попробовал все равно выводит текущую дату и время.
А я и не заметил, что попытка чтения времени в обработчике события MaskInputRejected производится. Почему именно MaskInputRejected?
Попробуйте лучше так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
DateTime a = DateTime.Now; //тип DateTime
 
private void Form1_Load(object sender, EventArgs e)
{
    maskedTextBox1.Text = a.ToShortTimeString(); //выводим в maskedTextBox1 текущее время
}
private void maskedTextBox1_Validating(object sender, CancelEventArgs e) //проверка валидности даты/времени
{
    if(!DateTime.TryParse(maskedTextBox1.Text, out a) ) //введенный текст конвертируем в дату/время и пишем в а. Если текст нельзя конвертировать в дату/время, то
    {
        MessageBox.Show("Некорректный ввод времени!"); //сообщение об ошибке
        e.Cancel = true; //курсор остается в maskedTextBox1 
    }
}
private void Button1_Click(object sender, EventArgs e)
{
    //...
    sw.WriteLine("at {0} Rundll32.exe powrprof.dll,SetSuspendState Sleep", a.ToShortTimeString());
    sw.WriteLine("schtasks /create /tn Сообщение /sc once /st {0} /tr {1}", a.ToShortTimeString(), ms1);
    //...
}
0
3564 / 2505 / 1174
Регистрация: 14.08.2016
Сообщений: 8,213
28.01.2018, 02:29 17
есть подозрение, что все это лишнее - пиши в файл прям так, maskedTextBox.Text и все, без всякий преобразований...
если, конечно, не боишься вариантов "87 минут 36го"
если боишься - валидируй через DateTime или регуляркой
0
0 / 0 / 0
Регистрация: 26.01.2018
Сообщений: 9
28.01.2018, 15:17  [ТС] 18
Diamante, Спасибо, теперь вывод время как надо Только есть другая проблема, он до времени добавляет строку System.Windows.Forms.MaskedTextBox, Text. Можно ли ее как нибудь убрать?
Миниатюры
Время в переменную из maskedTextBox  
0
3564 / 2505 / 1174
Регистрация: 14.08.2016
Сообщений: 8,213
28.01.2018, 17:09 19
покажи код, как пишешь
0
0 / 0 / 0
Регистрация: 26.01.2018
Сообщений: 9
28.01.2018, 17:57  [ТС] 20
Diamante, все получилось забыл, .text добавить. Только появился другой вопрос, можно ли из этого времени отнять 2 минут ?
0
28.01.2018, 17:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.01.2018, 17:57
Помогаю со студенческими работами здесь

Вытащить время пинга (ping) в переменную
Посмотрел примеры, подходящего не увидел. Добавлено через 10 минут Вот этот кусочек кода...

Как записать в переменную дату и время
Переменная = день-месяц-год-час-минута или день.месяц.год.час.минута Как реализовать?

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

Как объединить в одну переменную дату и время?
Допустим есть 6 переменных со значениями: p1=21 'День p2=11 'Месяц p3=2001 'Год p4=13 'Час...


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

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