📄 lcrkchart_unit.~pas
字号:
unit LCRKCHART_Unit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Mask, DBCtrlsEh, ExtCtrls, TeEngine, Series,
TeeProcs, Chart, DbChart,db,teeprevi;
type
TLCRKCHART_Form = class(TForm)
DBChart1: TDBChart;
Series1: TBarSeries;
Panel1: TPanel;
Label1: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ComboBox2: TComboBox;
Label4: TLabel;
Label2: TLabel;
Label3: TLabel;
Label6: TLabel;
ComboBox3: TComboBox;
ComboBox4: TComboBox;
ComboBox5: TComboBox;
Label5: TLabel;
BitBtn3: TBitBtn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
LCRKCHART_Form: TLCRKCHART_Form;
implementation
uses DMUnit;
{$R *.dfm}
procedure TLCRKCHART_Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=cafree;
end;
procedure TLCRKCHART_Form.FormDestroy(Sender: TObject);
begin
LCRKCHART_Form:=nil;
end;
procedure TLCRKCHART_Form.FormCreate(Sender: TObject);
var
i:integer;//字段数
begin
with DM.LCRKCHART_ADOQ do
begin
Close;
Open;
end;
for i:=0 to DM.LCRKCHART_ADOQ.FieldCount-1 do
if DM.LCRKCHART_ADOQ.Fields[i].DataType=ftbcd then
begin
Combobox2.Items.Add(DM.LCRKCHART_ADOQ.Fields[i].FieldName)
end;
while not DM.LCRKCHART_ADOQ.Eof do
begin
Combobox3.Items.Add(DM.LCRKCHART_ADOQ.FieldByName('车号').AsString);
Combobox4.Items.Add(DM.LCRKCHART_ADOQ.FieldByName('汇总编号').AsString);
Combobox5.Items.Add(DM.LCRKCHART_ADOQ.FieldByName('班组').AsString);
DM.LCRKCHART_ADOQ.Next;
end;
DM.LCRKCHART_ADOQ.Close;
end;
procedure TLCRKCHART_Form.BitBtn1Click(Sender: TObject);
var
S,p:string;
begin
S:=' SELECT 车号=LC.LC_NAME,汇总编号=LH.LC_HZ,班组=C.CLASS_NAME,总数量=SUM(LC_NUM),总金额=SUM(LC_MON) '+
'FROM LCRKD_HZ LH LEFT JOIN LCBASE LC ON LC.LC_NO=LH.LC_CARNO LEFT JOIN CLASS_ITEM C ON '+
'C.CLASS_ID=LH.LC_BZ WHERE 2>1 ';
P:='GROUP BY LC_NAME,CLASS_NAME,LC_HZ ' ;
if Combobox3.ItemIndex>=0 then
S:=S+' AND 车号='''+Combobox3.Text+'''';
if Combobox4.ItemIndex>=0 then
S:=S+' AND 汇总编号='''+Combobox4.Text+'''';
if Combobox5.ItemIndex>=0 then
S:=S+' AND 班组='''+Combobox5.Text+'''';
with DM.LCRKCHART_ADOQ do
begin
Close;
SQL.Clear;
SQL.Add(S+' '+p);
Open;
end;
Series1.Active:=true;
Series1.YValues.ValueSource:=ComboBox2.Text;
DM.LCRKCHART_ADOQ.Open;
end;
procedure TLCRKCHART_Form.BitBtn2Click(Sender: TObject);
begin
chartpreview(self,dbchart1);
end;
procedure TLCRKCHART_Form.BitBtn3Click(Sender: TObject);
begin
Combobox3.Items.Clear;
Combobox4.Items.Clear;
Combobox5.Items.Clear;
with DM.LCRKCHART_ADOQ do
begin
Close;
Open;
end;
while not DM.LCRKCHART_ADOQ.Eof do
begin
Combobox3.Items.Add(DM.LCRKCHART_ADOQ.FieldByName('车号').AsString);
Combobox4.Items.Add(DM.LCRKCHART_ADOQ.FieldByName('汇总编号').AsString);
Combobox5.Items.Add(DM.LCRKCHART_ADOQ.FieldByName('班组').AsString);
DM.LCRKCHART_ADOQ.Next;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -