我正在尝试使按钮检查openFileDialog1.FileName
中文件的每一行,并且它是否包含字符串“LCD”或“laser”和“on”之一或者在同一行上包含“激光”和“关”字符串以及字符串“.end”然后执行某些操作。无法使用File.ReadAllLines读取文件
我是C#的新手(本周开始),也不是母语为英语的人。
我的目标是让我的Arduino机器人手臂(我的第一个版本非常简单)有些可编程,只是为了控制LCD并打开或关闭激光(到目前为止)。
顺便说一句,这只是模拟器,所以这就是为什么它永远不会发送任何串行数据。
下面是问题的代码片段,问题是当我在模拟器中“运行”的代码它似乎是一次检查所有的行,因为在它检查的代码,这是
LCD = hello
laser = on
LCD = 000
laser = off
只设置LCD 000,我查了激光=上单独代码之前,并没有在那里工作,但是当我在private void Form3_Load(object sender, EventArgs e)
试了一下它的工作完美,所以底线的最后LCD命令每个代码的工作原理和激光代码从不起作用。
另外我想让每一行代表1秒,所以每行在它继续下一行之前会花费一秒钟的时间。
的timer1
间隔为1000(一秒)
private void timer1_Tick(object sender, EventArgs e)
{
int lineNumber = richTextBox1.GetLineFromCharIndex(richTextBox1.TextLength);
string[] lines = File.ReadAllLines(openFileDialog1.FileName);
try
{
for (int i = 0; i < lineNumber; i++)
{
if (lines[i].Contains("LCD"))
{
label1.Text = lines[i].Remove(0, 6);
}
if (lines[i].Contains("laser") && lines[i].Contains("On"))
{
pictureBox4.Show();
}
if (lines[i].Contains("laser") && lines[i].Contains("Off"))
{
pictureBox4.Hide();
}
if (lines[i].Contains(".end"))
{
button2.PerformClick();
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Form3", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
您确定您的文件中有识别换行符吗?在阅读完行后放置一个断点,并且可以将鼠标悬停在“行”上查看其内容。 – MikeH 2014-11-06 22:35:36