给我点MSCOMM控件使用后的数据处理后的解决思路,高分!
各位老鸟,我用的MSCOMM控件做的一台设备的接受,现在能够从那台设备接收到一串数据,源代码如下:
Private Sub Timer1_Timer()
If MSComm1.InBufferCount > 0 Then
MSComm1.Output = Chr(6)
Text1.Text = Text1.Text + Trim(MSComm1.Input)
End If
End Sub
接受到的数据显示在文本框中,如下:
1H|\^&|||99^2.00|||||||P|1.00|20030926090537 格式 yyyymmddhhmmss
22
2P|1|||^^^
CD
3O|1|03092525|||R 样本号25
1B
4R|1|^^^1|13.3|sec.||||F|||| 第一个结果13.3sec
56
5M|1|A|@
B8
6R|2|^^^2|1.09|INR||||F|||| 第二个结果1.09INR
DD
7M|2|A|@
BB
0R|3|^^^3|1.07|Ratio||||F|||| 第三个结果1.07Ratio
ED
1M|3|A|@
B6
2R|4|^^^4|12.4|Ref.T||||F|||| 第四个结果12.4Ref.T
90
3M|4|A|@
B9
4L|1|N
07
注明的是sec INR Ratio Ref.T都是我们的医用单位,
?chr(3) 'ETX
?CHR(2) 'STA
我现在的问题是如何实现以下功能(我前面已经做好了数据库和输入界面):
1. 如何接受数据后自动判断目前的日期和样本号,关键是后者,判断后自动存储进入相对应的样本号的表中。我已经建立好的输入界面和数据库,比如在电脑上按照样本号输入某个病人的基本数据后先存贮,随后设备开始工作后结果出来数据按对应的样本号传输过来了。
2. 结果数据按样本号传输过来后,分别按对应的结果(或者称为通道)第一个结果(通道),对应通道号传输到相对应的位置上?这个如何完成,用程序?
其中我的数据库已经做好,用的access,包括sec INR Ratio Ref.T四个结果,如何实现用个模块实现接收后获得有效数据,然后分别存储入对应的数据库中?
不知道我的问题和我的想法说清楚没有?能否给我讲一下思路或者如何实现目标的其它方法?谢谢。如果有参考的源代码更好。高分相送!