⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 salebackquerychart.pas

📁 这是一个本人初定的小制作
💻 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 + -