关于TeeChart滚动显示实时数据趋势,但是到了0:00往后就不滚动记录了,为什么?

qiangwei_flower 2009-05-18 09:40:55
我的代码:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
TDateTime T;
Word T_h,T_m,T_s,T_ms,temp;
DecodeTime(T.CurrentTime(),T_h,T_m,T_s,T_ms);
if(T_h==0)
{temp=23;}
else
{temp=T_h-1;}

for(int i=0;i<60;i++)
{
for(int j=0;j<60;j=j+5)
{
Series1->AddXY(EncodeTime(temp,T_m,j,0),0);
}
T_m++;
if(T_m==60){temp++;T_m=0;}
if(temp==24){temp=0;}
}
//Series1->FillSampleValues(20); */
}
//---------------------------------------------------------------------------
void TForm1::AddPoint(TChartSeries* Series,float y)
{
double t;
t=Time();
Series->AddXY(t,y);
t=t+EncodeTime(0,0,5,0);
if(Series->Count()>720)
{Series->Delete(0); }// <-- remove the first point
}
//------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
AddPoint(Series1,random(100));


}
...全文
312 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
killer80719 2009-05-19
  • 打赏
  • 举报
回复
if(Series->Count()>720)
{Series->Delete(0); }// <-- remove the first point
这句话可能有问题,这样好像不能滚屏。我记得我当时做的是将最大值+1、最小值-1,这样就保证整个屏幕宽度,从而实现滚屏效果,不知道你是不是也是想实现这样的效果的。
qiangwei_flower 2009-05-19
  • 打赏
  • 举报
回复
从23:59过渡到0:00,往后就不显示了,如果单从0:01开始往后 也能正常显示,怎么办呢?
要求记录实时的趋势不能跳过0:00呀!
fairchild811 2009-05-19
  • 打赏
  • 举报
回复
是不是类似于千年虫之类的,那你在0:00的时候用个特殊的字符表示,或者用24:00

就是你获得0:00之后,先不着急画图,而是先人为的转化为24:00,然后再画
我不懂电脑 2009-05-18
  • 打赏
  • 举报
回复
设置断点设置断点条件为0:00后中断,或记录日志,看看0:00以后代码还在执行不?
fairchild811 2009-05-18
  • 打赏
  • 举报
回复
你的0:00是时间吗,你跳过这个时间点试试
qiangwei_flower 2009-05-18
  • 打赏
  • 举报
回复
谢谢回复!
在执行,只是在画面中不见点加入,整个曲线都死在那里,可程序是在正常运行,没有任何错误!
qiangwei_flower 2009-05-18
  • 打赏
  • 举报
回复
谢谢回复!
在执行,只是在画面中不见点加入,整个曲线都死在那里,可程序是在正常运行,没有任何错误!

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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