delphi 曲线的实时绘制

feifeicookie001 2015-01-07 09:12:09
最近有个项目刚刚接触delphi,现在需要把从rs232传来的数据接收并实时绘制成曲线,并且通过不断接收数据曲线动态的向前移动,起到一个实时监控工作情况的一个效果,请问下delphi xe6里的Teechart lite可以实现吗?或者有什么好的控件容易实现的,总的思路是什么,如果可以的话麻烦大家写段代码供我参考下。由于项目比较着急,先谢谢大家了。
...全文
3445 22 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
nebula845026 2015-01-13
  • 打赏
  • 举报
回复
不客气,有问题多交流....
feifeicookie001 2015-01-11
  • 打赏
  • 举报
回复
谢谢大家的帮助 就先把帖子结了~
feifeicookie001 2015-01-11
  • 打赏
  • 举报
回复
引用 17 楼 hanjy 的回复:
我自己写了一个这样的组件,很好用。
能传我一份吗???343887075@qq.com 谢谢了
feifeicookie001 2015-01-11
  • 打赏
  • 举报
回复
引用 15 楼 nebula845026 的回复:
使用TCanvas画就挺好,你用组件首先得先找组件,然后还熟悉组件的用法 用TCanvas的话网上的例子多的是,很容找到,而且看样子你的曲线应该是类似示波器的样子,曲线的点数是固定的,随着数据的刷新,曲线看起来是像一个方向移动的吧,自己维护一个数组,有新点的时候把数组所有内容用CopyMemory函数移动一个位置,把新数写在最后一个位置就可以了,然后在绘图。 另外使用TCanvas绘图的话屏幕刷新后不绘图的话曲线就刷掉了,不过你这个一直在绘图的话不存在这个情况。 如果觉得屏幕闪烁的话,记得把DoubleBuffer打开,就是把你TCanvas的所有者的DoubleBuffer置为True。 下班了,先写这么多 ....
谢谢你 先结贴吧
line_us 2015-01-10
  • 打赏
  • 举报
回复
描绘数据曲线很有趣
hanjy 2015-01-10
  • 打赏
  • 举报
回复
我自己写了一个这样的组件,很好用。
hanjy 2015-01-10
  • 打赏
  • 举报
回复
tcanbas 自己画最好。
doloopcn 2015-01-09
  • 打赏
  • 举报
回复
引用 7 楼 feifeicookie001 的回复:
[quote=引用 6 楼 doloopcn 的回复:] 最现实的方法就是做一个后台接收,把232的数据写进一个数据表里面,然后异步刷新数据表,在TEECHAR上显示出来 这个模式做好了,很明显,你具有两重功效:1。本地数据,你爱怎么刷新就怎么刷新。2。客户端可以灵活安装,刷新频率也可以自己设置。 而且teechar自带打印功能,节省了你的宝贵时间。
谢谢,刚上手delphi没几天,现在正在尝试各种方法,感觉你这个方法蛮好的。不过不断在数据表里写数据刷新表,在Teechart上显示 出来,那teechart里面的点数不是就会一直增加吗?[/quote] 看来你还没有搞好TEECHART呢,TEECHART.Serise.DataSource.xSource和ySource都是是对应着数据表的一个字段的,你的字段的值多了,TEECHART是自动画图的。先去查一下TEECHART的DEMO
lyhoo163 2015-01-09
  • 打赏
  • 举报
回复
另外使用打印控件,可以显示曲线。
nebula845026 2015-01-09
  • 打赏
  • 举报
回复
使用TCanvas画就挺好,你用组件首先得先找组件,然后还熟悉组件的用法 用TCanvas的话网上的例子多的是,很容找到,而且看样子你的曲线应该是类似示波器的样子,曲线的点数是固定的,随着数据的刷新,曲线看起来是像一个方向移动的吧,自己维护一个数组,有新点的时候把数组所有内容用CopyMemory函数移动一个位置,把新数写在最后一个位置就可以了,然后在绘图。 另外使用TCanvas绘图的话屏幕刷新后不绘图的话曲线就刷掉了,不过你这个一直在绘图的话不存在这个情况。 如果觉得屏幕闪烁的话,记得把DoubleBuffer打开,就是把你TCanvas的所有者的DoubleBuffer置为True。 下班了,先写这么多 ....
看那山瞧那水 2015-01-09
  • 打赏
  • 举报
回复
工控控件,iocomp, TMS Instrumentation Workshop有实时曲线控件,比TChart好用
SVIP_ 2015-01-09
  • 打赏
  • 举报
回复
Teechart 可以 刚刚做完一个心电波形的项目
lhy 2015-01-08
  • 打赏
  • 举报
回复
引用 9 楼 feifeicookie001 的回复:
[quote=引用 3 楼 lyhoo163 的回复:] 使用TChart比较方便。 如果动态显示曲线,还是自己画,比较好。
谢谢,delphi刚上手没多久,各方面都不熟~现在只想着能完成任务先。[/quote] 一个数组,再在canvas上画折线就可以了。
不得闲 2015-01-08
  • 打赏
  • 举报
回复
用TChart的就行,可以看QDAC中作者写的一个例子,就有
feifeicookie001 2015-01-08
  • 打赏
  • 举报
回复
引用 3 楼 lyhoo163 的回复:
使用TChart比较方便。 如果动态显示曲线,还是自己画,比较好。
谢谢,delphi刚上手没多久,各方面都不熟~现在只想着能完成任务先。
feifeicookie001 2015-01-08
  • 打赏
  • 举报
回复
引用 1 楼 JohnYale 的回复:
能行。demo里有例子 仔细看看吧
谢谢 原来的delphi里面没有demo这个文件夹 今天下了一个貌似好像有类似的例子~
feifeicookie001 2015-01-08
  • 打赏
  • 举报
回复
引用 6 楼 doloopcn 的回复:
最现实的方法就是做一个后台接收,把232的数据写进一个数据表里面,然后异步刷新数据表,在TEECHAR上显示出来 这个模式做好了,很明显,你具有两重功效:1。本地数据,你爱怎么刷新就怎么刷新。2。客户端可以灵活安装,刷新频率也可以自己设置。 而且teechar自带打印功能,节省了你的宝贵时间。
谢谢,刚上手delphi没几天,现在正在尝试各种方法,感觉你这个方法蛮好的。不过不断在数据表里写数据刷新表,在Teechart上显示 出来,那teechart里面的点数不是就会一直增加吗?
mathsfan 2015-01-08
  • 打赏
  • 举报
回复
实时的不应该自己画比较好吗?
lyhoo163 2015-01-08
  • 打赏
  • 举报
回复
使用TChart比较方便。 如果动态显示曲线,还是自己画,比较好。
doloopcn 2015-01-08
  • 打赏
  • 举报
回复
最现实的方法就是做一个后台接收,把232的数据写进一个数据表里面,然后异步刷新数据表,在TEECHAR上显示出来 这个模式做好了,很明显,你具有两重功效:1。本地数据,你爱怎么刷新就怎么刷新。2。客户端可以灵活安装,刷新频率也可以自己设置。 而且teechar自带打印功能,节省了你的宝贵时间。
加载更多回复(2)

1,185

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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