我用tchart画一个曲线图,每15s来一个点,这个时间该如何控制呢,在哪里设置一下呢,具体如何实现呢,我是新手,求各位大蛱帮忙,在此先谢谢了

解决方案 »

  1.   

    如果用timer控件来设置定时操作,肯定会跟串口接收数据的时间不同步,所以最好是把画点的操作放在接收数据的那个程序段里,接一个数据就画一个点
      

  2.   


    我现在是先用timer控件来模拟,想让它实现每隔15s,画一个点,该如何做呢?
      

  3.   

    添加一个timer控件,然后把interval属性设置为15000(15秒),然后在ontimer事件中写入你的画点语句程序中要开始画点,就timer1.enabled:=true; 停止画点就是false
      

  4.   


    我在ontimer事件中写入了一段代码,interval也设为了15s,可是程序开始运行时15s以后,所有的点一下都画上了,这该如何控制呢,让它15秒画一段,15秒画一段
    我的代码是procedure TForm1.Timer1Timer(Sender: TObject);
    var
      i:integer;begin
      for i:=0 to 59 do
      begin
        ChData1[i]:= random(200);
        dbChart1.Series[0].Add(ChData1[i],'',clRed);//.YValue[i] :=ChData1[i] ;
      end;
    end;
      

  5.   

    把i设成全局变量,初值为0,然后ontimer的事件代码如下:procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      ChData1[i]:= random(200);
      dbChart1.Series[0].Add(ChData1[i],'',clRed);//.YValue[i] :=ChData1[i] ;
      i:=i+1;
    end;
      

  6.   


    现在是能实现15s一个点的功能了,可是打开界面,我什么也不做,等15秒它就自动开始画线了;怎么实现我控制它时它开始,我在一个button下写了一句“timer1.Enabled:=true;”,好像也没反应,我不点它,过15s以后它也开始画线,这该如何设置呢
      

  7.   

    timer控件的enabled属性在设计时先设置成false,在程序中点button后,再设置成true
      

  8.   

    这个问题上次好像是dinoalex帮你解决的,你去问他吧。主要思路:写一个过程,把画线的代码写在过程里,然后留下两个变量j,k  然后在别的按钮里先指定变量j,k的值,然后调用那个变量就可以了