C#做的温度检测界面,温度阈值报警这个功能要怎样写呢?

hyq664243 2016-05-12 06:53:24
在下初学者,用传感器采集到了温度数据,然后放在了字符串中。想做一个textbox输入温度阈值,将字符串里面的最新的值和输入的阈值进行比较,请问怎样将字符串的最新值和一个定值比较呢?
...全文
956 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Fancy1235 2016-11-17
  • 打赏
  • 举报
回复
请问你问题解决了吗?我也遇到这个问题了,求解答!
兵工厂三剑客 2016-05-14
  • 打赏
  • 举报
回复
引用 12 楼 hyq664243 的回复:
[quote=引用 11 楼 SCGH_Fx 的回复:] [quote=引用 10 楼 hyq664243 的回复:] [quote=引用 8 楼 SCGH_Fx 的回复:] 你放在字符串里面,那字符串不是在一直增加吗,如果你不对采集到的数据做处理,程序怎么知道你最后一个数据是多少。 最好放在List<int>里面,或者用一个队列来存放你的采集数据。 同时,程序需要对过时的数据(你不需要的数据)进行及时清理,不然会浪费内存资源,程序运行起来会越来越慢直到卡死。你放在字符串里面,对数据进行定位或者清理都比较麻烦。 提示“字符串格式不正确”,你将待转换的数据show出来,看一下它的值到底是什么。
对,这个方法好,我要改一下清理过时数据,因为程序卡死现象也有出现,那我可以直接将数据放在list里面吗?[/quote] 可以。如果你的采集速率相当快的话,要及时删除list中不再需要的数据。[/quote] 那我想删掉前两秒的数据要怎样做呢?[/quote] 为何要考虑到时间点呢。我觉得用采集个数(Count)来做为你删除清理的判断条件更好。
wanghui0380 2016-05-13
  • 打赏
  • 举报
回复
使用rx库简单方便 不想启动vs,就手动写个伪代码 //先定义一个事件,以便让rx库处理成可观察事件流 Event Action<int> sendData=p=>{} void 启动监控方法() { //将传统事件变成可观察事件流 var obesersource= Observerable.fromevent<int>(p=>this.sendData+=p,pthis.sendData-=p); obsersource.where(p=>p>你textbox定义的值(当然上面说的异常啥啥的你前面自己处理)) //如此就已经完成你要过滤了 .订阅(p=>{ 现在这个p就是你要的大于某个阀值的数据,当然这里如果你想直接显示在UI里会有点小问题,他会有跨线程访问限制,不过rx库也提供上下文控制,怎么控制百度一下就成 }) } void 将数据加入事件流(int x) { sendData(x); } 基本伪代码就这样了,如果是net4.5以上还可以配合TPL dataflow处理(这样到无须先定义event,只需定义一个bufferbloke就可以) 有关rx库的介绍,自己百度把“C# Reactive Extensions”
xuzuning 2016-05-13
  • 打赏
  • 举报
回复
提示输入字符串的格式不正确? 1、可能格式就是不正确 2、可能是空串
兵工厂三剑客 2016-05-13
  • 打赏
  • 举报
回复
你放在字符串里面,那字符串不是在一直增加吗,如果你不对采集到的数据做处理,程序怎么知道你最后一个数据是多少。 最好放在List<int>里面,或者用一个队列来存放你的采集数据。 同时,程序需要对过时的数据(你不需要的数据)进行及时清理,不然会浪费内存资源,程序运行起来会越来越慢直到卡死。你放在字符串里面,对数据进行定位或者清理都比较麻烦。 提示“字符串格式不正确”,你将待转换的数据show出来,看一下它的值到底是什么。
hyq664243 2016-05-13
  • 打赏
  • 举报
