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