如果memo1中的数据如下: BF 02 28 21 22 23 20 FF BF 02 28 21 A2 6F 20 FF BF 02 28 21 A3 6F 20 FF BF 02 28 21 A3 6F 20 FF BF 02 28 21 A4 6F 20 FF BF 02 28 21 A4 6F 20 FF BF 02 28 21 25 56 20 FF 同时还会有数据进入格式同上:以BF开头,以FF结尾。 不知道如何编写语句实现在以BF开头,以FF结尾的数据中查找当第三个数据为21时,将值赋给memo2?
解决方案 »
- Undeclared identifier: 'TBytes'
- 用odac写的程序编译后在别处不能使用
- Form1.FreeInstance 和Form1.Free有什么区别?
- 请教:TDBListBox何用,如何去用?谢谢!
- 小问题-keydown事件不起作用
- 提问,非高手勿入,打印的问题,100分,不够另加
- 有没有人用postgresql啊,进来拿分
- smtp邮件发送时间问题
- rad studio中有没有办法设定新建程序时的模板
- 谁能帮我把下面这段BV的改成DELPHI
- 100分求助 更新ACCESS数据库时出现:当前提供程序不支持单一执行返回多个记录集
- delphi保存dbgrid中的數據~急
i,j:integer;
const ds='BF 02 28 21';
begin
s:=StringReplace(memo1.Text,#13,'',[rfReplaceAll]);//删除回车符
s:=StringReplace(s,#10,'',[rfReplaceAll]);//删除换行符
i:=pos('BF',s);
s:=copy(s,i,length(s));
j:=(length(s)div 24)*24;
memo1.Text:=copy(s,j+1,length(s));//将处理过部分的字符从memo1删除
i:=pos(ds,s);
while i>0 do
begin
memo2.Lines.Append(copy(s,i,24));//把BF 02 28 21的数据加入到memo2
s:=copy(s,i+24,length(s));
i:=pos(ds,s);
end;
end;
这是分别接收时的数据:
这是来自于第一个节点的数据:BF 02 28 20 A1 22 20 FF BF 02 28 20 21 22 20 FF BF 02 28 20 22 22 20 FF BF 02 28 20 22 22 20 FF BF 02 28 20 23 22 20 FF BF 02 28 20 A3 50 20 FF BF 02 28 20 A4 50 20 FF BF 02 28 20 A4 50 20 FF BF 02 28 20 A5 50 20 FF BF 02 28 20 A5 50 20 FF BF 02 28 20 26 22 20 FF BF 02 28 20 A6 50 20 FF BF 02 28 20 A7 50 20 FF BF 02 28 20 A7 50 20 FF BF 02 28 20 20 22 20 FF BF 02 28 20 A0 50 20 FF BF 02 28 20 21 50 20 FF BF 02 28 20 21 50 20 FF
这是来自第二个节点的数据:BF 02 28 21 22 23 20 FF BF 02 28 21 A2 6F 20 FF BF 02 28 21 A3 6F 20 FF BF 02 28 21 A3 6F 20 FF BF 02 28 21 A4 6F 20 FF BF 02 28 21 A4 6F 20 FF BF 02 28 21 25 56 20 FF BF 02 28 21 A5 24 A0 FF BF 02 28 21 A6 24 A0 FF BF 02 28 21 26 24 A0 FF BF 02 28 21 A7 95 30 FF BF 02 28 21 A7 95 30 FF BF 02 28 21 20 95 30 FF BF 02 28 21 20 95 30 FF BF 02 28 21 21 95 30 FF
两个都是温度节点,发送数据的时候放置的位置很近! 不知道当单击串口调试精灵保存数据按钮时,如何将数据分析保存到SQL的data数据库表中。data表的字段属性为(节点号,温度,时间),不知数据包怎么解析,接收时间如何确定,哪个值表示节点号,哪个什表示温度值?
我想着按照我原贴所描述的,当我实现数据保存后,在把memo2中的数据通过adoquery添加到表中相应字段。