回复
引用 11 楼 SCGH_Fx 的回复:
[quote=引用 10 楼 hyq664243 的回复:] [quote=引用 8 楼 SCGH_Fx 的回复:] 你放在字符串里面,那字符串不是在一直增加吗,如果你不对采集到的数据做处理,程序怎么知道你最后一个数据是多少。 最好放在List<int>里面,或者用一个队列来存放你的采集数据。 同时,程序需要对过时的数据(你不需要的数据)进行及时清理,不然会浪费内存资源,程序运行起来会越来越慢直到卡死。你放在字符串里面,对数据进行定位或者清理都比较麻烦。 提示“字符串格式不正确”,你将待转换的数据show出来,看一下它的值到底是什么。
对,这个方法好,我要改一下清理过时数据,因为程序卡死现象也有出现,那我可以直接将数据放在list里面吗?[/quote] 可以。如果你的采集速率相当快的话,要及时删除list中不再需要的数据。[/quote] 那我想删掉前两秒的数据要怎样做呢?
兵工厂三剑客 2016-05-13
  • 打赏
  • 举报
回复
引用 10 楼 hyq664243 的回复:
[quote=引用 8 楼 SCGH_Fx 的回复:] 你放在字符串里面,那字符串不是在一直增加吗,如果你不对采集到的数据做处理,程序怎么知道你最后一个数据是多少。 最好放在List<int>里面,或者用一个队列来存放你的采集数据。 同时,程序需要对过时的数据(你不需要的数据)进行及时清理,不然会浪费内存资源,程序运行起来会越来越慢直到卡死。你放在字符串里面,对数据进行定位或者清理都比较麻烦。 提示“字符串格式不正确”,你将待转换的数据show出来,看一下它的值到底是什么。
对,这个方法好,我要改一下清理过时数据,因为程序卡死现象也有出现,那我可以直接将数据放在list里面吗?[/quote] 可以。如果你的采集速率相当快的话,要及时删除list中不再需要的数据。
hyq664243 2016-05-13
  • 打赏
  • 举报
回复
引用 8 楼 SCGH_Fx 的回复:
你放在字符串里面,那字符串不是在一直增加吗,如果你不对采集到的数据做处理,程序怎么知道你最后一个数据是多少。 最好放在List<int>里面,或者用一个队列来存放你的采集数据。 同时,程序需要对过时的数据(你不需要的数据)进行及时清理,不然会浪费内存资源,程序运行起来会越来越慢直到卡死。你放在字符串里面,对数据进行定位或者清理都比较麻烦。 提示“字符串格式不正确”,你将待转换的数据show出来,看一下它的值到底是什么。
对,这个方法好,我要改一下清理过时数据,因为程序卡死现象也有出现,那我可以直接将数据放在list里面吗?
hyq664243 2016-05-12
  • 打赏
  • 举报
回复
引用 6 楼 kongwei521 的回复:
Convert.ToInt32(采集数据)
还是提示输入字符串的格式不正确呢
蝶恋花雨 2016-05-12
  • 打赏
  • 举报
回复
Convert.ToInt32(采集数据)
蝶恋花雨 2016-05-12
  • 打赏
  • 举报
回复
引用 3 楼 hyq664243 的回复:
我采集的数值那里是个字符串,运行的时候会警告说输入字符串的格式不正确呀
是否要转换下。把采集的字符串发出来。 还有你输入文本框的数值也发出来。 如果是数字的就要转换成int对比。 字符串对比字符串无需转换。
hyq664243 2016-05-12
  • 打赏
  • 举报
回复
引用 4 楼 kongwei521 的回复:
[quote=引用 3 楼 hyq664243 的回复:] 我采集的数值那里是个字符串,运行的时候会警告说输入字符串的格式不正确呀
是否要转换下。把采集的字符串发出来。 还有你输入文本框的数值也发出来。 如果是数字的就要转换成int对比。 字符串对比字符串无需转换。[/quote] 输入文本框的数值是数字,可是字符串转成int的时候就出错了
hyq664243 2016-05-12
  • 打赏
  • 举报
回复
引用 1 楼 kongwei521 的回复:
pubclic int waringcount=20; if(int.parse(采集的数值)>=int.parse(textbox1.text.trim) { messagebox.show("警告"); }
我采集的数值那里是个字符串,运行的时候会警告说输入字符串的格式不正确呀
hyq664243 2016-05-12
  • 打赏
  • 举报
回复
我采集的数值那里是个字符串,运行的时候会警告说输入字符串的格式不正确呀
蝶恋花雨 2016-05-12
  • 打赏
  • 举报
回复
pubclic int waringcount=20; if(int.parse(采集的数值)>=int.parse(textbox1.text.trim) { messagebox.show("警告"); }

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