我陷入了一个应用程序,该应用程序应该从该字符串中接收串行端口流(工业权重)的数据,我必须仅降低权量值并将其发送到数据库。
我遇到的唯一问题是抓住线并削减了称重值。
这是我将串行流捕获到文本框字段中的方法:
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字段中,我有连续的数据流,当字符编号到达每个字符的每个字符数时,我都会清除文本框。
,但由于我有偏移而起作用(我可能会从启动开始就开始得到字符串,而且我会得到并偏移),而且我也无法捕获权重值将其传递到数据库,因为该字段并不完整时间和我有一个偏移。
我认为在这种情况下我可能会出错。
您正在尝试从可以发送零碎数据的来源检索数据。为了确保数据完整性,您可能需要:
- 不论流的格式如何堆积数据
- 一种拆卸数据的方法,直到检索完整值或队列为空
- 一种检测已检索完整值的方法(您不清楚流中数据如何分离,例如分离器(例如newline))
这样,您将数据读数与值检测和显示分开。