我正在创建一个C#windows窗体应用程序,它会自动检测连接到COM端口的设备并在标签或文本框中显示COM端口号。为了便于实现,我创建了一个批处理文件,它提供了有关COM端口的信息。所以我运行批处理文件并将输出存储在名为“result”的字符串中。出于验证目的,我使用“MessageBox.Show(result)”显示输出。下一步是我想使用标签在Windows窗体中仅显示“结果”的特定行。
// label1.text =结果的第9行//我正在寻找类似这样的东西
我该怎么做?我的做法是对的吗?
以下是附加代码:
$relative_path = 'images/upload/demo.jpg';
$phpThumb->RenderToFile(FCPATH .$relative_path);
答案 0 :(得分:0)
您必须“解析”从其他进程中读取的内容,以提取所需的信息/行。
一个简单的实现可能如下所示:
string result = reader.ReadToEnd();
string[] lines = result.Split(new[] { Environment.NewLine }, StringSplitOptions.None);
if (lines.Length >= 9)
{
Console.WriteLine(lines[8]);
}
else
{
// handle error
}
答案 1 :(得分:0)
您可以分别读取进程返回的每一行,然后只显示第9行:
using (StreamReader reader = process.StandardOutput)
{
var lines = new List<string>();
string line;
while ((line = reader.ReadLine()) != null)
lines.Add(line);
Console.Write(lines[8]);
MessageBox.Show(lines[8]);
}