Работа с компонентом Chart

  • Автор темы KuevProger
  • Дата начала
Статус
Закрыто для дальнейших ответов.
K

KuevProger

#1
У меня такой вопрос есть Chart нужно сделать чтоб в процессе работы с ним можно было выставлять параметры графика т.е создал панельку на графике(ко-во делений Х,Y;Интервал времени от и до; диапазон значений;Сетка Х,СеткаY ).Прост сам не когда не работал с этим компонентом помогите кто чем может.
[codebox] TtrendThread = class(TThread)
private
protected
procedure Execute; override;
end;

type
TForm3 = class(TForm)
Chart1: TChart;
Timer1: TTimer;
Panel1: TPanel;
Series1: TFastLineSeries;
SG_graph: TStringGrid;
PopupMenu1: TPopupMenu;
Pn_edit: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Pn_up: TPanel;
Label4: TLabel;
me_MinTm: TMaskEdit;
meMaxTm: TMaskEdit;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
me_MinFz: TEdit;
me_MaxFz: TEdit;
se_TickX: TSpinEdit;
se_TickY: TSpinEdit;
bt_Da: TButton;
bt_Net: TButton;
Panel2: TPanel;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
N1: TMenuItem;
N2: TMenuItem;
Y1: TMenuItem;
N3: TMenuItem;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
TrendThread:TtrendThread;
Form3: TForm3;
procedure StartTrend;
implementation
uses U_Main;

{$R *.dfm}

procedure StartTrend;
begin
TrendThread:=TtrendThread.Create(True);
with TrendThread do begin
Priority:=tpNormal;
FreeOnTerminate:=True;
Resume;
end;
end;

Procedure TtrendThread.Execute;
var
d,t:TDateTime;
Hour, Min, Sec, MSec: Word;
begin
d:=time;
if d>Form3.Chart1.BottomAxis.Maximum then
begin
d:=Form3.Chart1.BottomAxis.Maximum;
DecodeTime(d,Hour, Min, Sec, MSec);
Min:=Min+3; //надо сделать проверку на минуты
T:= EncodeTime(Hour, Min, Sec, MSec);
Form3.Chart1.BottomAxis.SetMinMax(d,t);
end;
Form3.Chart1.series[0].AddXY(d,value[9]);
Form3.SG_graph.Cells[1,0]:=FloatToStr(value[9]);
end;


procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;

procedure TForm3.Timer1Timer(Sender: TObject);
begin
StartTrend;
sleep(100);
end;

procedure TForm3.FormCreate(Sender: TObject);
var d,t:TDateTime;
Hour, Min, Sec, MSec: Word;
begin
LongTimeFormat:='HH:MM:SS.ZZ';{Н-нда...}
d:=Time;
DecodeTime( D, Hour, Min, Sec, MSec);
Min:=Min+3;
T:= EncodeTime(Hour, Min, Sec, MSec);
Chart1.BottomAxis.SetMinMax(d,t);
end;

end.[/codebox]
 
Статус
Закрыто для дальнейших ответов.