Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > "Живой" график на основе компонента Chart


Автор: Orakul 20.5.2005, 06:58
Предпосылки:
Снимаю показания с прибора и в реальном режиме времени отображаю значения в графическом виде. Постоянно на графике должен быть период, установленный в настройках. Соответственно с самого начала идет накопление, а затем, алгоритм читайте ниже.
Задача:
Рисовать график на компоненте Chart следующим образом. Добавлять в конец графика точку с помощью функции Add и удалять первую функцией Delete. ПО логике все путем, а на деле получается шняга.
Помогите разобраться с этим компонентом.

Автор: Satana 20.5.2005, 07:06
не понимаю в чем проблема то? вот даю пример юнита по нажатию на кнопку добавляется точка и удаляется первая.
Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, TeEngine, Series, ExtCtrls, TeeProcs, Chart, StdCtrls, Buttons;

type
  TForm1 = class(TForm)
    Chart1: TChart;
    Series1: TLineSeries;
    BitBtn1: TBitBtn;
    procedure FormShow(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  x,y:integer;
implementation

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
begin
Chart1.Series[0].AddXY(0,1);
Chart1.Series[0].AddXY(1,2);
Chart1.Series[0].AddXY(2,3);
Chart1.Series[0].AddXY(3,4);
Chart1.Series[0].AddXY(4,5);
x:=4;
y:=5;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
x:=x+1;
y:=y+1;
Chart1.Series[0].AddXY(x,y); //Добавляем х и у
Chart1.Series[0].Delete(0,1); //Удаляем начиная с первой точки(0), количеством 1 точка.
end;

end.

Автор: Orakul 20.5.2005, 09:31
Все, да не все... При удалении первая точка удаляется, но последняя не дорисовывается, для интереса попробуй... Было бы так просто не спрашивал...

Автор: Satana 20.5.2005, 10:04
OrakulЭтот код рабочий я у себя его проверял перед тем как сюды запостил. Сначала добавляешь потом удаляешь.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)