我遇到了一个应该从该字符串接收串行端口流(工业权重)数据的应用程序,我只需要削减权重值并将其发送到数据库。
我遇到的唯一问题是抓住生产线并削减重量值。
以下是将串行流捕获到textBoxes字段中的操作:
public void write_to_field(object sender, EventArgs e)
{
if (textBox1.Text.Length <= Convert.ToInt16(strLenghBox.Text))
{
string DispString;
DispString = serialPort1.ReadLine();
textBox1.AppendText(DispString);
}
else
{
textBox1.Text = "";
}
}
在texbox字段中,我有连续的数据流,当它中的字符数达到每个(strLenghBox.Text)字符数时,我清除textBox。
但它工作不正确,因为我有偏移(我可能开始得到字符串不是从它开始,我会得到和偏移),而且我不能抓住称重值将其传递给数据库,因为字段不是全部时间和我有一个抵消。
我认为在这种情况下我可能会出错。
答案 0 :(得分:3)
您正在尝试从可以发送碎片数据的源中检索数据。为确保数据完整性,您可能需要:
通过这种方式,您可以将数据读取与值检测和显示分开。