📄 salebackquerychart.pas
字号:
unit SaleBackQueryChart;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls, TeEngine, Series, TeeProcs, Chart, DbChart, CheckLst,
ComCtrls, MainDM, DateUtils;
type
TSaleBackQueryChartDlg = class(TForm)
Label1: TLabel;
Label2: TLabel;
SBtnSearch: TSpeedButton;
SpeedButton1: TSpeedButton;
SBtnSelAll: TSpeedButton;
SBtnSelInverse: TSpeedButton;
SBtnPrint: TSpeedButton;
DTPStart: TDateTimePicker;
DTPEnd: TDateTimePicker;
CLBGoods: TCheckListBox;
Panel1: TPanel;
CheckBox1: TCheckBox;
DBChartDisplay: TDBChart;
SSaleBackNum: TBarSeries;
procedure SBtnSearchClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure SBtnSelAllClick(Sender: TObject);
procedure SBtnSelInverseClick(Sender: TObject);
procedure SBtnPrintClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
SaleBackQueryChartDlg: TSaleBackQueryChartDlg;
implementation
{$R *.dfm}
procedure TSaleBackQueryChartDlg.SBtnSearchClick(Sender: TObject);
var
LStrId: string;
i, n: integer;
LBackNum: integer;
begin
SSaleBackNum.Clear;
n := CLBGoods.Items.Count - 1;
for i:= 0 to n do
begin
if CLBGoods.Checked[i] then
begin
LStrId := CLBGoods.Items.Strings[i];
DMMain.ADOQueryMain.Close;
DMMain.ADOQueryMain.SQL.Clear;
DMMain.ADOQueryMain.SQL.Add('select sum(AMount) as TotalNum from T_SaleBack');
DMMain.ADOQueryMain.SQL.Add('where GoodId=:GoodId');
DMMain.ADOQueryMain.SQL.Add('and BackDate >=:DateStart and BackDate<=:DateEnd');
DMMain.ADOQueryMain.Parameters.ParamByName('GoodId').Value := LStrId;
DMMain.ADOQueryMain.Parameters.ParamByName('DateStart').Value :=
DTPStart.Date;
DMMain.ADOQueryMain.Parameters.ParamByName('DateEnd').Value :=
IncDay(DTPEnd.Date);
DMMain.ADOQueryMain.Open;
LBackNum := DMMain.ADOQueryMain.FieldByName('TotalNum').AsInteger;
SSaleBackNum.AddBar(LBackNum, LStrId, CLRED);
end;
end;
end;
procedure TSaleBackQueryChartDlg.FormShow(Sender: TObject);
begin
CLBGoods.Clear;
DTPStart.Date := IncMonth(DTPStart.Date, -1);
DMMain.ADOTGood.Open;
DMMain.ADOTGood.First;
while not DMMain.ADOTGood.Eof do
begin
CLBGoods.Items.Add(DMMain.ADOTGood.FieldByName('Id').Value);
DMMain.ADOTGood.Next;
end;
SBtnSelAllClick(nil);
end;
procedure TSaleBackQueryChartDlg.CheckBox1Click(Sender: TObject);
begin
DBChartDisplay.View3D := (Sender as TCheckbox).Checked;
end;
procedure TSaleBackQueryChartDlg.SBtnSelAllClick(Sender: TObject);
var
m, i:integer;
begin
m := CLBGoods.Items.Count - 1;
for i := 0 to m do
CLBGoods.Checked[i] := true;
end;
procedure TSaleBackQueryChartDlg.SBtnSelInverseClick(Sender: TObject);
var
m, i:integer;
begin
m := CLBGoods.Items.Count - 1;
for i := 0 to m do
CLBGoods.Checked[i] := not CLBGoods.Checked[i];
end;
procedure TSaleBackQueryChartDlg.SBtnPrintClick(Sender: TObject);
begin
DBChartDisplay.Print;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -