我有一个小问题,我无法弄清楚。我有一个可以读取文本文件的代码。当我阅读文本文件时,文件中有命令。此命令适用于连接到串行端口的泵。所以我要做的是获取所有命令然后通过串行端口发送它们。我可以做到,但现在我必须发出wait(value)
命令。等待命令的值总是不同的。所以我必须得到value
等待命令的值,然后我会将等待命令的值放入Thread.Sleep(waitvalue)
. 所以waitvalue
是来自等待命令的值。
这是我读取文本文件的代码:
Stream mystream;
OpenFileDialog commandFileDialog = new OpenFileDialog();
if (commandFileDialog.ShowDialog() == DialogResult.OK)
{
if ((mystream = commandFileDialog.OpenFile()) != null)
{
string fileName = commandFileDialog.FileName;
CommandListTextBox.Text = fileName;
string[] readText = File.ReadAllLines(fileName);
foreach (string fileText in readText)
{
_commandList.Add(fileText);
}
CommandListListBox.DataSource = _commandList;
}
}
_commandlist 是一个字符串列表。StringList 是我同事的一个函数,在这个函数中你将有一个字符串列表。在字符串列表中,我将放置文件中的文本。然后我将 _commandlist 指定为我的列表框的数据源。
这是运行命令的代码,也是我试图从等待命令中获取值的代码的这一部分。但我无法弄清楚如何获得价值。
_comport.PortName = "COM6";
_comport.Open();
foreach (string cmd in _commandList)
{
if (cmd.Contains("WAIT"))
{
//Action
}
_comport.Write(cmd + (char)13);
Thread.Sleep(4000);
}
_comport.Close();
在Thread.Sleep(4000)
我必须用我的等待值替换 4000 。
部分文本文件:
RUN
WAIT(1000)
STOP
WAIT(1600)
RUNW
WAIT(4000)
STOP
有人可以帮我弄这个吗?提前致谢