106 lines
2.5 KiB
ObjectPascal
106 lines
2.5 KiB
ObjectPascal
unit U_SXPrice;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, StdCtrls, ExtCtrls, DB, ADODB, VclTee.TeeGDIPlus, VCLTee.TeEngine,
|
|
VCLTee.Series, VCLTee.TeeProcs, VCLTee.Chart, VCLTee.DBChart;
|
|
|
|
type
|
|
TfrmSXPrice = class(TForm)
|
|
Panel1: TPanel;
|
|
ADOQueryMain: TADOQuery;
|
|
ADOQueryTemp: TADOQuery;
|
|
ADOQueryCmd: TADOQuery;
|
|
DBChart1: TDBChart;
|
|
Series1: TFastLineSeries;
|
|
ADOQueryBaseTemp: TADOQuery;
|
|
ADOQueryBaseCmd: TADOQuery;
|
|
procedure Button2Click(Sender: TObject);
|
|
procedure initDbChart();
|
|
procedure FormShow(Sender: TObject);
|
|
private
|
|
{ Private declarations }
|
|
public
|
|
FY_Code, FYarn_Name: string;
|
|
{ Public declarations }
|
|
end;
|
|
|
|
var
|
|
frmSXPrice: TfrmSXPrice;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
procedure TfrmSXPrice.Button2Click(Sender: TObject);
|
|
begin
|
|
Close;
|
|
end;
|
|
|
|
procedure TfrmSXPrice.FormShow(Sender: TObject);
|
|
begin
|
|
initDbChart();
|
|
end;
|
|
|
|
procedure TfrmSXPrice.initDbChart();
|
|
var
|
|
i, j: integer;
|
|
begin
|
|
with ADOQueryTemp do
|
|
begin
|
|
Close;
|
|
SQL.Clear;
|
|
sql.Add(' select A.NewPrice,SJ= CONVERT(varchar(100), Filltime, 23) from Bs_Yarn_Info_Price A where A.Y_Code=' + quotedstr(FY_Code));
|
|
SQL.Add(' order by A.Filltime ');
|
|
// ShowMessage(sql.text);
|
|
Open;
|
|
end;
|
|
if ADOQueryTemp.isempty then
|
|
exit;
|
|
//------------------------------------------
|
|
//图表加载数据前清理数据
|
|
with DbChart1 do
|
|
begin
|
|
j := SeriesCount;
|
|
if j <= 0 then
|
|
exit;
|
|
for i := 0 to j - 1 do
|
|
begin
|
|
dbchart1.Series[i].Active := false;
|
|
dbchart1.Series[i].DataSource := nil;
|
|
dbchart1.Series[i].Clear;
|
|
dbchart1.Series[i].XLabelsSource := '';
|
|
dbchart1.Series[i].YValues.ValueSource := '';
|
|
end;
|
|
end;
|
|
//加载图表
|
|
if ADOQueryTemp.Active = false then
|
|
exit;
|
|
with DBChart1 do
|
|
begin
|
|
j := SeriesCount;
|
|
if j <= 0 then
|
|
exit;
|
|
for i := 0 to j - 1 do
|
|
begin {清除series数据源}
|
|
dbchart1.Series[i].Active := false;
|
|
dbchart1.Series[i].DataSource := nil;
|
|
dbchart1.Series[i].Clear;
|
|
dbchart1.Series[i].XLabelsSource := '';
|
|
dbchart1.Series[i].YValues.ValueSource := '';
|
|
end;
|
|
|
|
DBChart1.Title.Text.Text := FYarn_Name + ' 价格走势图';
|
|
Series[0].DataSource := ADOQueryTemp;
|
|
Series[0].Active := true;
|
|
Series[0].XLabelsSource := ADOQueryTemp.fieldbyname('SJ').FieldName;
|
|
Series[0].YValues.ValueSource := ADOQueryTemp.fieldbyname('NewPrice').FieldName;
|
|
Series[0].CheckDatasource;
|
|
end;
|
|
end;
|
|
|
|
end.
|
|
|