📄 jszchart_unit.pas
字号:
unit JSZCHART_Unit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,db,teeprevi, StdCtrls, Mask, DBCtrlsEh, Buttons, ExtCtrls,
TeEngine, Series, TeeProcs, Chart, DbChart;
type
TJSZCHART_Form = class(TForm)
DBChart1: TDBChart;
Series1: TBarSeries;
Panel1: TPanel;
Label1: TLabel;
Label4: TLabel;
Label2: TLabel;
Label3: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ComboBox2: TComboBox;
DBDateTimeEditEh1: TDBDateTimeEditEh;
DBDateTimeEditEh2: TDBDateTimeEditEh;
BitBtn3: TBitBtn;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
ComboBox1: TComboBox;
ComboBox3: TComboBox;
ComboBox4: TComboBox;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
JSZCHART_Form: TJSZCHART_Form;
implementation
uses DMUnit;
{$R *.dfm}
procedure TJSZCHART_Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=cafree;
end;
procedure TJSZCHART_Form.FormDestroy(Sender: TObject);
begin
JSZCHART_Form:=nil;
end;
procedure TJSZCHART_Form.BitBtn2Click(Sender: TObject);
begin
chartpreview(self,dbchart1);
end;
procedure TJSZCHART_Form.FormCreate(Sender: TObject);
var
i:integer;//字段数
begin
with DM.JSZCHART_ADOQ do
begin
Close;
Open;
end;
for i:=0 to DM.JSZCHART_ADOQ.FieldCount-1 do
if DM.JSZCHART_ADOQ.Fields[i].DataType=ftbcd then
begin
Combobox2.Items.Add(DM.JSZCHART_ADOQ.Fields[i].FieldName);
end;
while not DM.JSZCHART_ADOQ.Eof do
begin
Combobox1.Items.Add(DM.JSZCHART_ADOQ.FieldByName('JSZ_NO').AsString);
Combobox3.Items.Add(DM.JSZCHART_ADOQ.FieldByName('A1').AsString);
Combobox4.Items.Add(DM.JSZCHART_ADOQ.FieldByName('B1').AsString);
DM.JSZCHART_ADOQ.Next;
end;
DM.JSZCHART_ADOQ.Close;
end;
procedure TJSZCHART_Form.BitBtn1Click(Sender: TObject);
var
S,p:string;
begin
S:=' SELECT JM.JSZ_NO,A=LC.LC_NAME,B=C.CLASS_NAME,JM.JSZ_TIME,A1=LC1.LC_NAME,B1=C1.CLASS_NAME, '+
'总数量=SUM(JP.JSZ_ITEMNUM),总金额=SUM(JP.JSZ_ITEMMON) FROM JSZ_M JM LEFT JOIN JSZ_P JP ON '+
'JM.JSZ_NO=JP.JSZ_NO LEFT JOIN LCBASE LC ON LC.LC_NO=JM.JSZ_CARNO LEFT JOIN CLASS_ITEM C ON '+
'C.CLASS_ID=JM.JSZ_BZ LEFT JOIN LCBASE LC1 ON LC1.LC_NO=JM.JSZ_JCARNO LEFT JOIN CLASS_ITEM C1 ON '+
'C1.CLASS_ID=JM.JSZ_JBZ WHERE 2>1 ';
P:=' GROUP BY JM.JSZ_NO,LC.LC_NAME,C.CLASS_NAME,JM.JSZ_TIME,LC1.LC_NAME,C1.CLASS_NAME ';
if (Trim(copy(DBDateTimeEditEh1.Text,0,1))<>'') and (Trim(copy(DBDateTimeEditEh1.Text,0,1))<>'') then
S:=S+ ' and JM.JSZ_TIME>='''+DBDateTimeEditEh1.Text+''' and JM.JSZ_TIME<='''+DBDateTimeEditEh2.Text+'''';
if Combobox1.ItemIndex>=0 then
S:=S+' AND JM.JSZ_NO='''+Combobox1.Text+'''';
if Combobox3.ItemIndex>=0 then
S:=S+' AND LC1.LC_NAME='''+Combobox3.Text+'''';
if Combobox4.ItemIndex>=0 then
S:=S+' AND C1.CLASS_NAME='''+Combobox4.Text+'''';
with DM.JSZCHART_ADOQ do
begin
Close;
SQL.Clear;
SQL.Add(S+' '+p);
end;
Series1.Active:=true;
Series1.YValues.ValueSource:=ComboBox2.Text;
DM.JSZCHART_ADOQ.Open;
end;
procedure TJSZCHART_Form.BitBtn3Click(Sender: TObject);
begin
Combobox1.Items.Clear;
Combobox3.Items.Clear;
Combobox4.Items.Clear;
with DM.JSZCHART_ADOQ do
begin
Close;
Open;
end;
while not DM.JSZCHART_ADOQ.Eof do
begin
Combobox1.Items.Add(DM.JSZCHART_ADOQ.FieldByName('JSZ_NO').AsString);
Combobox3.Items.Add(DM.JSZCHART_ADOQ.FieldByName('A1').AsString);
Combobox4.Items.Add(DM.JSZCHART_ADOQ.FieldByName('B1').AsString);
DM.JSZCHART_ADOQ.Next;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -