ckchart_unit.pas

来自「餐营的数据核算,模拟入库,出库,库存.对餐营的流程详细叙述」· PAS 代码 · 共 106 行

PAS
106
字号
unit CKCHART_Unit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, Mask, DBCtrlsEh, ExtCtrls, TeEngine, Series,
  TeeProcs, Chart, DbChart,teeprevi,db;

type
  TCKCHART_Form = class(TForm)
    DBChart1: TDBChart;
    Series1: TBarSeries;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    DBDateTimeEditEh1: TDBDateTimeEditEh;
    DBDateTimeEditEh2: TDBDateTimeEditEh;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    ComboBox2: TComboBox;
    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
  CKCHART_Form: TCKCHART_Form;

implementation

uses DMUnit;

{$R *.dfm}

procedure TCKCHART_Form.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
Action:=cafree;
end;

procedure TCKCHART_Form.FormDestroy(Sender: TObject);
begin
CKCHART_Form:=nil;
end;

procedure TCKCHART_Form.FormCreate(Sender: TObject);
var
 i:integer;//字段数
begin
  with DM.CKCHART_ADOQ do
  begin
    Close;
    Open;
  end;
  for i:=0 to DM.CKCHART_ADOQ.FieldCount-1 do
 if DM.CKCHART_ADOQ.Fields[i].DataType=ftbcd then
  begin
    Combobox2.Items.Add(DM.CKCHART_ADOQ.Fields[i].FieldName);
  end;
  DM.CKCHART_ADOQ.Close;
end;

procedure TCKCHART_Form.BitBtn1Click(Sender: TObject);
var
  S,p:string;
begin
  S:='SELECT 出库时间=CM.CKD_TIME, 出库数量=SUM(CP.ITEM_NUM), 损耗数量=SUM(CP.ITEM_SHNUM),出库金额=SUM(CP.ITEM_MON) '+
     'FROM CKD_M CM LEFT JOIN CKD_P CP ON CP.CKD_NO=CM.CKD_NO WHERE 2>1 ';
  P:=' GROUP BY CKD_TIME ';
  if (Trim(copy(DBDateTimeEditEh1.Text,0,1))<>'') and (Trim(copy(DBDateTimeEditEh1.Text,0,1))<>'') then
  S:=S+ ' and CM.CKD_TIME>='''+DBDateTimeEditEh1.Text+''' and CM.CKD_TIME<='''+DBDateTimeEditEh2.Text+'''';
  with DM.CKCHART_ADOQ do
  begin
    Close;
    SQL.Clear;
    SQL.Add(S+' '+p);
  end;
  Series1.Active:=true;
  Series1.YValues.ValueSource:=ComboBox2.Text;
  DM.CKCHART_ADOQ.Open;

end;

procedure TCKCHART_Form.BitBtn2Click(Sender: TObject);
begin
chartpreview(self,dbchart1);
end;

procedure TCKCHART_Form.BitBtn3Click(Sender: TObject);
begin
  DBDateTimeEditEh1.Clear;
  DBDateTimeEditEh2.Clear;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?