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

📄 salesmanquerychartfrm.pas

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