数据是从串口通信传过来的,每15s来一个,要求是来一个点描一个,操作人员实时了解传过来的数据的情况?该如何实现呢,用什么控件或是技术,请求大虾指点迷津,谢谢了

解决方案 »

  1.   

    你好,能不能说详细点呢,我刚接触delphi,许多东西还不是很懂,谢谢你了
      

  2.   

    你那个描点是在哪描的呢?有image吗?如果有的话可以
    image.canvas
    用这个属性去画
      

  3.   

    最简单的是使用TChart控件,详细看Demo(示例)好了。
      

  4.   

    这种情况肯定用到事件,必须的!也就是说做一个带节点的曲线控件,或者用TSharp之类的控件来代表某个点
      

  5.   

    我的意思是你想弹窗提示某个节点的数据,必须要有事件.所以必须和控件打交道.用到的事件可以是:WM_MOUSEMOVE.
    你如果觉得上面的比较难实现,可以在一个Panel里放20个TSharp,在Sharp的OnMouseMove里写显示某节点的代码
      

  6.   


    在tdbchart中画出的曲线中能不能加上些什么,直接实现鼠标点上时显示该点的值呢
      

  7.   

    这个没法再细了!你在Form上放一个Tchart、Button。Button用来采集,Tchart用来显示,在ButtonClick中写你的采集函数输出到Tchart上显示,双击Tchart可以设置它的显示方式.看Demo,看Demo,看Demo,看Demo,看Demo!
      

  8.   


    这位仁兄,你好,我下的delphi 2007不带demo,可否发一份给我呢,,谢谢你了
    实际上我也是用鼠标采集数据,然后在chart上显示曲线,我现在是想动态获得曲线上各点的值,可以做到吗
      

  9.   

    可以实现啊,我写了一个DEMO发到你邮箱里!
      

  10.   


    procedure TForm1.Timer1Timer(Sender: TObject);
    var
      i:integer;
    begin
      for i:=0 to 100 do
      begin
        ChData1[i]:= Sin((i/100)*2*pi);
        Chart1.Series[0].Add(ChData1[i],'',clRed);//.YValue[i] :=ChData1[i] ;
      end;
    end;procedure TForm1.BitBtn2Click(Sender: TObject);
    begin
      timer1.Enabled:=true;
    end;
      

  11.   

    去定义个数组!
    ChData1: array[0..200] of Double;
      

  12.   

    给我一份参考下呢,谢谢![email protected]