Преобразование UInt32 в char
Цитата: Владислав от 21.02.2022, 12:40Добрый день, пытаюсь получить время работы ноутбука от батареи если она полностью заряжена, но не получается преобразовать uint32 в char, Visual Studio ошибок не показывает.
одскажыте пожалуйсто что надо исправить в коде?[spoiler title="Код"]
using System; using System.Management; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public string batterylife { get; private set; } private void button1_Click(object sender, EventArgs e) { string expected_life = ""; foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get()) expected_life += (UInt32)mo["ExpectedLife"]; expected_life += expected_life.ToCharArray(); textBox1.Text = expected_life; } }}
[/spoiler]
Добрый день, пытаюсь получить время работы ноутбука от батареи если она полностью заряжена, но не получается преобразовать uint32 в char, Visual Studio ошибок не показывает.
одскажыте пожалуйсто что надо исправить в коде?
using System;
using System.Management;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public string batterylife { get; private set; }
private void button1_Click(object sender, EventArgs e)
{
string expected_life = "";
foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get())
expected_life += (UInt32)mo["ExpectedLife"];
expected_life += expected_life.ToCharArray();
textBox1.Text = expected_life;
}
}}
Цитата: Adler от 21.02.2022, 13:27Приветствую.
Чего? Где в вашем коде вообще char?
Char, это один символ. Зачем он вам?
Что вы тут:string expected_life = ""; foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get()) expected_life += (UInt32)mo["ExpectedLife"]; expected_life += expected_life.ToCharArray();пытаетесь вообще сделать?
Приветствую.
Чего? Где в вашем коде вообще char?
Char, это один символ. Зачем он вам?
Что вы тут:
string expected_life = "";
foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get())
expected_life += (UInt32)mo["ExpectedLife"];
expected_life += expected_life.ToCharArray();
пытаетесь вообще сделать?
Цитата: yuri от 21.02.2022, 13:56Добрый день. Что-то Я тоже не понимаю, что Ты пытаешься сделать.
У Меня нет ноутбука, но попробуйте этот код:uint expected_life = 0; foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get()) expected_life += (UInt32)mo["ExpectedLife"]; textBox1.Text = expected_life.ToString();Что он выводит?
Добрый день. Что-то Я тоже не понимаю, что Ты пытаешься сделать.
У Меня нет ноутбука, но попробуйте этот код:
uint expected_life = 0;
foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get())
expected_life += (UInt32)mo["ExpectedLife"];
textBox1.Text = expected_life.ToString();
Что он выводит?
Цитата: Владислав от 21.02.2022, 14:14Цитата: Adler от 21.02.2022, 13:27Приветствую.
Чего? Где в вашем коде вообще char?
Char, это один символ. Зачем он вам?
Что вы тут:string expected_life = "";foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get())expected_life += (UInt32)mo["ExpectedLife"];expected_life += expected_life.ToCharArray();string expected_life = ""; foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get()) expected_life += (UInt32)mo["ExpectedLife"]; expected_life += expected_life.ToCharArray();string expected_life = ""; foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get()) expected_life += (UInt32)mo["ExpectedLife"]; expected_life += expected_life.ToCharArray();пытаетесь вообще сделать?
Добрый день, я пытаюсь узнать сколько в менутах может работать ноутбук при полном заряде батареи.
WMI explorer демонстрирует что для этого есть CIM_Battery Class с ExpectedLife properties.
В данном коде я пытаюсь получить текущие значение ExpectedLife.
Его тип данных UInt32, но я не понемаю как в textBox, отобразить uint32.
Цитата: Adler от 21.02.2022, 13:27Приветствую.
Чего? Где в вашем коде вообще char?
Char, это один символ. Зачем он вам?
Что вы тут:string expected_life = "";foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get())expected_life += (UInt32)mo["ExpectedLife"];expected_life += expected_life.ToCharArray();string expected_life = ""; foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get()) expected_life += (UInt32)mo["ExpectedLife"]; expected_life += expected_life.ToCharArray();string expected_life = ""; foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get()) expected_life += (UInt32)mo["ExpectedLife"]; expected_life += expected_life.ToCharArray();пытаетесь вообще сделать?
Добрый день, я пытаюсь узнать сколько в менутах может работать ноутбук при полном заряде батареи.
WMI explorer демонстрирует что для этого есть CIM_Battery Class с ExpectedLife properties.
В данном коде я пытаюсь получить текущие значение ExpectedLife.
Его тип данных UInt32, но я не понемаю как в textBox, отобразить uint32.
Цитата: Владислав от 21.02.2022, 14:17Цитата: yuri от 21.02.2022, 13:56Добрый день. Что-то Я тоже не понимаю, что Ты пытаешься сделать.
У Меня нет ноутбука, но попробуйте этот код:uint expected_life = 0;foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get())expected_life += (UInt32)mo["ExpectedLife"];textBox1.Text = expected_life.ToString();uint expected_life = 0; foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get()) expected_life += (UInt32)mo["ExpectedLife"]; textBox1.Text = expected_life.ToString();uint expected_life = 0; foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get()) expected_life += (UInt32)mo["ExpectedLife"]; textBox1.Text = expected_life.ToString();Что он выводит?
Добрый день, ошыбка, когда нажымаю на кнопку в программе, в vs studio ошибок нет.
Цитата: yuri от 21.02.2022, 13:56Добрый день. Что-то Я тоже не понимаю, что Ты пытаешься сделать.
У Меня нет ноутбука, но попробуйте этот код:uint expected_life = 0;foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get())expected_life += (UInt32)mo["ExpectedLife"];textBox1.Text = expected_life.ToString();uint expected_life = 0; foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get()) expected_life += (UInt32)mo["ExpectedLife"]; textBox1.Text = expected_life.ToString();uint expected_life = 0; foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get()) expected_life += (UInt32)mo["ExpectedLife"]; textBox1.Text = expected_life.ToString();Что он выводит?
Добрый день, ошыбка, когда нажымаю на кнопку в программе, в vs studio ошибок нет.
Цитата: yuri от 21.02.2022, 14:18MessageBox.Show((SystemInformation.PowerStatus.BatteryLifePercent * 100).ToString() + "%", "Заряд батареи:", MessageBoxButtons.OK, MessageBoxIcon.Information);А так? Или это не то, что нужно?
В textbox:textBox1.Text = (SystemInformation.PowerStatus.BatteryLifePercent * 100).ToString() + "%";
MessageBox.Show((SystemInformation.PowerStatus.BatteryLifePercent * 100).ToString() + "%", "Заряд батареи:", MessageBoxButtons.OK, MessageBoxIcon.Information);
А так? Или это не то, что нужно?
В textbox:
textBox1.Text = (SystemInformation.PowerStatus.BatteryLifePercent * 100).ToString() + "%";
Цитата: Adler от 21.02.2022, 14:31Цитата: Владислав от 21.02.2022, 14:14Его тип данных UInt32, но я не понемаю как в textBox, отобразить uint32.
Цитата: Владислав от 21.02.2022, 14:14Его тип данных UInt32, но я не понемаю как в textBox, отобразить uint32.
Цитата: Владислав от 21.02.2022, 14:37Цитата: yuri от 21.02.2022, 14:18MessageBox.Show((SystemInformation.PowerStatus.BatteryLifePercent * 100).ToString() + "%", "Заряд батареи:", MessageBoxButtons.OK, MessageBoxIcon.Information);MessageBox.Show((SystemInformation.PowerStatus.BatteryLifePercent * 100).ToString() + "%", "Заряд батареи:", MessageBoxButtons.OK, MessageBoxIcon.Information);MessageBox.Show((SystemInformation.PowerStatus.BatteryLifePercent * 100).ToString() + "%", "Заряд батареи:", MessageBoxButtons.OK, MessageBoxIcon.Information);А так? Или это не то, что нужно?
В textbox:textBox1.Text = (SystemInformation.PowerStatus.BatteryLifePercent * 100).ToString() + "%";textBox1.Text = (SystemInformation.PowerStatus.BatteryLifePercent * 100).ToString() + "%";textBox1.Text = (SystemInformation.PowerStatus.BatteryLifePercent * 100).ToString() + "%";
К сожылению это не то, я жылаю узнать сколько преблезительно времени он может работать.
Там есть и другие интерестные вещи которые содержут uint32, и как мне их вывести в textBox я не понемаю. Смотрел видео Хачатура
Если я правельно понемаю чтобы выводить UInt в textBox или lable надо его переделовать в char?
Цитата: yuri от 21.02.2022, 14:18MessageBox.Show((SystemInformation.PowerStatus.BatteryLifePercent * 100).ToString() + "%", "Заряд батареи:", MessageBoxButtons.OK, MessageBoxIcon.Information);MessageBox.Show((SystemInformation.PowerStatus.BatteryLifePercent * 100).ToString() + "%", "Заряд батареи:", MessageBoxButtons.OK, MessageBoxIcon.Information);MessageBox.Show((SystemInformation.PowerStatus.BatteryLifePercent * 100).ToString() + "%", "Заряд батареи:", MessageBoxButtons.OK, MessageBoxIcon.Information);А так? Или это не то, что нужно?
В textbox:textBox1.Text = (SystemInformation.PowerStatus.BatteryLifePercent * 100).ToString() + "%";textBox1.Text = (SystemInformation.PowerStatus.BatteryLifePercent * 100).ToString() + "%";textBox1.Text = (SystemInformation.PowerStatus.BatteryLifePercent * 100).ToString() + "%";
К сожылению это не то, я жылаю узнать сколько преблезительно времени он может работать.
Там есть и другие интерестные вещи которые содержут uint32, и как мне их вывести в textBox я не понемаю. Смотрел видео Хачатура
Если я правельно понемаю чтобы выводить UInt в textBox или lable надо его переделовать в char?
Цитата: Владислав от 21.02.2022, 15:28Цитата: yuri от 21.02.2022, 13:56Добрый день. Что-то Я тоже не понимаю, что Ты пытаешься сделать.
У Меня нет ноутбука, но попробуйте этот код:uint expected_life = 0;foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get())expected_life += (UInt32)mo["ExpectedLife"];textBox1.Text = expected_life.ToString();uint expected_life = 0; foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get()) expected_life += (UInt32)mo["ExpectedLife"]; textBox1.Text = expected_life.ToString();uint expected_life = 0; foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get()) expected_life += (UInt32)mo["ExpectedLife"]; textBox1.Text = expected_life.ToString();Что он выводит?
Если пытаусь получить name, как в этом примери, то всё ок
.string expected_life = ""; foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get()) expected_life += (string)mo["name"]; textBox1.Text = expected_life.ToString(); }
Цитата: yuri от 21.02.2022, 13:56Добрый день. Что-то Я тоже не понимаю, что Ты пытаешься сделать.
У Меня нет ноутбука, но попробуйте этот код:uint expected_life = 0;foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get())expected_life += (UInt32)mo["ExpectedLife"];textBox1.Text = expected_life.ToString();uint expected_life = 0; foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get()) expected_life += (UInt32)mo["ExpectedLife"]; textBox1.Text = expected_life.ToString();uint expected_life = 0; foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get()) expected_life += (UInt32)mo["ExpectedLife"]; textBox1.Text = expected_life.ToString();Что он выводит?
Если пытаусь получить name, как в этом примери, то всё ок
.
string expected_life = "";
foreach (var mo in new ManagementObjectSearcher("root\\cimv2", "select * from CIM_Battery").Get())
expected_life += (string)mo["name"];
textBox1.Text = expected_life.ToString();
}
Цитата: Adler от 21.02.2022, 16:33Мой комментарий парой сообщений выше прочитайте.
Вы явно с чего-то не того начали учить язык. Почитайте про преобразование типов. Это в самом начале любого обучающего курса, сразу после изучения самих типов.
UInt32, это число, вам нужно его вывести в Textbox. Textbox.Text это String, а не char. Я же вам написал, что char это ОДИН символ. Для преобразовния UInt32 (как и любого другого числа) в строку используйте ToString().
Мой комментарий парой сообщений выше прочитайте.
Вы явно с чего-то не того начали учить язык. Почитайте про преобразование типов. Это в самом начале любого обучающего курса, сразу после изучения самих типов.
UInt32, это число, вам нужно его вывести в Textbox. Textbox.Text это String, а не char. Я же вам написал, что char это ОДИН символ. Для преобразовния UInt32 (как и любого другого числа) в строку используйте ToString().