【delphi开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学会员整理了delphi开源代码-MC_DCFXT.PAS的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
unit MC_DCFXT;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
TeEngine, Series, TeeProcs, Chart, ExtCtrls,Db, DBTables, ComCtrls, StdCtrls, Grids, Buttons,
ImgList, DBGrids;
type
TDCFXT = class(TForm)
Query1: TQuery;
GroupBox1: TGroupBox;
Panel1: TPanel;
GroupBox2: TGroupBox;
TreeView1: TTreeView;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
Label1: TLabel;
Label2: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
ImageList1: TImageList;
DBGrid1: TDBGrid;
Panel2: TPanel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Query2: TQuery;
DataSource1: TDataSource;
Query2BDEDesigner: TIntegerField;
Query2BDEDesigner2: TStringField;
Query2BDEDesigner3: TIntegerField;
Query2BDEDesigner4: TStringField;
Query2BDEDesigner5: TStringField;
Query2BDEDesigner6: TStringField;
Query2BDEDesigner7: TIntegerField;
Query2BDEDesigner8: TFloatField;
Query2BDEDesigner9: TFloatField;
Query2BDEDesigner10: TDateTimeField;
Query2BDEDesigner11: TDateTimeField;
Query2BDEDesigner12: TIntegerField;
Query2BDEDesigner13: TStringField;
Query2BDEDesigner14: TStringField;
Query2BDEDesigner15: TIntegerField;
Query2BDEDesigner16: TStringField;
Query3: TQuery;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure TreeView1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
ZJ:String;
List1:TTreeNode;
{ Private declarations }
public
{ Public declarations }
end;
var
DCFXT: TDCFXT;
implementation
{$R *.DFM}
procedure TDCFXT.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DCFXT.Release;
DCFXT:=Nil;
end;
procedure TDCFXT.FormShow(Sender: TObject); //初始化树状视图组件
var List:Array[0..5] of TTreeNode;
A,b:integer;
begin
Query1.Open;
while not Query1.Eof do //将菜系名称用树状视图组件显示
begin
List[0]:=TreeView1.Items.AddChild(TreeView1.Items[0],Query1.FieldByName('菜系名称').AsString); //创建子节点
List[0].ImageIndex:=1; //指定图片
List[0].SelectedIndex:=1;
Query1.Next;
end;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select * From 菜谱费用信息表'); //选择菜谱
Query1.Open;
While not Query1.Eof do //将菜谱菜名作为菜系名称的子节点
begin
For a:=0 to TreeView1.Items[0].Count-1 do //将菜谱指定到所属菜系节点下
begin
if TreeView1.Items[0].Item[a].Text=Query1.FieldByName('菜系类别').AsString then
begin
List[0]:=TreeView1.Items.AddChild(TreeView1.Items[0].Item[a],Query1.FieldByName('菜名').AsString);
List[0].ImageIndex:=2; //指定图片
List[0].SelectedIndex:=2;
Break;
end;
end;
Query1.Next;
end;
DateTimePicker1.Date:=Date-365; //设置默认时间段为一年
DateTimePicker2.Date:=Date; //设置结束日期为
系统日期
List1:=TreeView1.Items[0];
ZJ:='ALL';
TreeView1.Items[0].Expanded:=True; //显示菜系节点
end;
procedure TDCFXT.TreeView1Click(Sender: TObject); //选择分析内容
begin
List1:=TreeView1.Selected;
if List1.ImageIndex=0 then ZJ:='ALL'; //选择根节点
if List1.ImageIndex=1 then ZJ:=List1.Text; //选择菜系节点
if List1.ImageIndex=2 then ZJ:=List1.Text; //选择菜普节点
end;
procedure TDCFXT.BitBtn1Click(Sender: TObject); //统计点菜信息
begin
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('Select * From 点菜历史信息表'); //选择点菜历史信息表
If List1.ImageIndex = 0 Then //选择根节点
begin
Query2.SQL.Add('where 类型 in (Select 菜系名称 From 菜系类别信息表 )'); //选择菜系
Query2.SQL.Add('and 结单日期 >= :A and 结单日期 <= :B ORDER BY 结单日期 ASC'); //设置分析时间
Query2.ParamByName('A').AsDateTime:=DateTimePicker1.DateTime;
Query2.ParamByName('B').AsDateTime:=DateTimePicker2.DateTime;
Query2.Open;
Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Add('Select Count(DisTinCt 房间台号),Sum(数量),Sum(合计) From 点菜历史信息表'); //汇总点菜信息
Query3.SQL.Add('where 类型 in (Select 菜系名称 From 菜系类别信息表 )');
Query3.SQL.Add('and 结单日期 >= :A and 结单日期 <= :B'); //设置汇总时间段
Query3.ParamByName('A').AsDateTime:=DateTimePicke